Daten verwalten in Wikis?
Foswiki/Twiki im Unternehmenseinsatz
CLUG – 12. Februar 2010 – Thomas Mäder
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
Wiki-Anwendung (bisher)
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◦ …
Erweiterung der Möglichkeiten
Beispiel - Lieferantendaten
Umsetzung – Wie geht’s?
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: | <select name="Kooperationstyp"> <option value="Lieferant"> Lieferant </option> <option value="Kooperationspartner"> Kooperationspartner </option> <option value="Projektpartner"> Projektpartner </option> <option value="sonstiger Partner "> sonstiger Partner </option> </select> ||||^| Bemerkungen: | <input type="text" name="Bemerkungen" size="80" class="foswikiInputField" /> <input class="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>
%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 1
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“<option value="Lieferant"> Lieferant </option>◦ Formularfeld = Auswahlfeld
Eingabeformular – Funktionen 2
<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
Eingabeformular – Funktionen 3
<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 1 (templatetopic)
Topic-Vorlage 2 (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 3 (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
Topic-Vorlage 4 (templatetopic)
<input type="hidden" name="formtemplate" value="PartnerForm" />
◦ Anlegen eines extra Topic (hier: „PartnerForm“) erforderlich
◦ ist Maske für die DataForm
Form-Vorlage 1 (formtemplate)
Tabelle mit definierten Spalten wichtig - Eintrag in WebPreferences:
* Set WEBFORMS = TestForm, PartnerForm
Form-Vorlage 2 (formtemplate)
| *Name* | *Type* | *Size* | *Values* | *Tooltip message* | *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,in Kooperation,gemeinsame Bearbeitung eines Projektes, regelmäßige Bestellungen,Kontakt abgebrochen | | |
| Bemerkungen | text | 100 | | Bemerkungen zur Partnerinstitution (mögliche Leistungen, Lieferprogramm, Profil) | |
Form-Vorlage 3 (formtemplate)
%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
Eingabeformular – Funktionen 4
verknüpfte Suche über Formular Erstellung von Übersichtstabellen mittels
Suchfunktion
Suchfunktionen
---++ Lieferant suchen<form action="%SCRIPTURLPATH{"view"}%/%WEB%/%TOPIC%">| <select name="cat1" value="%URLPARAM{"cat1" encode="entity"}%"> <option value="Name">
Firma: </option> <option value="Ansprechpartner"> Ansprechpartner: </option> <option value="Kooperationstyp"> Kooperationstyp: </option> <option value="Bemerkungen"> Bemerkungen: </option> </select> | Operator | <select name="cat2" value="%URLPARAM{"cat2" encode="entity"}%"> <option value="Ansprechpartner"> Ansprechpartner: </option> <option value="Kooperationstyp"> Kooperationstyp: </option> <option value="Bemerkungen"> Bemerkungen: </option> <option value="Name"> Firma: </option> </select> |
| <input type="text" name="search1" size="30" value="%URLPARAM{"search1" encode="entity"}%" /> | <select name="bool1" value="%URLPARAM{"bool1" encode="entity"}%"> <option value="AND">AND</option> <option value="OR">OR</option> <option value="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 1
---++ Ü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, ...) |" }%
Suchfunktionen – Quellcode 2
FWsystem/Macros FWsystem/TemplateTopics FWsystem/DataForms FWsystem/AnApplicationWithWikiForm FWsystem/FormattedSearch FWsystem/VarSEARCH FWsystem/QuerySearch FWsystem/TablePlugin
Hilfreiche Beschreibungen
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) [email protected]
zum Schluss…