220 likes | 318 Views
Daten verwalten in Wikis? . Foswiki / Twiki im Unternehmenseinsatz CLUG – 12. Februar 2010 – Thomas Mäder. Wiki-Anwendung (bisher). Sammeln und Verteilen von Informationen und Wissen Verbreitung von Neuigkeiten Kollaboration zur Abstimmung von Prozessen
E N D
Daten verwalten in Wikis? Foswiki/Twiki im Unternehmenseinsatz CLUG – 12. Februar 2010 – Thomas Mäder
Wiki-Anwendung (bisher) • Sammeln und Verteilen von Informationen und Wissen • Verbreitung von Neuigkeiten • Kollaboration zur Abstimmung von Prozessen • Content Management für Projektwebsiten • Verlinkung immer über Einfügen von Inhalten in den Topic – eingeschränkte Möglichkeiten für automatische Verlinkung
Erweiterung der Möglichkeiten • Dateneingabe per Formular • Speicherung von Daten • Durchsuchen von Daten über Formulare • Erhalt der bekannten Flexibilität • Beispielanwendungen: • Lieferanten/Projektpartner-Datenbanken • Gesprächsnotiz/Protokoll-Archive • Fehlerprotokolle • Ideenarchiv • …
Umsetzung – Wie geht’s? • Beispiel - Lieferantendaten
Eingabeformular • html-Formular • Textfelder • select-Felder • Übergabe von Inhalten mittels Variablen
Eingabeformular - Quellcode <form action="%SCRIPTURL%/edit%SCRIPTSUFFIX%/%WEB%/" method="get"> | *Neuer %BR% Lieferant:* | Institution: | <input type="text" name="Name" size="30" value="%URLPARAM{"Name" encode="entity"}%" /> | Ansprechpartner: | <input type="text" name="Ansprechpartner" class="foswikiInputField" size="30" /> | |^| Kooperationstyp: | <selectname="Kooperationstyp"> <optionvalue="Lieferant"> Lieferant </option> <optionvalue="Kooperationspartner"> Kooperationspartner </option> <optionvalue="Projektpartner"> Projektpartner </option> <optionvalue="sonstiger Partner "> sonstiger Partner </option> </select> ||| |^| Bemerkungen: | <input type="text" name="Bemerkungen" size="80" class="foswikiInputField" /> <inputclass="foswikiSubmit" type="submit" value="Erstellen"/> ||| <input type="hidden" name="topic" value="PartnerLieferantAUTOINC00001" class="foswikiInputField" /> <input type="hidden" name="templatetopic" value="KooperationsPartnerVorlage"/> <input type="hidden" name="formtemplate" value="PartnerForm" /> <input type="hidden" name="topicparent" value="%TOPIC%"/> <input type="hidden" name="onlywikiname" value="on" /> <input type="hidden" name="onlynewtopic" value="on" /> * __Bemerkung:__ %TWISTY{mode="div" showlink="Ein Kooperationspartner __muss__ zur Sortierung..." hidelink="Ausblenden" showimgleft="%ICONURLPATH{toggleopen-small}%" hideimgleft="%ICONURLPATH{toggleclose-small}%"}% Ein Kooperationspartner __muss__ zur Sortierung mit ==Partner== beginnen. =Name= ist durch eine kurze Bezeichnung des Partners zu ersetzen. Neue Kooperationspartner basieren auf der KooperationsPartnerVorlage und auf dem PartnerForm. %X% Zur korrekten Auswertung des Inhaltes müssen die ersten 7 Stichpunkte nur durch den entsprechend Inhalt ergänzt werden. %T% *Die Eintragung der Kooperationspartner auf dieser Seite erfolgt nach dem Speichern des erstellten Topics automatisch.* %ENDTWISTY% </form>
Eingabeformular – Funktionen 1 • %URLPARAM{"Name" encode="entity"}% • Übergabe des Zellinhaltes an Variable „Name“ • Verwendung der Variable um Inhalte der Seite und um Datenfelder zu füllen • %URLPARAM{"Name" encode="safe" default="Partner"}% • Ausgabe des Variableninhalts • „Partner“ als Default-Eintrag – wenn Variable ohne Inhalt • Ausgabe in Topic und in DataForm
Eingabeformular – Funktionen 2 • class=„foswikiInputField“ • Definition für Formularfeld, welches nur an DataForm Inhalte übergibt • name=„Ansprechpartner“ • Übergabe der Feldinhalte an DataForm-Zelle „Ansprechpartner“ • input type=„text“ • Formularfeld = Textfeld • input type=„select“<optionvalue="Lieferant"> Lieferant </option> • Formularfeld = Auswahlfeld
Eingabeformular – Funktionen 3 • <input type="hidden" name="topic" value="PartnerLieferantAUTOINC00001" class="foswikiInputField" /> • Vergabe des Topicnamen über verborgenes Feld • „AUTOINC00001“ – automatische Nummerierung des Topics, Anzahl der Nullen bestimmt die Anzahl der Stellen der Nummer • gut geeignet für Protokolle etc. • weitere Angaben: FWsystem.TemplateTopics • auch Einbau weiterer Variablen möglich, bspw. des Datums oder des Nutzers: • %GMTIME{"$ye$mo$day"}% • %USERINFO{ format=“$wikiname" }% • mehr Variablen: FWsystem.Macros
Topic-Vorlage 1 (templatetopic) • <input type="hidden" name="templatetopic" value="KooperationsPartnerVorlage"/> • Verwendung vorausgefüllter Topics um sich wiederholende Inhalte einzufügen • Anlegen eines eigenen Topics (hier: „KooperationsPartnerVorlage“) notwendig
Topic-Vorlage 3 (templatetopic) ---+!! %URLPARAM{"Name" encode="safe" default="Partner"}% %TWISTY{mode="div" showlink="Inhaltsverzeichnis..." hidelink="Ausblenden" showimgleft="%ICONURLPATH{toggleopen-small}%" hideimgleft="%ICONURLPATH{toggleclose-small}%"}% %TOC% %ENDTWISTY% • Einfügen der Hauptüberschrift mit dem Inhalt aus dem Formular mittels %URLPARAM{…}% • Ein-/Ausklappen des Inhaltsverzeichnis
Topic-Vorlage 4 (templatetopic) ---++ Geschäftsverkehr | *Vorgang zwischen* | *und dem(n) Projektmitglied(ern)* | *Art* | *Status* | *Kurzfassung + Link* | %SEA%NOP%RCH{web="IWW,IWW.AGVerbundwerkstoffe,IWW.AGElektrochemie" type="query" "GeschaeftsVorgangForm[name='Institution'].value~'*%URLPARAM{"Name" encode="safe"}%*' " nonoise="on" reverse="on" format="| $formfield(Partner) | $formfield(Gruppenmitglieder) | $formfield(Art_des_Vorgangs) | $formfield(Status) | [[$to%NOP%pic][$formfield(Kurzfassung)]] |"}% • Einbau von Suchfunktionen und Formularen
Form-Vorlage 1 (formtemplate) • <input type="hidden" name="formtemplate" value="PartnerForm" /> • Anlegen eines extra Topic (hier: „PartnerForm“) erforderlich • ist Maske für die DataForm
Form-Vorlage 2 (formtemplate) • Tabelle mit definierten Spalten • wichtig - Eintrag in WebPreferences: * Set WEBFORMS = TestForm, PartnerForm
Form-Vorlage 3 (formtemplate) | *Name* | *Type* | *Size* | *Values* | *Tooltipmessage* | *Attributes* | | Name | text | 80 | %URLPARAM{"Name" encode="safe" default="Partnername"}% | Name der Partnerinstitution | | | Ansprechpartner | text | 80 | | Name der/des Ansprechpartner/s | | | Kontakt | text | 80 | Tel.: [[https://mouse.hrz.tu-chemnitz.de/ccm/dial.php?dest=0&opt=1][...]] | Telefonnummer und Email | | | Kooperationstyp | select | 1 | Kooperationspartner,Projektpartner,Lieferant,sonstiger Partner | Typ der Partnerinstitution | | | aktueller Status | select | 1 | in Diskussion,aktiv,inKooperation,gemeinsame Bearbeitung eines Projektes, regelmäßige Bestellungen,Kontakt abgebrochen | | | | Bemerkungen | text | 100 | | Bemerkungen zur Partnerinstitution (mögliche Leistungen, Lieferprogramm, Profil) | |
Eingabeformular – Funktionen 4 • %TWISTY{mode="div" showlink="Ein Kooperationspartner __muss__ zur Sortierung..." hidelink="Ausblenden„showimgleft="%ICONURLPATH{toggleopen-small}%„hideimgleft="%ICONURLPATH{toggleclose-small}%"}% Ein Kooperationspartner … %ENDTWISTY% • Plugin zum Ein- u. Ausblenden von Seiteninhalt
Suchfunktionen • verknüpfte Suche über Formular • Erstellung von Übersichtstabellen mittels Suchfunktion
Suchfunktionen – Quellcode 1 ---++ Lieferant suchen <form action="%SCRIPTURLPATH{"view"}%/%WEB%/%TOPIC%"> | <selectname="cat1" value="%URLPARAM{"cat1" encode="entity"}%"> <optionvalue="Name"> Firma: </option> <optionvalue="Ansprechpartner"> Ansprechpartner: </option> <optionvalue="Kooperationstyp"> Kooperationstyp: </option> <optionvalue="Bemerkungen"> Bemerkungen: </option> </select> | Operator | <selectname="cat2" value="%URLPARAM{"cat2" encode="entity"}%"> <optionvalue="Ansprechpartner"> Ansprechpartner: </option> <optionvalue="Kooperationstyp"> Kooperationstyp: </option> <optionvalue="Bemerkungen"> Bemerkungen: </option> <optionvalue="Name"> Firma: </option> </select> | | <input type="text" name="search1" size="30" value="%URLPARAM{"search1" encode="entity"}%" /> | <selectname="bool1" value="%URLPARAM{"bool1" encode="entity"}%"> <optionvalue="AND">AND</option> <optionvalue="OR">OR</option> <optionvalue="AND NOT">AND NOT</option> </select> | <input type="text" name="search2" size="30" value="%URLPARAM{"search2" encode="entity"}%" /> | <input type="submit" class="foswikiSubmit" value="Suche" /> </form> *Suchergebnis:* | *Lieferant + Link* | *Ansprechpartner* | *Kooperationstyp* | *Bemerkungen* | %SEARCH{"PartnerForm[name="%URLPARAM{"cat1" encode="quote" default="Name"}%"].value~'*%URLPARAM{"search1" encode="quote" default="xyz"}%*' %URLPARAM{"bool1" encode="quote" default="AND"}% PartnerForm[name="%URLPARAM{"cat2" encode="quote" default="Ansprechpartner"}%"].value~'*%URLPARAM{"search2" encode="quote" default="xyz"}%*'" type="query" web="IWW.AGVerbundwerkstoffe,IWW,IWW.AGElektrochemie" topic="PartnerLieferant*" format="| [[$web.$topic][$formfield(Name)]] | $formfield(Ansprechpartner) | $formfield(Kooperationstyp) | $formfield(Bemerkungen) |" nosearch="on" }%
Suchfunktionen – Quellcode 2 ---++ Übersicht - Data Form %TABLE{ sort="on" initsort="1" cellpadding="4" cellspacing="3" cellborder="0" headerbg="#D5CCB1" headercolor="#666666" databg="#FAF0D4, #F3DFA8" }% | *Partner + Link zum Topic* | *Hauptansprech- <br> partner* | *Kontakt* | *Partnertyp* | *aktueller Status* | *Bemerkungen* | %SEARCH{ type="query" "PartnerForm[name='Kooperationstyp'].value='Lieferant'" nosearch="on" noheader="on" nototal="on" nosummary="on" web="IWW,IWW.AGVerbundwerkstoffe,IWW.AGElektrochemie" format="|$formfield(Name) [[$web.$topic][>>>]] | $formfield(Ansprechpartner) |$formfield(Kontakt) |$formfield(Kooperationstyp) |$formfield(aktueller Status) |$formfield(Bemerkungen, 70, ...) |" }%
Hilfreiche Beschreibungen • FWsystem/Macros • FWsystem/TemplateTopics • FWsystem/DataForms • FWsystem/AnApplicationWithWikiForm • FWsystem/FormattedSearch • FWsystem/VarSEARCH • FWsystem/QuerySearch • FWsystem/TablePlugin
zum Schluss… • Vielen Dank für die Aufmerksamkeit! • Ich freue mich auf Eure Fragen. • Quellcode gebe ich gern weiter. • Kontakt unter: • http://www.tmsun.de (Veröffentlichung) • tom@tmsun.de