Xpert.press
Die Reihe Xpert.press vermittelt Professionals in den Bereichen Softwareentwicklung, Internettechnologie und IT-Management aktuell und kompetent relevantes Fachwissen über Technologien und Produkte zur Entwicklung und Anwendung moderner Informationstechnologien.
Anja Ebersbach · Markus Glaser · Richard Heigl Alexander Warta
WIKI Kooperation im Web Zweite Auflage
Mit einem Vorwort von Gunter Dueck
123
Anja Ebersbach Ostengasse 10 93047 Regensburg
[email protected] Richard Heigl Ostengasse 10 93047 Regensburg
[email protected] Markus Glaser Ostengasse 18 93047 Regensburg
[email protected] Alexander Warta Korntaler Str. 74 70439 Stuttgart
[email protected] Disclaimer: This eBook does not include the ancillary media that was packaged with the original printed version of the book.
ISBN 978-3-540-35110-8
e-ISBN 978-3-540-35111-5
DOI 10.1007/978-3-540-35111-5 ISSN 1439-5428 Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar. © 2005, 2008 Springer-Verlag Berlin Heidelberg Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland vom 9. September 1965 in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtsgesetzes. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten waren und daher von jedermann benutzt werden dürften. Einbandgestaltung: KünkelLopka, Heidelberg Printed on acid-free paper 987654321 springer.com
Vorwort
Ein Buch über Wikis! Das braucht der Mensch. Denn mit der Wiki-Technologie können viele Menschen freibestimmt gemeinsam arbeiten – sie können sogar ganz große Werke im intellektuellen Bereich errichten. Sehen Sie: Wir bewundern heute noch unsere gewaltigen Kirchenbauten, die jeweils über Jahrhunderte entstanden, immense Arbeitskraft verschlangen und oft den kulturellen Stempel aller ihrer Entstehungsepochen trugen. Jemand muss damit nur beginnen, Stein auf Stein setzen und die Menschen in der Umgebung in Sehnsucht versetzen, ein wenig mitzuhelfen. Wo solche begeisterten Mitmenschen helfen und Material stiften, kann Großes entstehen. Wo sie fernbleiben? Da bleibt eine kleine Ruine zurück oder es braucht den eisernen Willen des Pharaos, eine Armee von Antreibern, den Schweiß eines Volkes und einen Berg von Gold. Auch so entsteht Großes – die Pyramiden: ein klares Konzept, kein Gemisch der Stile, purer Wille. Das sind zwei ganz verschiedene Wege. Der eine: Menschen bauen aus Sehnsucht liebevoll gemeinsam etwas für alle. Der andere: Ein Wille managt vielfältige Ressourcen zu einem geplanten Ziel. Wikis sind Werkzeuge, mit denen viele Menschen mit einem Minimum an Organisation, Planung, Geld und Zeitvorgaben über verteilte Computer hinweg oder über das Internet etwas gemeinsam erarbeiten und miteinander kommunizieren können. Wikis sind die Technologie für den ersten Weg der Freiwilligen mit einer gemeinsamen Idee. Dieses Buch stellt Ihnen Wikis vor und vermittelt Ihnen genug Rüstzeug, um Ihr eigenes Wiki zu erstellen, Ihre eigene Arbeitsplattform. Dieses Buch führt Sie aber auch in die lebhafte Diskussion ein, was man mit Wikis tun kann und wozu man sie lieber nicht „vergewaltigen“ sollte. Es ist die spannende Frage der beiden Treibfedern zu einem großen Werk: Begeisterung und Wille.
Vorwort
V
Lassen Sie es mich anekdotisch verdeutlichen. Ich bekam vor einiger Zeit auf meine Bücher hin einen Leserbrief. Jemand schrieb, er habe meinen Namen in das Internetlexikon Wikipedia eingefügt. Er habe nur vorläufig ein paar Daten über mich eingegeben und werde weiter daran arbeiten. Ich war mächtig stolz, dass ich nun in einem Lexikon stehen sollte und schaute sofort im Internet unter „Gunter Dueck“ nach, fand aber nichts. Ich fand seltsame Meldungen, es habe ein Artikel zu meinem Namen existiert, der aber gestrichen wurde. Der besagte Leser war wütend, versuchte es nochmals, der Artikel wurde wiederum gelöscht. Ein weiterer „Mensch“ verfasste Tage später etwas Vernünftiges. Das blieb einige Tage im Internet, verschwand aber wieder wegen angeblichen Verletzungen der Urheberrechte. Ich suchte jetzt – wach geworden – nach der MailAdresse dessen, der alles löschte. Ich schrieb: „Hey, warum?“ Antwort: „Das Bild verletzt sicher das Copyright, der Text wohl auch. Ich bin einer der Autorisierten, die sich um die Qualität und das Recht kümmern.“ Ich argumentierte: „Das Bild hat meine Tochter Anne im Garten aufgenommen, ich schenke es allen. Und der Text ist vom Rücken meiner Bücher abgeschrieben. Das erlaube ich.“ Drei Stunden später war „mein“ Eintrag wieder online. Jetzt zittere ich immer, ob der Artikel verunstaltet wird oder gelöscht. Verstehen Sie mich? Jeder x-Beliebige kann mit mir machen, was er will! Wenn das so ist – stimmt denn das alles, was in Wikipedia steht? Kann ich es als ebenso offizielles Wissen auffassen wie das im Duden? Zahlt mir jemand Schadenersatz, wenn ich durch falsche Wikipedia-Einträge eine Wette oder einen wissenschaftlichen Ruf verliere? Fragen über Fragen an die von selbst wachsende Vielfalt! Sie können es natürlich auch positiv sehen: „Das Wiki lebt!“ Es verändert sich, entsteht, wächst – das Unkraut aber muss gejätet werden, der Garten wird vor Dieben schützt (Lexikon-Vandalismus). Wikipedia ist eines der wirklich riesigen Wiki-Projekte. Zehntausende schreiben an einem intellektuellen Monument. Viele Meister laufen herum und finden es heraus, wenn jemand pfuscht. Controller prüfen, ob die Bauvorschriften eingehalten werden. Jeder darf mitmachen, wann und wie er will. Kein Zeitdruck, kaum Vorschriften, keinen Lohn für das Freiwillige – nur tiefe Befriedigung, etwas beigetragen zu haben. „Ein Stein der Pyramide ist von mir!“, würde ein Wikipedia-Autor vielleicht sagen?! Für alle solche Vorhaben vieler Freiwilliger sind Wikis bestens geeignet. Wollen Sie die Eltern der Schüler des Gymnasiums Bammental verbinden? Alle Mitglieder eines Sportvereins? Alle Astronomen dieser Welt? Alle Linux-Freaks Ihrer Firma? Wollen Sie
VI
Vorwort
etwas in Gemeinschaft mit anderen erstellen? Eine Gemeinschaft unterhalten? Ein Wiki muss her! Aber welches? Das beste! Heute – ich habe gerade nachgeschaut – steht auf der deutschen Hauptseite von Wikipedia: „Wir haben die Software gerade auf MediaWiki 1.4 umgestellt. Bitte berichten Sie bei Problemen hier…“ Dieses Buch stellt Ihnen die Wiki-Technologie ebenfalls an Hand der Open Source Software MediaWiki vor, die Sie vom Internet downloaden können. Wenn Sie also für Ihr Projekt auch MediaWiki einsetzen, sind Sie auf der sicheren Seite und es arbeiten viele Freiwillige an den Folgeversionen „Ihrer“ Software, das ist ja klar! Wenn Sie aber wirklich mehr wollen, also – sagen wir – alles, dann wird Ihnen hier auch die High-End-Software TWiki ausführlich vorgestellt. Die kann viel, viel mehr – alles eben, was heute technisch geht – sie bietet ein Füllhorn voller Zusatzfunktionen von Präsentieren über Zeichnen bis Rechnen. Und wie das so ist, oben, in den technischen Höhen, wo alles möglich ist – da werden Sie ein bisschen mehr Mühe beim Installieren haben, denke ich doch, und geübter in der Bedienung sein müssen. Was ist das beste Wiki? „Der Standard!“, rufen die einen und „Extreme Wiki!“ die anderen. Und wie immer haben beide Recht. Ein Wiki also? Kein Problem mit diesem Buch! Es wird aber auch ernsthaft diskutiert, was ein Wiki derzeit nicht leisten kann und besser nicht zu leisten versuchen sollte. Ein Wiki sollte nicht wirklich für „den zweiten Weg“ vergewaltigt werden. Der zweite Weg wäre, aus einer Gemeinschaftsarbeit spontaner Begeisterter „endlich einmal ein richtiges Projekt“ zu machen. Ein Plan muss her! Es wird eingeteilt, wer was wann macht! Wir führen Listen, wer wie viel geleistet hat! Wir kontrollieren den Fortschritt und definieren die Ziele! Wir machen alles effizient und verschwenden kein Geld! Muss es immer die neueste Software sein? Geht es preisgünstiger? Stellen Sie sich vor, ein Unternehmen würde Wikipedia aufbauen. Dann gäbe es so etwas wie den Willen des Pharao. Es würde ein Plan der notwendigen Wörter erstellt. Die Wörter würden nach Wichtigkeit priorisiert, nach den vorhandenen Fachkräften, nach der Schwierigkeit, neue Einträge zu schreiben. Manager würden fieberhaft nach Quellen suchen, wo etwas abgeschrieben oder wo etwas mehrfach genutzt werden könnte. Sie würden den Lohn für Einträge festsetzen und die Schnelligkeit der Arbeit überwachen. Die einst Freiwilligen würden schauen, wie sie alles schnell hinbekommen – ohne Liebe zum Detail, schnell eben und nach Plan und nach der jeweiligen Entlohnung. Das wäre der Weg des „Projektes“ und der Effizienz. Eine Pyramide wird nach Plan und nach Termin gebaut. Sie wird ganz
Vorwort
VII
gleichmäßig und ohne Makel – nichts ist spontan! Nichts ist freiwillig. Alles ist der zentrale Wille: Das Projektziel. MediaWiki aber lädt nur Freiwillige zur Mitarbeit ein! Die WikiTechnologien teilen keine Arbeit ein oder messen die Leistungen. Sie bestrafen keine Minderleistungen oder Fehler. Sie organisieren keine Abläufe. Wenn Sie also ein Wiki für sich bauen, sollten Sie wissen, was ein Wiki kann und was es nicht können wird. Es kann aus vielem Freiwilligem Schönes, Gemeinsames oder Großes schaffen. Es kann aber nicht wirklich als Werkzeug eingesetzt werden, einen fremden Willen effizient durchzusetzen. Die Autoren dieses Buches bieten eine frische Einführung. Sie scheuen keine Diskussion über die Pro’s und Con’s der Wikis. Sie diskutieren die heutige Argumentationslage in vielen liebevollen Details. Das Buch hat vom Stil her etwas Einladendes – es ist sehr sachlich geschrieben, aber auch irgendwie anziehend. Ich habe mir beim Lesen die Autoren wie die herzensmotiviertesten aller WikiFütterer vorgestellt. Sie schreiben: Ein Buch über Wikis! Und in ihnen ist ganz gewiss: Das braucht der Mensch.
Gunter Dueck
VIII
Vorwort
Vorwort, das zweite – diesmal praktisch ins Blaue
Zur zweiten Auflage ein zweites Vorwort – denn ich bin jetzt viel klüger in der Sache geworden. Das kam so: Als Wikipedia-Fan habe ich bei der IBM immer wieder gesagt, wir müssten so etwas intern haben. IBM hat Millionen von Seiten im Intranet, worin wir im Prinzip alles finden könnten. Aber als Einstieg einfach einen Lexikoneintrag mit ein paar Links? Das wäre etwas. Und alle sagten: „Ja, ja.“ Ende 2006 sprach mich ein Executive der IBM an, er finde die Idee gar nicht so schlecht. „Geben Sie mir etwas Geld zum Programmieren?“, erwiderte ich und bekam die Antwort: „Wenn ich wüsste, ob es wirklich in der IBM von den Leuten gewollt wird, vielleicht.“ – „Es wird gewollt.“ – „Können Sie es beweisen?“ Ich schrieb also einen Artikel im IBM Intranet mit dem Titel Ich hätt’ so gern ein Wikipedia und bat darin um Feedback. Huuih, es war der erste Tag in meinem Leben, wo ich so viele Mails bekam, dass ich nur pauschal dankte, aber nicht antworten konnte – so viel Begeisterung überflutete meine Mailbox. „Na, bekomme ich nun ein bisschen Geld für ein Projekt?“ – „Und wie wollen Sie das hinbekommen? Kann ich einen Plan sehen?“ Ich heiße in der IBM Wild Duck oder Wild Dueck, so wie Querkopf. Meine Projekte sind gut, haben aber keinen Plan, weil mich das stört. Ich mag lieber nach Visionen arbeiten und nicht nach Plänen! Das habe ich ja schon indirekt im ersten Vorwort geschrieben. Ich will anfangen! Nur mit großer Vision anfangen! Und dann kommen schon andere hinzu und helfen mit. Ich bin ganz bestimmt kein Pharao und befehle das Anschleppen von Steinen für die Pyramide. So macht man keine Wikipedia! Lesen Sie doch alle mein
Vorwort, das zweite – diesmal praktisch ins Blaue
IX
erstes Vorwort! … Ich bekam also die Projektmittel zum Beginnen. Aber wer soll mir das MediaWiki installieren? Ich hatte natürlich nicht vergessen, dass ich zu diesem Buch ein Vorwort geschrieben hatte. Da dachte ich bei mir, ich rufe jetzt einfach bei den Autoren des Buches an. Mit ein bisschen Glück würden sie noch am Schlussstrich ihrer Promotion arbeiten und ich „stelle sie gleich bei IBM ein“. Oder sie gründen eine Firma und wir bauen gemeinsam eine IBM Wikipedia und liefern anschließend Wikipedias professionell an alle Firmen und bauen in dieser Weise ein ganzes Web 2.0 Business in Deutschland auf. Ich rief also an… Sie hatten schon eine Firma Hallo Welt! gegründet, die als Business Web 2.0 an alle liefert. Wir setzten uns im Wohnzimmer meines Hauses in Waldhilsbach ein erstes Mal für ein Vorgehen zusammen – sprühten vor Ideen und begannen bald den Aufbau. Wie? Genauso so wie „man das machen muss“. Auf einen Aufruf im IBM Intranet hin meldeten sich ca. dreißig freiwillige IBMer und boten an, in ihrer Freizeit mitzuhelfen. Einmal in der Woche besprachen wir alles in einer Telefonkonferenz. Wer mag wann was tun? Wir verteilten Aufgaben. Ein Herrscher, Manager oder Pharao sagt, bis wann etwas von wem zu tun IST. Im Web 2.0 wird gefragt, wann wer etwas tun mag. (Ich wiederhole das nur noch einmal ganz penetrant, es geht hier um dieses andere ArbeitsModell 2.0, verstehen Sie? Ehrenamtliche Arbeit folgt anderen Gesetzen als ein gemanagtes Projekt.) Wir dachten uns gemeinsam einen schönen Namen für die Enzyklopädie von Big Blue IBM aus. Die Abstimmung ergab den Namen Bluepedia. Bluepedia wurde März/April 2007 installiert, wir begannen als kleines Team, die ersten beispielhaften Einträge abzufassen. Nebenbei erzählten wir allen erreichbaren KollegInnen in IBM, dass wir an einem absolut geheimen Wikipedia-Projekt arbeiten. Wir ernteten Kommentare. „Wir haben schon so etwas an 100 verschiedenen Stellen und nun noch einmal? Ich habe schon vor zwei Jahren so etwas angeregt und auch schon eine Seite geschrieben! Was soll das? Darf da jeder was reinschreiben, sogar kompletten Mist. Ist das nicht gefährlich? Wie ist die Kontrolle? Wie ist der Plan? Wer macht das? Warum in Deutsch und nicht in Englisch? Waaaas? Beide Sprachen? Warum? Das ist Verschwendung! Muss man nicht in der IBM USA fragen, wie die zu dem Englischen stehen? Dürfen Freiwillige einfach etwas im Intranet machen? Wer hat die Erlaubnis gegeben?“ – Und ich fragte zurück; „Wenn es das schon hundert Mal gibt, warum darf ich nicht?“ Wer eine Neuerung einführen will, wird vom Immunsystem des Unternehmens erfasst. Die weißen
X
Vorwort, das zweite – diesmal praktisch ins Blaue
Blutkörperchen kommen. Pioniere werden erst mit „Das geht nicht!“ abgewehrt und später mit „Das gibt es schon.“ Wir sammelten aber auch begeisterte Mails von Mitarbeitern, die uns unterstützten und zum Teil halfen. Tatsächlich stellten wir fest, dass einzelne IBMer an vielen Stellen mit kleinen Web 2.0 Projekte begonnen hatten. Die Software war okay, ihre Pläne schön, aber sie hatten es allesamt nie als ganz-IBM-Community-Projekt angelegt. Web 2.0 ist immer groß und für alle! „Bluepedia ist deshalb ein Erfolg, weil hier ALLE mitschreiben, nicht nur ein paar Bekannte oder eine Abteilung!“, rief ich immer wieder. „Wir machen nicht etwas anderes, sondern wir machen das Richtige einmal als Community-Projekt richtig. Richtig – nicht anders! Jeden Morgen schaute das kleine Bluepedia-Team auf den Zähler der Hauptseite: „Bluepedia enthält jetzt 213 Einträge.“ Wir erarbeiteten einen ganzen Themenkatalog als Vorschlag, was wir alles in Bluepedia haben wollen. „Alles.“ Hardware, Präsentationen, Lagepläne, Abkürzungen, Beratungsmethoden, alles. Wer mag als ehrenamtlicher Hüter welchen Fachgebietes fungieren? („mag“!!) 450 Einträge. Ende Mai waren wir ganz zufrieden, wie alles aussah. Wir begannen, unsere Kollegen jeweils nebenan für Bluepedia zu interessieren. Die schrieben etwas zögerlich mit und sie lieferten uns wertvolle Verbesserungsvorschläge, die das Hallo Welt!-Team sofort umsetzte. Bluepedia reifte und wuchs. 567 Einträge. Im Juli 2007 rief ich im Intranet „alle“ zur Mithilfe auf (das wird von vielleicht 2.000 Kollegen gelesen, von denen dann einige hundert tatsächlich etwas tun). Wieder gab es eine nun aber kleinere Welle von „Darf man das?“. Aber der Aufruf schraubte die Anzahl der Einträge recht schnell bis Anfang August in die Gegend von 2000. Mitte August hielt ich eine Rede und zeigte auf einem Kongress online am Morgen unsere Bluepedia. Kurz vor einer Diskussion am Nachmittag kurz nochmals – da war der Zähler tatsächlich 25 Artikel höher! Ein Prozent Wachstum pro Tag? Wie geht es weiter? Das kann ich nicht sagen. Der Springer-Verlag will morgen mein Vorwort haben. Heute, am 19. August 2007, haben wir 2768 Einträge. In der letzten Woche bildeten wir ein amerikanisch-deutsches Team, das Ganze auf die weltweite IBM auszudehnen, die Begeisterung wächst überall. Ich „muss“ (wie man bei IBM oft sagt) erst noch in Urlaub und im September geben wir das Projekt erst über meinen General Manager offiziell bekannt. (Bis jetzt ist es ja noch gar nicht wirklich publik gegangen!). Dann geht es erst richtig aufwärts!
Vorwort, das zweite – diesmal praktisch ins Blaue
XI
Tja – wie es letztendlich ausgeht, kann ich jetzt nicht schreiben, aber Sie spüren sicher die Begeisterung, die wir mit den Autoren dieses Buches und den Anweisungen dieses Buches in die IBM tragen konnten. Das können Sie auch tun! Aber bitte, denken Sie daran: Es muss ein Community-Projekt sein, keines mit Aufpassern und Zählern. Uns reicht der Artikelzähler auf der Hauptseite alleine zum Begeistern aus. Wenn wir die Zahl sehen, wollen wir uns freuen und nicht stressen! Nehmen Sie also dieses Buch, eine Community und viel Begeisterung und begeben Sie sich in die Welt des Web 2.0 … mit Wikis aller Art für eine neue Ära in Ihrem Unternehmen oder in Ihrer Umgebung. Gunter Dueck
XII
Vorwort, das zweite – diesmal praktisch ins Blaue
Die Autoren
Anja Ebersbach ist Informationswissenschaftlerin. Sie nimmt Lehraufträge an Universität und Fachhochschule wahr. Ihre Themenschwerpunkte sind kooperatives und kollaboratives Arbeiten im Netz, sowie kollektives Lernen. Weiter promoviert sie zum Thema „Wikis als Werkzeuge wissenschaftlichen Arbeitens“. Markus Glaser, ebenfalls Informationswissenschaftler, arbeitet vorwiegend als Web- und Applikationsprogrammierer. Hier ist er Spezialist für MediaWiki- und TWiki-Systeme. In seiner Doktorarbeit beschäftigt er sich mit politischer Meinungsbildung in kooperativen Medien. Dr. Richard Heigl, Historiker, arbeitete freiberuflich als Dozent, IT-Trainer und Moderator von Großgruppenseminaren (Open Space, Zukunftswerkstatt). Als Mitinhaber der Hallo Welt! – Medienwerkstatt GmbH ist er vor allem mit der Projektierung und Moderation von Wikiprojekten beschäftigt. Alexander Warta, Informationswissenschaftler, arbeitet als Doktorand in Stuttgart bei der Robert Bosch GmbH. Warta beschäftigt sich seit langem wissenschaftlich und praktisch mit Wissensmanagement in Betrieben. Er ist Spezialist für die Wiki-Software Confluence.
Die Autoren
XIII
Inhaltsverzeichnis
I.
Wiki!?
1
Das Wiki-Konzept ................................................................. 13 1.1 Was ist ein Wiki?........................................................... 13 1.2 Die Technik der Wikis................................................... 19 1.3 Charakteristische Wiki-Funktionen............................... 22 1.4 Wiki-Klone .................................................................... 24 1.5 Das Wiki-Phänomen...................................................... 26 1.5.1 Kreativität durch Gruppenprozesse ................ 27 1.5.2 Grenzen der Wiki-Philosophie........................ 33 1.6 Ein paar Wiki-Seiten...................................................... 38 1.7 Wichtige Ressourcen im WWW ................................... 39
II.
Unser erstes Wiki: MediaWiki
2
Die Installation....................................................................... 43 2.1 Eine Testumgebung mit XAMPP.................................. 44 2.1.1 XAMPP für Windows..................................... 44 2.1.2 XAMPP für Linux........................................... 46 2.1.3 Was passiert hier eigentlich? .......................... 46 2.2 MediaWiki installieren .................................................. 48 2.2.1 Variante 1: Lokales System ............................ 49 2.2.2 Variante 2: Installation auf einem Webhost.......................................... 50 2.2.3 Ein lokales System zum Webhost übertragen ................................ 50 2.2.4 Fertigstellen der Installation im Browser ....... 51
3
Erste Schritte ......................................................................... 55 3.1 Das Wiki auf den ersten Blick....................................... 55 3.2 Hello World ................................................................... 56
Inhaltsverzeichnis
XV
3.3 3.4 3.5
XVI
Erste Formatierungen..................................................... 59 Der kleine Unterschied: Versionen................................ 61 Als User anmelden......................................................... 62
4
Die Kernfunktionen des MediaWikis................................ 65 4.1 Bearbeiten....................................................................... 65 4.2 Diskutieren ..................................................................... 69 4.3 Vergleichen .................................................................... 70 4.4 Verschieben und Umbenennen...................................... 72 4.5 Beobachten..................................................................... 74 4.6 Schützen ......................................................................... 75 4.7 Löschen .......................................................................... 76
5
Formatierung ........................................................................ 79 5.1 Zeichenformatierung...................................................... 79 5.2 Sonderzeichen & Co. ..................................................... 80 5.3 Überschriften und Absätze............................................. 83 5.4 Listen und Linien ........................................................... 84 5.5 Tabellen .......................................................................... 86 5.6 Inhaltsverzeichnis........................................................... 90
6
Seitenübergreifende Strukturen......................................... 93 6.1 Methoden zur Verlinkung.............................................. 93 6.2 Organisation des Inhalts................................................. 97 6.3 Seitenübergreifende Gestaltung I - Bilder................... 103 6.4 Seitenübergreifende Gestaltung II – Templates .......... 111 6.5 Weiterleitungen mit Redirects ..................................... 119
7
Komponenten:die Funktionsseiten .................................. 121 7.1 Navigation .................................................................... 123 7.2 Suchfunktion ................................................................ 128 7.3 Nutzerverwaltung......................................................... 129 7.4 Informationen übers Wiki............................................ 135 7.5 Wartung........................................................................ 136
8
Administration .................................................................... 141 8.1 Filestruktur und LocalSettings.php.............................. 141 8.2 Datenbank-Struktur...................................................... 148 8.3 Design: Eigener Skin ................................................... 151 8.4 Design der Startseite mit -Tags und CSS....... 154 8.5 Spam............................................................................. 157 8.6 Sicherheit...................................................................... 159 8.7 Update und Deinstallation ........................................... 160
Inhaltsverzeichnis
9
Erweiterungen ...................................................................... 161 9.1 Bestehende Erweiterungen einbinden ......................... 161 9.2 Bots einsetzen .............................................................. 162 9.3 Exkurs: Eine eigene Erweiterung ................................ 163 9.3.1 Im Mediawiki programmieren...................... 164 9.3.2 Das Gerüst für Magic Words ........................ 166 9.3.3 Verarbeitung und Datenbank ........................ 168 9.4 Das HalloWiki ............................................................. 170
10
Leben im MediaWiki........................................................... 173 10.1 Mehr als nur Text......................................................... 173 10.2 Erleichtern Sie den Einstieg ........................................ 175 10.3 Sie schreiben nicht allein ............................................. 176 10.4 Anwendungsbeispiele.................................................. 179 10.4.1 Titelseite mit aktuellen Informationen.......... 179 10.4.2 Checkliste ...................................................... 179 10.4.3 Literaturdatenbank ........................................ 181 10.4.4 Kalender ........................................................ 182
III. TWiki, der Tausendsassa
11
TWiki installieren................................................................ 187 11.1 Installation unter Linux................................................ 188 11.1.1 TWiki kopieren ............................................. 189 11.1.2 Apache konfigurieren.................................... 189 11.1.3 Dateien anpassen........................................... 190 11.1.4 Konfigurationsdatei aufrufen........................ 191 11.2 TWiki ohne Admin-Account....................................... 191 11.3 Installation unter Windows.......................................... 193 11.3.1 Variante I: TWiki for Windows Personal................................... 193 11.3.2 Variante II: TWiki VMWare Virtual Machine ............................................ 194 11.3.3 Variante III: TWiki mit IndigoPerl............... 195 11.3.4 TWiki kopieren ............................................. 196 11.3.5 Apache konfigurieren.................................... 197 11.3.6 Perl-Module und Grep nachinstallieren........ 199 11.4 TWiki-Installation fertig stellen .................................. 199 11.5 TWiki-Seiten ansehen.................................................. 201
12
Arbeiten mit TWiki............................................................. 203 12.1 Was sind Webs?........................................................... 203 12.2 Eine Webseite .............................................................. 204
Inhaltsverzeichnis
XVII
12.2.1 Die Menüleiste............................................... 205 12.2.2 Die Informationsleiste ................................... 210 12.2.3 Die Funktionsleiste........................................ 210 12.3 Das Editierfenster......................................................... 216 12.3.1 Speichern ....................................................... 217
XVIII
13
Formatierung im TWiki .................................................... 221 13.1 Zeichenformatierung.................................................... 221 13.2 Tabellen ........................................................................ 224 13.2.1 Wiki-Konvention........................................... 224 13.2.2 Tabellen in HTML......................................... 226 13.2.3 Tabellen mit dem -Tag ............... 226 13.3 Links............................................................................. 227 13.4 Einbinden von Bildern ................................................. 228 13.5 HTML im TWiki.......................................................... 229 13.6 TWiki und JavaScript .................................................. 229 13.7 TWiki Variablen .......................................................... 230 13.8 Der WYSIWYG-Editor: Kupu .................................... 233
14
Die Suche im TWiki ........................................................... 239 14.1 Die Suchfunktion ......................................................... 239 14.2 Effektiv suchen............................................................. 241 14.3 Suchen mit regulären Ausdrücken............................... 242 14.4 Eingebettete Suche....................................................... 245
15
Strukturierte Daten mit Forms ........................................ 251 15.1 TWiki Forms ................................................................ 252 15.2 Ein Formular anlegen................................................... 253 15.3 Topics mit Formularen................................................. 256 15.4 Mit strukturierten Daten arbeiten................................. 258
16
Userrechte im TWiki.......................................................... 261 16.1 Authentifikation vs. Autorisierung .............................. 261 16.2 Useranmeldung aktivieren ........................................... 262 16.3 Passwortschutz einrichten............................................ 263 16.4 Zugangskontrolle ......................................................... 265 16.5 Strategien für Nutzerrechte.......................................... 269
17
TWiki administrieren ........................................................ 271 17.1 Webs verwalten............................................................ 271 17.1.1 Einrichten....................................................... 271 17.1.2 Umbenennen, Löschen, Archivieren ............ 273 17.1.3 RSS-Feeds ..................................................... 274
Inhaltsverzeichnis
17.2 17.3 17.4 17.5 17.6 17.7 17.8 18
Topic-Vorlagen............................................................ Interwiki-Links ............................................................ Nutzer verwalten.......................................................... E-Mail .......................................................................... Sicherheitsaspekte........................................................ Backup der Daten......................................................... Upgrade und Deinstallation .........................................
275 277 278 278 280 281 282
Gestaltung des TWikis........................................................ 285 18.1 Das Erscheinungsbild gestalten................................... 285 18.1.1 Funktionselemente ........................................ 287 18.1.2 Weitergehende Möglichkeiten...................... 293 18.2 Plugins und Add-ons.................................................... 296
IV. TWiki als Projektbaukasten
19
Vorüberlegung: Was ist ein Projekt? ................................ 301
20
Konzeptionsphase: Ideen sammeln und Projekt skizzieren........................................................ 305 20.1 Arbeitsgrundlagen festlegen ........................................ 305 20.2 Kooperativ Ideen sammeln und Projektskizze verfassen......................................... 307 20.3 Protokollieren mit Wikis ............................................. 310
21
Ausarbeitung des Projektplans ......................................... 313 21.1 Arbeitspakete schnüren................................................ 313 21.2 Der Projektablaufplan.................................................. 317 21.3 Aufgaben verteilen und Gruppen bilden ..................... 319 21.4 Strukturen und Abläufe skizzieren mit dem Zeichen-Plugin (TWikiDraw-Plugin)........... 321 21.5 Die Werkzeuge ............................................................ 323 21.6 To-do-Liste mit EditTable-Plugin ............................... 326 21.6.1 Formatierung der ganzen Tabelle ................. 326 21.6.2 Parameter....................................................... 327 21.6.3 Formatierung für einzelne Zellen festlegen.. 331 21.7 Kosten und Finanzen planen (Spreadsheet-Plugin) .... 333 21.7.1 Syntax ............................................................ 334 21.7.2 Wichtige Funktionen..................................... 336 21.7.3 Export/Import von Excel-Dateien................. 339
Inhaltsverzeichnis
XIX
XX
22
Veranstaltungsvorbereitung ............................................. 343 22.1 Veranstaltungsplanung................................................. 343 22.2 Konferenzanmeldung................................................... 344 22.2.1 Umbau der Standardanmeldung.................... 344 22.2.2 Gestaltung des Anmeldeformulars................ 345 22.2.3 Navigation ..................................................... 350
23
Veranstaltungsdurchführung und Dokumentation ...... 351 23.1 Im Veranstaltungsbüro................................................. 351 23.2 Teilnehmerverwaltung/Anmeldestand ........................ 352 23.2.1 Seite InterneVerwaltung................................ 352 23.2.2 Quittungen erstellen ...................................... 355 23.2.3 Teilnehmerliste .............................................. 357 23.3 Vorträge mit Präsentation (SlideShow-Plugin).......... 358 23.3.1 Die Syntax ..................................................... 359 23.3.2 Eigenes Template .......................................... 361 23.4 Statistiken mit Diagrammen visualisieren (Chart-Plugin) .............................................................. 365 23.4.1 Syntax ............................................................ 366 23.4.2 Diagrammtypen ............................................. 369 23.5 Letzte Schritte: Feedback und Dokumentation ........... 372
V.
Alles im Fluss: Confluence
24
Confluence installieren ....................................................... 377 24.1 Atlassian Software Systems......................................... 377 24.2 Lizenzen ....................................................................... 378 24.3 Architektur ................................................................... 378 24.4 Systemvoraussetzungen ............................................... 379 24.5 Installationsmöglichkeiten ........................................... 380 24.5.1 Standalone ..................................................... 380 24.5.2 EAR-WAR .................................................... 380 24.5.3 Cluster Installation......................................... 381 24.5.4 Confluence Hosting....................................... 381 24.6 Installation Standalone................................................. 382 24.6.1 Installation unter Windows ........................... 382 24.6.2 Installation unter Linux ................................. 387
25
Überblick.............................................................................. 391 25.1 Was sind Spaces? ......................................................... 391 25.2 Dashboard..................................................................... 391
Inhaltsverzeichnis
25.3 Page Überblick............................................................. 25.3.1 Orientierung und Suche ................................ 25.3.2 Userbereich.................................................... 25.3.3 Arbeitsbereich ............................................... 25.3.4 Page editieren ................................................
393 394 394 396 400
26
Formatierung........................................................................ 402 26.1 Unterscheidung Wiki Markup – Rich Text................. 402 26.1.1 Wiki Markup Editor ...................................... 402 26.1.2 Rich Text Editor (WYSIWYG).................... 403 26.2 Überschriften................................................................ 404 26.3 Textformatierung und –umbruch................................. 405 26.4 Links............................................................................. 406 26.5 Aufzählungen............................................................... 409 26.6 Einfügen von Bildern................................................... 409 26.7 Einfügen von Tabellen................................................. 410 26.8 Sonstiges ...................................................................... 411 26.9 HTML-Eingabe............................................................ 412
27
Organisation ......................................................................... 415 27.1 Browse Space – Navigation......................................... 415 27.1.1 Pages.............................................................. 415 27.1.2 Labels ............................................................ 418 27.1.3 Attachments................................................... 419 27.1.4 Mail................................................................ 420 27.1.5 News .............................................................. 420 27.1.6 Activity .......................................................... 422 27.1.7 Advanced....................................................... 423 27.1.8 Space Admin ................................................. 426 27.2 Volltextsuche ............................................................... 426 27.3 Berechtigungskonzept.................................................. 429 27.3.1 Global Permissions........................................ 429 27.3.2 Space Permissions......................................... 431 27.3.3 Page Restrictions........................................... 433 27.4 Notifications................................................................. 434 27.5 Drafts............................................................................ 435 27.6 Tiny Links.................................................................... 436
28
Einstellungen ........................................................................ 437 28.1 Space Admin................................................................ 437 28.1.1 Papierkorb – Wiederherstellung ................... 438 28.1.2 Übersicht "Restricted Pages" ........................ 438 28.1.3 Mail................................................................ 439 28.1.4 Look and Feel................................................ 439
Inhaltsverzeichnis
XXI
28.2 Confluence Admin ....................................................... 441 28.2.1 Configuration................................................. 442 28.2.2 Look and Feel ................................................ 446 28.2.3 Administration............................................... 446 28.2.4 Security .......................................................... 447 28.2.5 Beliebte Plugins............................................. 447 28.2.6 Ausblick: Plugin-Entwicklung...................... 452 28.2.7 Weitere Ressourcen zu Confluence .............. 452 VI. Werkzeuge mit Zukunft
XXII
29
Technische Herausforderungen ....................................... 457 29.1 Integration, Hybride und Mash-Ups............................ 457 29.2 Editoren ........................................................................ 458 29.3 Auf der Suche nach Standards..................................... 461
30
Einige Wiki-Projekte.......................................................... 465 30.1 Projekte der Wikimedia-Gruppe.................................. 465 30.1.1 Freie Datenbank: Wikimedia Commons ...... 465 30.1.2 Nachrichten „von unten“: Wikinews ............ 466 30.1.3 Eine WikiSuchmaschine?.............................. 468 30.2 Weitere Wiki-Welten ................................................... 469 30.2.1 Überblick ....................................................... 469 30.2.2 Subkulturen und Communities...................... 470 30.2.3 Reiseführer und lokale Wikis........................ 472 30.2.4 Wikis in Bildung und Wissenschaft.............. 473 30.3 Wikis im Unternehmen und Organisationen............... 474
31
Zur Kunst, Wikis zu „säen“............................................... 477 31.1 Gemeinsam schreiben .................................................. 477 31.2 Kollaborieren: Wikis als Projektwerkzeug.................. 479 31.2.1 Vorteile und Probleme von Wikis in Projekten.................................................... 479 31.2.2 Flache Hierarchien: Verhältnis von Moderation und Team............................ 481 31.2.3 Noch ein paar generelle Tipps....................... 484
32
Soziale Perspektiven ........................................................... 487 32.1 Wikis als Streitfall........................................................ 487 32.1.1 Wiki-Technologie als Motor gesellschaftlichen Wandels? ......................... 487 32.1.2 Wiki ein demokratisches Medium? .............. 491
Inhaltsverzeichnis
32.2 Eigentum ...................................................................... 32.3 Arbeitsformen .............................................................. 32.4 Objektivität................................................................... 32.4.1 Fortschritt?.....................................................
493 496 498 502
Anhang
A
Installationen rund ums TWiki.......................................... 507 Perl ......................................................................................507 Shebang RCS Eigentümer ändern.......................................... 509
B
Vergleichstabelle .................................................................. 511
Glossar ........................................................................................... 513 Literaturverzeichnis..................................................................... 521 Stichwortverzeichnis ................................................................... 525
Inhaltsverzeichnis
XXIII
Einleitung
Wieso ein Buch über Wikis? Vor einiger Zeit kam Anja begeistert von einer Tagung zu Technologie und sozialen Bewegungen aus München zurück. Dort wurde in einem Workshop von der Arbeit und Organisation mit Wikis berichtet. Ihre Begeisterung wird in der Zwischenzeit von vielen anderen geteilt. Die Popularität und Bekanntheit der kleinen Software ist vor allem ein Verdienst der Internetenzyklopädie Wikipedia. Doch auch zahlreiche Organisationen entdecken Wikis als einfaches und vielseitiges Tool für ihre Arbeit. Beispielsweise organisierten die Hacker des Berliner Chaos Computer Clubs damit ihre Tagung. Für uns war vor allem die Möglichkeit, Wikis als Organisationssoftware für kleine Gruppen zu nutzen, interessant. Wir waren neugierig geworden. Doch schon der Versuch, ein Wiki zu installieren, wurde zum Geduldsspiel. Informationen und Dokumentationen im Netz waren spärlich und verstreut. Ein Handbuch gab es nicht. Das einzige Buch zum Thema von Wiki-Erfinder Ward Cunningham war sehr informativ, aber für unsere Zwecke nicht ausreichend. Wir ahnten, dass man aus Wikis noch wesentlich mehr machen kann, als Texte kooperativ zu erarbeiten. Doch die Wiki-Welt ist ein wuchernder Dschungel mit politischen Diskussionen und einer rasanten technischen Entwicklung. Was fehlte, war ein Survival-Kit, eine praxisorientierte Einführung, die einen Weg durch diesen Dschungel vorschlägt. Sie halten hier eine erste Kartografie des Dschungels in den Händen. Sehen Sie sich um in der Wildnis und lernen Sie deren Bewohner kennen. Gestalten Sie Ihre Umgebung, indem Sie eigene Lager aufschlagen und neue Trampelpfade anlegen.
Für wen ist dieses Buch? Wir hatten beim Schreiben des Buches Leserinnen und Leser vor Augen, die schon ein wenig Computererfahrung haben und sich überlegen, ob sie mit einem Wiki arbeiten oder sogar mal ein eigenes installieren wollen. Zweifellos werden auch erfahrene Wiki-
Für wen ist dieses Buch?
1
Nutzer in dieses Buch schauen und wir sind sicher, dass vor allem der zweite Teil des Buches für sie von Interesse sein wird.
Zum inhaltlichen Konzept Aus der Vielzahl von Wikis haben wir drei Wikis ausgesucht, die wir Ihnen vorstellen wollen: Das weit verbreitete und einfachere MediaWiki, das TWiki als eine ambitionierte Wiki-Software und das kommerzielle Confluence: MediaWiki ist relativ einfach zu installieren und benutzerfreundlich in der Handhabung. Es bietet aber auch schon eine Reihe von Features, wie eine Nutzerverwaltung, und man kann es als einfaches aber gutes Kommunikations- und Organisationstool für Gruppen unterschiedlichster Größe nutzen. Kurz: ideal für den Einstieg. TWiki ist von der Installation her sehr anspruchsvoll und setzt gerade für den technischen Betrieb einiges an Können und Wissen voraus. Auch an die Benutzung des TWikis muss man sich erst gewöhnen. Doch für umfangreichere Projekte lohnt sich dieser Aufwand, weil es sehr viele Gestaltungsmöglichkeiten bietet. Confluence ist das bekannte System der australischen Firma Atlassian, die dieses Wiki mit einer Vielzahl an attraktiven Erweiterungen für Lizenzkosten an seine Kunden weitergibt. Es wird hauptsächlich im Intranet eingesetzt.
Der Steinzeitmensch vom Cover inspirierte uns für unsere Praxisbeispiele. Er und seine Sippe organisieren u. a. mit einem Wiki eine Konferenz im Neolithikum. Die Kombination der Technik des 21. Jahrhunderts und der Menschheit der ausgehenden Steinzeit ist sicher nicht immer konsistent, aber hoffentlich anschaulich und ein bisschen amüsant geworden. Im Vordergrund der Diskussionen um Wikis stehen die damit auftretenden sozialen Kommunikationsweisen. Insofern versucht das Buch auch hier ein wenig über den Tellerrand eines reinen Softwarebuchs zu schauen. Manchen wird der politische fünfte Abschnitt irritieren. Die Wiki-Communities haben, wie schon die FreieSoftware-Kultur vor ihnen, umfassende gesellschaftspolitische Diskussionen ausgelöst, die auf Tagungen wie der Wizards of OS oder
2
Einleitung
dem Chaos Communication Congress ausgetragen werden. Machen Sie es sich mit einem Glas Wein gemütlich und steigen Sie ein in die Debatte der dort behandelten Fragen. Scheuen Sie sich nicht, diese weiterzuspinnen. Wir sind sehr gespannt auf Ihre Reaktionen, Beiträge und Rückmeldungen und wollen diesen Debatten eine Plattform bieten.
Zur Benutzung des Buchs Das Buch ist so konzipiert, dass es von vorn nach hinten durchgearbeitet werden kann. Realistischer ist jedoch, dass sich die Leserinnen und Leser auf „ihre“ Kapitel stürzen. Dazu haben wir neben den Überschriften jeweils einen Hinweis angebracht, wie tief das jeweilige Kapitel in die Wiki-Software eingreift: Autoren brauchen weniger technische Vorkenntnisse als Wiki- und Webadmins. Neueinsteiger sollten mit den Abschnitten eins und zwei anfangen. Wiki!? gibt eine allgemeine Einleitung zu Wikis. Hier werden alle Fragen behandelt, die bei der ersten Konfrontation mit Wikis auftreten: Was sind Wikis? Wie funktionieren sie technisch? Wie erklärt sich das faszinierende Phänomen, dass offene Systeme nicht im Chaos enden? In Unser erstes Wiki: MediaWiki stellen wir mit MediaWiki, den bekanntesten Wiki-Klon, vor. Hier wollen wir Sie in die praktische Arbeit mit Wikis einführen und Sie zum Experimentieren einladen. Wir zeigen, wie man das MediaWiki installiert, damit Sie eine Vorstellung von der Funktionsweise bekommen. Sie sehen wie zum Beispiel Formatierungen oder Tabellen gemacht werden. Und vieles mehr. Lassen Sie sich von TWiki, dem Tausendsassa nicht abschrecken: Die Installation des TWikis setzt einiges an Erfahrungen voraus und ist eher für zukünftige und augenblickliche Webadmins bestimmt. Im Weiteren finden Sie dort eine Einführung im Umgang mit TWiki, die wieder für alle interessant ist. In TWiki als Projektbaukasten stellen wir TWiki als Werkzeug für die Organisation von selbstorganisierten Projekten vor. Hier wollen wir Ihnen weitere nützliche Plugins und Add-ons zeigen. Etwa das praktische EditTable-Plugin oder ein Diagramm-Tool. Die erforderlichen Vorkenntnisse sind nicht einheitlich zu bestimmen. Die Installation der Plugins ist gewöhnungsbedürftig. Die Funktionsweise bereits installierter Plugins
Zur Benutzung des Buchs
3
ist dagegen leichter. Im Wesentlichen wollen wir zeigen, dass man mit Wikis längst nicht mehr „nur“ Enzyklopädien schreiben, sondern auch jede andere Art von Projekt unterstützen kann. Alles im Fluss: Confluence gibt Ihnen einen Überblick über die Bedienung und Administration des kommerziellen Systems. Hier sehen Sie, wie ein Wiki aussehen kann, das für den Einsatz im Business-Umfeld fit gemacht wurde. Werkzeuge mit Zukunft will Perspektiven eröffnen. Zum einen geht es um aktuelle technische Entwicklungen und wichtige Wiki-Projekte. Zum anderen geben wir einen kurzen Abriss über die gesellschaftlichen Debatten, die innerhalb der WikiCommunity geführt werden. Ein Glossar und ein Stichwortverzeichnis helfen Ihnen bei der Orientierung. Dem Buch liegt eine CD-ROM bei, auf der Sie die besprochene Software finden.
Das Buch hat Leserinnen und Leser. Im Text werden jedoch nicht immer beide ausdrücklich angesprochen – dafür arbeiten in den Beispielen Frauen und Männer mit den Wikis.
Wir danken... …allen voran Christine Bühler, die seit Jahren immer zur Stelle ist, wenn es in die heiße Phase von Seminar- und Magisterarbeiten, Artikeln und Buchprojekten der unterschiedlichsten Art ging. Radovan Kubani, unserem hoffnungsvollen Künstler, der das Buch für uns illustriert hat. Gunter Dueck, nicht nur für das Vorwort, das er trotz Hals- und Kopfschmerzen für uns verfasst hat, sondern auch für die damit verbundene anregende Diskussion. Ebenso hat uns das Gespräch mit Jimmy Wales, dem Gründer von Wikipedia, im Dezember 2004 wertvolle Anregungen und Auftrieb gegeben. Für zahllose kritische Anmerkungen und konkrete Verbesserungsvorschläge ist unserem ehrenamtlichen Lektorat zu danken: Andreas Schmal, der uns darüber hinaus mit Kalorien und Bytes versorgt hat. Andreas Legner hat mit Korrekturen und freundlicher Kritik geholfen. Ebenso Thomas „Schnaks“ Schnakenberg, der mit uns die Endphase durchgestanden hat. Carsten Diederichs hat sich
4
Einleitung
u.a. der Installationsanleitung ausgesetzt. Richard Hölzl unterstützte uns aus Göttingen mit Ferndiagnosen des ersten und letzten Kapitels. Dank auch Benjamin Heitmann für seine Anmerkungen und Dirk Brömmel, der uns mit technischem Rat zur Seite stand. Anja Ebersbach Markus Glaser Richard Heigl
Regensburg, den 18.01.2005
Wir danken…
5
Nach etwa zweieinhalb Jahren…
…gibt es die zweite Auflage unseres Buches, das damals noch WikiTools hieß. Die Verkürzung des Titels heißt nicht, dass auch das Buch inhaltlich schlanker geworden wäre. Anfangs hofften wir natürlich, dass nur ein paar Aktualisierungen gemacht werden müssten. Aber die Wiki-Welt hat sich erfreulicherweise ziemlich weiterentwickelt und dem mussten wir natürlich Rechnung tragen. Grundsätzlich sind der Aufbau des Buches und die inhaltliche Konzeption gleich geblieben. Die Beschreibung der Software MediaWiki und TWiki in den Abschnitten II und III ist auf den neuesten Stand gebracht. Sie wurden um die technischen Neuerungen der beiden Wiki-Klone, wie zum Beispiel Bots beim MediaWiki, erweitert. Ebenso haben wir Hinweise von Lesern in das Buch eingearbeitet. Auch der Abschnitt V wurde erweitert und neu geordnet. Wir stellen Ihnen darin noch mehr Wiki-Projekte vor und widmen uns besonders den Themen Aufbau einer Community und Kooperation in Wikis. Diese Aufgabe sollte man nicht auf die leichte Schulter nehmen, ist sie doch sehr arbeits- und zeitintensiv. Das GründerWiki rechnet sogar im Schnitt mit einem Aufwand von täglich ein bis zwei Stunden über einen Zeitraum von zwei bis drei Jahren hinweg, um eine lebendige, eigenständige Online-Community aufzubauen.1 Wir haben deshalb noch einmal nachgelegt, damit Sie richtig durchstarten können. Last but not least hat unser AutorInnenteam kompetenten Zuwachs erfahren. Alexander Warta arbeitet seit Jahren mit dem WikiKlon Confluence als Wissensmanagementtool in einer internationalen Firma und hat seine Erfahrungen in ein Einführungskapitel zu Confluence einfließen lassen. Wir hoffen, dass wir damit in der neuen Auflage noch besser auf die Bedürfnisse der (zukünftigen) Wiki-Fans eingegangen sind. Für
1
http://www.wikiservice.at/gruender/wiki.cgi?WieGründetMan EineCommunity, 10.2.2007.
Nach etwa zweieinhalb Jahren…
7
Kritik und Lob sind wir natürlich jederzeit dankbar. Die nächste Auflage kommt bestimmt! ;-)
Dank an… …unseren Haus- und Hofgrafiker Radovan Kubani, der uns seit mehreren Jahren kontinuierlich mit seinen Skizzen erfreut sowie Michael Rödel, der uns beim Layout tatkräftig unterstützte. Anja Ebersbach Markus Glaser Richard Heigl Alexander Warta
8
Nach etwa zweieinhalb Jahren…
Regensburg, 20.08.2007
Typographie
In diesem Buch werden verschiedene Schreibweisen benutzt. kursiv fett
Pfade und URLs Wiki-Seiten- und Webtitel, Namen sowie Buttons (und Links, die als solche funktionieren) Courier Eingaben und Quelltext [kursiv] Dieser Teil ist variabel und muss von Ihnen angepasst Courier werden. Schritte auf dem Weg durch einen Menübaum MENÜ1 MENÜ2 Die angegebene Taste auf dem Keyboard Quelltext und Eingaben sind in der Regel buchstabengetreu abgedruckt. Beachten Sie jedoch folgende Zeichen: ↵
·
Die Zeile ist zu lang und muss aus Platzgründen umgebrochen werden. In der eigentlichen Eingabe darf hier kein Zeilenumbruch stehen. Ein Leerzeichen. Wird da mit angegeben, wo die Zahl der Leerzeichen von Bedeutung ist.
Um nicht den Überblick darüber zu verlieren, um welche Art von Quelltext es sich handelt, finden Sie am Rand jeweils die entsprechenden Symbole: Code einer Wiki-Seite Quellcode in HTML Quellcode in PHP Quellcode in Perl Quellcode in JavaScript
Typographie
9
Quellcode in CSS Inhalt einer Konfigurationsdatei Eingabe auf Konsolenebene URL SQL-Abfrage Regulärer Ausdruck Verzeichnisse stehen, falls nicht anders angegeben, in der UnixNotation. Unter Windows müssen die Schrägstriche / durch Backslashes \ ersetzt werden. Beginnen die Pfade mit einem Schrägstrich, so handelt es sich um absolute Pfade. Windows-User müssen hier noch den entsprechenden Laufwerksbuchstaben voranstellen.
10
Typographie
I. Wiki!?
1 Das WikiKonzept
1.1 Was ist ein Wiki? Stellen Sie sich vor, Sie browsen im Internet und bleiben bei einer Seite hängen, auf der Sie etwas ergänzen oder verändern können und wollen. Beispielsweise haben Sie einen Literaturhinweis oder einen Link hinzuzufügen. Oder es ist Ihnen ein Tippfehler aufgefallen. Vielleicht haben Sie auch einen längeren Beitrag, den Sie auf einer eigenen Seite darstellen wollen? Sie klicken einfach auf den Knopf „Bearbeiten“, verändern alles, was Sie ändern wollen, fügen noch ein paar Ideen ein, bestätigen und die Seite ist sofort neu online! In einer History, einer Auflistung der gespeicherten älteren Versionen der Seite, können Sie die Veränderungen der Seite nachvollziehen und Ihre Eingabe wieder rückgängig machen. Wenn das so einfach und transparent möglich war, waren Sie im Kontakt mit einem Wiki. Die Wiki-Technik ermöglicht es prinzipiell jedem ohne großen Aufwand Seiten komplett zu bearbeiten. Mehr noch: Sie können die Struktur der Site maßgeblich mitgestalten, indem Sie einfach neue Links setzen und neue Seiten hinzufügen. Diese Offenheit ist das Neue und Erstaunliche an Wikis. Der Titel eines Buchs von Bo Leuf und Ward Cunningham zu Wikis bringt es auf den Punkt: The Wiki Way. Quick Collaboration on the Web. Wikis sind ausgesprochen faszinierende Werkzeuge. Noch nie war es so einfach, im Internet zum „Sender“ zu werden, weil die technischen Hürden auf ein Minimum reduziert sind. Menschen, die zum ersten Mal ein Wiki benutzen, oder davon hören, erleben oft so etwas wie einen kleinen Kultur-Schock. „Da kann ja jeder meinen Text verändern!“, ist eine häufige Reaktion. Die Möglichkeiten und die Konsequenzen freier Kooperation führen durch die übliche Arbeitsorganisation unserer Gesellschaft unvermeidlich zu
1.1 Was ist ein Wiki?
Werkzeuge
13
Irritationen, weil wir annehmen, dass ein Beitrag von „anderen“ das eigene Werk zerstört. Wir sind es schlicht nicht gewöhnt, Kontrolle aufzugeben und Verantwortung – noch dazu an Unbekannte – zu übertragen. Der schwedische Datentechniker Lars Aronsson schreibt: “Most people, when they first learn about the wiki concept, assume that a website that can be edited by anybody would soon be rendered useless by destructive input. It sounds like offering free spray cans next to a grey concrete wall. The only likely outcome would be ugly graffiti and simple tagging, and any artistic efforts would not be long lived. Still, it seems to work very well.”1 Ausflug
Definition
Sie können sich noch nichts darunter vorstellen? Machen wir einen kleinen Ausflug und probieren aus, ob es wirklich so einfach und frei funktioniert. Gehen Sie ins Internet und rufen Sie die Seite http://demo.hallowiki.biz auf. Klicken Sie auf Sandkasten. In diesem Sandkasten können Sie problemlos herumexperimentieren. Drücken Sie Bearbeiten. Überschreiben Sie jetzt den bestehenden Text in der Mitte mit Ihrem Namen, oder was Ihnen sonst gerade einfällt. Klicken Sie dann unterhalb des Textfeldes auf Seite speichern. Gratulation! Sie haben eben Ihren ersten Eintrag in ein Wiki gemacht. Ein Wiki ist eine webbasierte Software, die es allen Betrachtern einer Seite erlaubt, den Inhalt zu ändern, indem sie diese Seite online im Browser editieren. Damit ist das Wiki eine einfache und leicht zu bedienende Plattform für kooperatives Arbeiten an Texten und Hypertexten. Hinweis: Viele Wikis erfüllen auch in rechtlicher Hinsicht den Anspruch offener, freier Software. Die meisten unterliegen der GNU General Public License (GPL), die u. a. verbietet, ein Programm in „proprietäre“ Software zu verwandeln. Auf diese Weise verhindert das Urheberrecht, dass ein Programm von einer rechtlichen Person für Verwertungszwecke als privates Eigentum beansprucht werden kann. Darüber hinaus wird die freie Nutzung, Verbreitung und Bearbeitung des Programms gesichert.
Entstehung
Das erste Wiki mit dem Namen WikiWikiWeb wurde 1995 von Ward Cunningham entwickelt.2 Der Softwareentwickler aus Portland, Oregon, wird zu den Pionieren in der Entwicklung neuer Me1 2
14
Aronsson 2002. Leuf/Cunningham 2004.
1 Das Wiki-Konzept
thoden wie objektorientierte Programmierung, Design Patterns oder Extreme Programming gerechnet. Cunningham suchte aus Unzufriedenheit über die gängigen Textverarbeitungsprogramme nach einem neuen Dokumentationssystem, das stärker den Bedürfnissen eines Programmierers entspricht. Sein Ziel war eine möglichst einfache Software, die es ermöglichen sollte, gemeinschaftlich an Software-Codes zu arbeiten und diese sofort zu veröffentlichen. Das neue Programm sollte alle Bearbeitungsschritte automatisch dokumentieren, um Änderungen leichter nachvollziehen zu können (Dokumenthistory). Am Ende ging der erste Wiki-Server ans Netz und ist bis heute in Betrieb.3 „Wikiwiki“ ist ein hawaiianisches Wort und bedeutet soviel wie „schnell“ oder „sich beeilen“. Der Name steht so für die Programmatik der Wiki-Software, schnell und unkompliziert Inhalte zur Verfügung zu stellen. Wie unten gezeigt wird, gibt es zahlreiche Weiterentwicklungen von Cunninghams erstem Wiki, auf die wir im Weiteren noch zu sprechen kommen (MediaWiki, TWiki, bitweaver, ProWiki etc.).
Wortbedeutung
Hinweis: Wenn im Folgenden immer wieder von „Wikis“ die Rede ist, so ist mit diesem Ausdruck in der Regel das Konzept gemeint und weniger die spezielle Implementierung. Der Einsatz von Wikis ist abhängig von den Zielen der Community, der Organisation oder des Unternehmens, die sie nutzen. Dienten sie zuerst der Softwareentwicklung, kommen sie nun in den unterschiedlichsten Bereichen zum Einsatz. Durch die Weiterentwicklung des Wiki-Konzepts über verschiedene Wiki-Klone4 können Wikis immer mehr Funktionen integrieren. Grundsätzlich muss man zwei verschiedene Anwendungsmöglichkeiten von Wikis unterscheiden: Sie können als Werkzeuge von geschlossenen Arbeitsgruppen genutzt werden oder sie richten sich über das WWW potenziell an alle. Wikis dienen als Wissensmanagement-Werkzeug bei Planung und Dokumentation. Sie können auch als offenes, webbasiertes Content Management System (CMS) zur Bearbeitung und Verwaltung von Internetauftritten genutzt werden oder ein bestehendes CMS ergänzen. Sie können Wikis als Ihren weltweit verfügbaren Notizblock verwenden, oder als Diskussionsforen für Allgemein- und Expertendiskussionen.
3 4
Funktionen
http://c2.com/cgi/wiki Zu Wiki-Klonen siehe unten Kapitel 1.4.
1.1 Was ist ein Wiki?
15
Abb. 1.1
Anwendungsgebiete
Wachsende Bedeutung
Mittlerweile entdecken die unterschiedlichsten Einrichtungen die Vorzüge von Wikis. Gruppierungen der sogenannten Zivilgesellschaft, wie das Austria Social Forum oder der Chaos Computer Club benutzen Wikis als Organisationshilfe. An Schweizer Schulen kommen Wikis im Unterricht zum Einsatz. Aber auch Firmen, wie SAP, Web.de, Motorola oder British Telecommunications nutzen einen Wiki-Klon als dezentrales Intranet, da es gegenüber herkömmlicher Groupware wesentlich benutzerfreundlicher ist. Wikis werden zunehmend populär. Vor allem mit dem Erfolg der freien Online-Enzyklopädie Wikipedia sind Wikis einem breiteren Publikum bekannt geworden.5 Bei Wikipedia wird das WikiKonzept eingesetzt, um enzyklopädisches Wissen kooperativ „von unten“ erarbeiten und darstellen zu können. Allein in der deutschsprachigen Ausgabe wurden von Mai 2001 bis August 2007 über 624.000 Artikel gemeinsam erarbeitet. Flaggschiff der WikiTechnologie bleibt bislang jedoch die englische Ausgabe, für die im Zeitraum von 2001 bis Mitte 2007 rund 1,9 Millionen Artikel ge5
Vgl. Schwall 2003. Wikipedia ist ein Folgeprojekt der ebenfalls auf Wikis basierenden Nupedia.
16
1 Das Wiki-Konzept
schrieben wurden. Weltweit existiert Wikipedia in über 220 Sprachen. Nach Aussage von Jimmy Wales, dem Gründer der Wikipedia, war sie bereits Ende 2004 mit 400 Millionen Seitenaufrufen im Monat populärer als die Webseiten von IBM oder Geocities.6 Wiktionary7 ist ein Beispiel für ein auf einem Wiki basierenden Wörterbuch. Einige Softwareanleitungen und -hilfestellungen (z. B. German Smalltalk User Group8) haben Wikis zur Grundlage. Wikis dienen weiter als Fachinformationsmedium. Wieder andere entdecken Wikis als alternative Form zu Foren und Mailinglisten.9 Wir haben am Ende dieses Abschnitts weitere Wikiprojekte im WWW zusammengetragen. Grundsätzlich sind Wikis sehr junge digitale Werkzeuge, in denen noch viele Potenziale stecken. Zahlreiche weitere Anwendungen, zum Beispiel Lernsysteme oder lokale Nachrichtendienste, wären denkbar. Die Anwendungsmöglichkeiten von Wikis zur Selbstorganisation privater wie öffentlicher Organisationen und Betriebe müssen noch erprobt und diskutiert werden. Auch wird in der Entwicklung der Wiki-Software noch viel geschehen.
Potenziale
Fassen wir kurz zusammen: Erstens ermöglicht die WikiWikiWeb-Server-Technologie die Entstehung assoziativer Hypertexte mit nicht-linearen Navigationsstrukturen: Typischerweise enthält jede Seite eine Reihe von Querverweisen zu anderen Seiten. Der Leser entscheidet, welche Seite er als nächstes betrachtet. Wo in größeren Wikis hierarchische Navigationsstrukturen existieren, spielen diese bislang eine untergeordnete Rolle. Zweitens werden mit Wikis die technischen Hürden und Vorkenntnisse zur Kommunikation und Gestaltung des Massenmediums WWW auf ein Minimum reduziert. Es ist charakteristisch für die Wiki-Technologie, dass fremde Texte und die Dateistruktur sofort „on the fly“ verändert werden können. Die Eingabe und Formatierung eines Textes erfolgt meist mit wenigen einfachen Regeln. So werden beispielsweise aufeinander folgende Zeilen als Listen formatiert, indem einfach ein Sternchen oder ein Strich vorangestellt wird. Zu anderen können Seiten innerhalb eines Wikis ganz einfach ver-
Nichtlineare Hypertextstruktur
Einfacher und weitgehender Zugriff
6
http://www.answers.com/topic/jimmy-wales-lecture-at-stanforduniversity-on-2-9-2005, 10.2.2007. 7 http://www.wiktionary.org 8 http://swiki.gsug.org/ 9 Vgl. z. B. WikiUserTypes, http://www.twiki.org/cgibin/view/Codev/WikiUserTypes, 10.2.2007
1.1 Was ist ein Wiki?
17
Keine ClientSoftware
Soziale Prozesse im Vordergrund
Einfache Nutzung und technische Hürden
linkt werden, indem entweder aufeinander folgende Worte mit großen Anfangsbuchstaben zu einem Wort zusammenfasst werden (WikiWord oder CamelCase genannt, z. B. StartSeite) oder der Text in Klammern gesetzt wird. Drittens Einfache Nutzer (Clients) benötigen keine zusätzliche Software, sondern können mit gängigen Browsern innerhalb von Wikis navigieren, lesen oder Inhalte verändern.10 Ebenso müssen von den Nutzern keine Applets oder andere Plugins geladen werden. Die Mitwirkung bei einem Wiki setzt keine umfangreichen Schulungen voraus. Nicht ganz zu Unrecht bezeichnet Cunningham Wiki als „the simplest online database that could possibly work.“ Viertens ist die Einfachheit der Software die Bedingung dafür, dass sich zahlreiche Communities und Projekte entwickeln konnten.11 Interessant an Wikis sind nicht so sehr die Technik, sondern die „Wiki-Philosophie“ und die Debatten um gesellschaftliche Perspektiven, die an deren Nutzung geknüpft werden. Bei InternetProjekten, die auf dem Wiki-Konzept beruhen, kann generell die Diskussion rein „technischer“ Probleme in den Hintergrund treten. In den Blick geraten der Arbeitsprozess, inhaltliche Probleme und die sozialen Zusammenhänge des Projekts. Man kann sagen, das Wiki-Konzept markiert durchaus eine neue Stufe in der Internettechnik und deren Nutzung. Wenn Wikis einfach zu bedienende Werkzeuge sind, wozu benötigt man dann ein Buch von über 500 Seiten? Wir müssen unterscheiden. Als Nutzer von Wikis benötigen Sie zunächst kaum Vorkenntnisse. Wenn Sie als Admin ein Wiki installieren und technisch betreuen möchten, können Probleme auftreten, für die umfassendere Erklärungen notwendig sind. Dazwischen eröffnen Ihnen z. B. Plugins eine Reihe neuer Möglichkeiten, die wir Ihnen vorstellen wollen. Und: So einfach die Nutzung von Wikis grundsätzlich ist, so knifflig können die Selbstorganisationsprozesse sein, die Wikis so spannend machen. Und hier können einführende Workshops notwendig werden. Das Grundprinzip der Wiki-Technologie bleibt jedoch denkbar einfach. Sehen wir uns die technische Seite von Wikis näher an. 10
Das bedeutet, die Wiki-Technologie kennt im Gegensatz zu vergleichbaren Systemen keine Unterscheidung zwischen „Backend“ und „Frontend“. 11 Das Verhältnis Projekt und Community gestaltet sich unterschiedlich. Beispielsweise entwickelte sich bei Wikipedia um das Projekt einer freien Enzyklopädie eine Community. Umgekehrt gibt es auch Communities, aus denen Projekte hervorgehen. Das MeatballWiki wiederum ist nur eine Community ohne ein zentrales Projekt.
18
1 Das Wiki-Konzept
1.2 Die Technik der Wikis Die Wiki-Software ist als Skript auf einem Server installiert. Das Skript produziert kleine Dokumente, sogenannte Wiki-Seiten oder Artikel, die von den Lesern einer Seite mit dem Browser aufgerufen werden können. Der Inhalt der Wiki-Seite selbst wird in einfachem Text geschrieben und wiederum in einer Datei oder in einer Datenbank gespeichert. Beim Aufrufen einer Wiki-basierten Internetseite wird zunächst über den Browser eine Anfrage an den Server gesendet, der mit der Wiki-Software die Datensätze verwaltet. Diese Daten, die in einfachem Text vorliegen, müssen nun für den Browser aufbereitet werden.
Leser
Abb. 1.2
Dazu übersetzt das Wiki-Skript den Text des Files (Wiki-Code) oder den Datenbestand aus der Datenbank in HTML und bettet ihn in die zurückzusendende Webpage (Vorlage oder Template) ein. Das WikiSkript kann beispielsweise ein PHP-Skript sein, das die rohen SeitenDaten aus einer MySQL-Datenbank ausliest. Diese Rohdaten werden Zeile für Zeile durchgegangen und die darin enthaltenen spezifischen Formatierungsanweisungen durch die entsprechenden HTML-Codes ersetzt.12 Danach wird die so erstellte Seite in die Layout-Vorlage eingebunden. Jede Wiki-Seite hat einen eindeutigen Namen, der den Gegenstand der Seite benennt. Daneben gibt es in der Regel ein Navigationsmenü und einige seitenspezifische Links der gezeigten Seite. Der wichtigste Link ist dabei der „Bearbeiten“-Link (Edit).
12
In diesem Schritt werden dann auch alle URLs anklickbar und anstelle aller URLs, die mit .gif, .jpg oder .png, enden, also ein Bild darstellen, werden die entsprechenden Bild-Tags gesetzt (die Bilder selbst werden vom Browser nachgeladen).
1.2 Die Technik der Wikis
19
Autoren
Soll diese Seite nun editiert werden, wird der Button Edit oder Bearbeiten benutzt. Dadurch wird wieder eine Anfrage an den Server gesendet. Es wird noch einmal dieselbe Seite geladen, doch der Inhalt wird diesmal nicht in HTML konvertiert, sondern in „Rohform“ in einem großen Textfeld in einem HTML-Formular angezeigt. In diesem Formular kann der User den Text editieren und eine neue Version abschicken, die sofort die alte Version in der Datenbank ersetzt. Beim nächsten Aufruf der Seite wird die neue Version angezeigt.
Abb. 1.3
Wiki-Admins
20
Die Autoren müssen zur Nutzung von Wikis keine Programmiersprache oder HTML lernen. Wiki-Seiten werden wie Emails in einfachem ASCII-Text verfasst. Zwar gibt es eine Reihe von Konventionen, mit denen man sich früher oder später auseinandersetzen sollte, doch generell sind diese leichter zu erlernen und „intuitiver“ als HTML. So trennt z. B. eine Leerzeile Paragraphen. Wenn diese Seite dann gespeichert wird, übersetzt das System die Leerzeile in HTML, fügt also ein
an der entsprechenden Stelle ein. Wichtig ist weiter die Wiki-Link-Syntax, die unten näher beschrieben wird. Die Hauptaufgabe des Wiki-Admins besteht darin, die WikiInhalte zu pflegen und einen reibungslosen Ablauf der Arbeit im Wiki zu garantieren. Er hat weitergehende Rechte als der normale Teilnehmer, z. B. das Löschen von Seiten oder das Sperren einzelner User. Dafür hat er meist eine eigene Oberfläche oder Spezialseiten im Wiki, auf die nur Admins Zugriff haben.
1 Das Wiki-Konzept
Abb. 1.4
Selbst ein Wiki kommt nicht ohne Technik aus. Auf dieser Ebene kümmert sich ein Web-Admin um Installationen, Wartung und Updates der Software. Er kann im Gegensatz zu den anderen beschriebenen Gruppen direkt auf die Dateien zugreifen, ohne den Umweg über die Wiki-Schnittstelle gehen zu müssen.
Web-Admins
Abb. 1.5
Aus der bisherigen Einteilung kristallisiert sich ein Modell heraus, das den Zugriff der beteiligten Personen in Schichten unterteilt, die sich in technischer Hinsicht nach Art und Tiefe unterscheiden. Neu hinzugekommen ist auf der untersten Ebene sowohl die Infrastruktur, wie Server und Betriebssystem, als auch die notwendige Software, wie Webserver und Datenbank. Diese werden von einem System-Administrator gepflegt.
1.2 Die Technik der Wikis
Schichtenmodell
21
Abb. 1.6
Während also der System- und der Web-Administrator direkten Zugriff zum Server haben und nicht unbedingt in die Wiki-Gemeinde integriert sein müssen, bewegen sich Wiki-Administratoren, Autoren und Leser auf der webbasierten Oberfläche des Wikis. Im Schichten-Modell sieht man außerdem sehr schön, dass sich die Schnittstelle, über die der Inhalt gestaltet werden kann, im Gegensatz zu einer gewöhnlichen HTML-Seite im Client-Bereich befindet. Damit ist von technischer Seite die Voraussetzung gegeben, dass sich möglichst viele Leute ohne große Hürde (dem Zugang zum Server) an der Gestaltung des Inhalts umfassend beteiligen können.
1.3 Charakteristische Wiki-Funktionen Unabhängig vom verwendeten Wiki-Skript bieten alle Wikis einige technische Kernfunktionen, die wir hier nur kurz ansprechen und auf die wir später noch näher eingehen werden. Editing. Der Edit-Schalter ist das charakteristischste Merkmal eines Wikis. Nur in extremen Fällen werden spezielle Seiten von der Möglichkeit des Editierens ausgenommen. Auf Wikipedia wurde beispielsweise die Veränderbarkeit der Titelseite erschwert. Eine Seite kann auch gesperrt werden. Da die Sperrung der WikiPhilosophie entgegensteht, werden solche Maßnahmen in der Regel vermieden. Links. Jeder Artikel kann auf andere Artikel verweisen und damit eine neue Netzstruktur bilden.
22
1 Das Wiki-Konzept
Hinweis: In den meisten Wikis können Links mit einem WikiWord erzeugt werden: Wörter werden mit großen Anfangsbuchstaben versehen und ohne Zwischenraum zusammengesetzt (sog. CamelCase, wobei CamelCase selbst ein Beispiel für ein solches WikiWord ist). CamelCase macht das Verlinken einfach, erzeugt aber auch bei manchen Anwendungen Probleme. Deshalb werden in anderen Wikis, wie dem MediaWiki, Links generiert, indem der Titel einfach in eckige Klammern gesetzt wird. Unabhängig davon welche Verfahrensweise gewählt wird, wurde damit ein Link gesetzt, der in der Normalansicht erscheint.
WikiWord/ CamelCase
Falls eine entsprechende Seite zum Link innerhalb des Wikis noch nicht existiert, kann diese mit einem einfachen Mausklick auf den Link kreiert werden. So unterstützen Wikis assoziative Verbindungen zwischen den Seiten, indem sie die Linkerstellung fast intuitiv gestalten und aufzeigen, ob ein beabsichtigter Link existiert oder nicht. Die neuen Seiten sind jetzt mit der bestehenden Seite verbunden und damit Bestandteil der Hypertextstruktur. History. Diese Funktion speichert im Prinzip alle vorausgegangenen Versionen bzw. Veränderungen einer einzelnen Seite. Hier ist es möglich, den Bearbeitungsprozess eines Artikels genau zu verfolgen, da sämtliche Änderungen dokumentiert wurden. Die „History“Funktion erlaubt es, eine vorausgegangene Version zu öffnen und wieder zu speichern, um den ursprünglichen Inhalt wiederherzustellen (Rollback). Dieses Konzept geht auf Cunninghams Änderungshistory zurück und stellt nun auch ein wirksames Mittel gegen unfreundliche Besucher dar, die die Seite zerstören wollen. Allerdings wird sie häufiger auf Grund ganz normaler Koordinationsprobleme gebraucht. Die History kann bis zur ersten Version zurückreichen, kann allerdings aus Platzgründen auch begrenzt sein. Komplexere Wiki-Klone bieten eine sogenannte „Diff“-Funktion, die detailliert Änderungen zwischen zwei Revisionen einer Seite zeigt, so dass die Autorinnen und Autoren nicht zwei Texte Zeile für Zeile miteinander vergleichen müssen. Recent Changes. Diese Seite gibt entweder einen aktuellen Überblick über eine bestimmte Anzahl von kürzlich veränderten WikiSeiten oder alle Veränderungen innerhalb eines vordefinierten Zeitraums. Sie wird automatisch produziert und kann von den Usern nicht geändert werden. Manche Wikis, wie z. B. das MediaWiki, bieten sogenannte Beobachtungslisten. Auf diese Weise lassen sich ausgewählte Seiten über einen längeren Zeitraum beobachten. Wenn
1.3 Charakteristische Wiki-Funktionen
23
Ihnen ein besonderer Artikel am Herzen liegt, müssen Sie nicht ständig die Liste aller Änderungen aller Seiten durchsehen. SandBox. Wikis bieten meist auf der Startseite Anleitungen und Einführungen an, die die Arbeit im System erleichtern sollen. Daneben können Einsteiger aber auch erfahrene Nutzer in einer so genannten Sandbox („Sandkasten“) oder Spielwiese den Umgang mit dem Wiki lernen und Lösungsmöglichkeiten ausprobieren, ohne eine normale Seite benutzen zu müssen. Sie haben eingangs schon eine Sandbox kennen gelernt. Diese Testumgebung ist dabei nichts weiter als eine Wiki-Seite, die in regelmäßigen Abständen geleert wird. Suchfunktionen. Die meisten Wikis bieten zudem eine klassische Volltext- oder Titelsuche für die Wiki-Seiten. So können Beiträge eines Wikis schnell aufgefunden werden. Es zeigt sich, dass bei einer guten Wahl von Titeln die Suche wie ein Karteikartensystem funktionieren kann.
1.4 Wiki-Klone Mit der Entwicklung und Nutzung des WikiWikiWebs entstanden neue Anforderungen und entsprechend neue Programme, in denen die Wiki-Idee weiterentwickelt wurde. Meatball (selbst eine WikiCommunity) behauptet, dass es heute rund 200 verschiedene Typen von Wikis gibt.13 Diese Programme heißen Klone, da sie das ursprüngliche Wiki imitieren, jedoch einige Funktionen hinzufügen. Die meisten von ihnen tragen den Begriff „wiki“ im Namen. Hier nur einige bekannte Beispiele: UseModWiki ist einer der ältesten und meistverwendeten WikiKlone. In Perl geschrieben existieren eine Menge kleiner Programme, die diverse Zusatzfunktionen ermöglichen. UseMod hatte großen Einfluss auf die Entwicklung anderer Wikis, wie zum Beispiel auf das MediaWiki, dessen Formatierungssprache (genauer dessen Syntax) stark an das UseMod angelehnt ist. MediaWiki wurde für die Bedürfnisse des Enzyklopädieprojekts Wikipedia konzipiert. Es besteht aus mehreren in PHP geschriebe13
Viele Wikis sind verzeichnet unter: http://c2.com/cgi/wiki?WikiEngines.
24
1 Das Wiki-Konzept
nen Skripten und enthält einige Weiterentwicklungen (Namensräume, Seitenleiste, Hinweise auf Bearbeitungskonflikte). PmWiki ist in PHP geschrieben. Der Fokus der Entwicklung liegt auf der leichten Bedienbarkeit, um die Hürden zu reduzieren, die Menschen mit geringen IT-Kenntnissen davon abhalten könnten, ein Wiki zu verwenden. Einfache Installation und Konfigurierbarkeit sind Markenzeichen des Klons. Mit seiner ansprechenden Oberfläche und seiner Fähigkeit, Namensräume und mit Benutzerrechten zu koppeln, könnte er zum Konkurrenten des MediaWiki werden.14 MoinMoin ist ein einfacher und sehr verbreiteter Wiki-Klon, geschrieben in Python. MoinMoin, dessen Name auf dem freundlichen, norddeutschen Gruß beruht, ermöglicht beispielsweise eine Benutzerregistrierung und hat ein Plugin-System für Erweiterungen. MoinMoin benötigt keine Datenbankanbindung. Bitweaver, ein Abkömmling des in PHP geschriebenen TikiWiki, bietet bereits eine ganze Reihe nützlicher Features. Es braucht den Vergleich mit bestehenden Content Management Systemen und Groupware nicht mehr zu scheuen. Allerdings ist das Wiki hier nur ein – wenn auch zentraler – Bestandteil in einer ganzen Reihe zusätzlicher Groupwarefeatures, wie Foren, Blog-Funktion, Newsletter, Datei- und Bildergalerie, Umfrage-, Chat- oder Kalenderfunktion. Das in Perl geschriebene TWiki ist neben dem TikiWiki mit zahlreichen Plugins und Features der umfangreichste Wiki-Klon. Das TWiki setzt die Wiki-Technologie konsequenter um als bitweaver, weil Zusatzfunktionen auch weitgehend mit dieser Technologie verwirklicht werden. Das TWiki, das zur Nutzung als Firmenintranet konzipiert wurde, wird auf Grund seines hohen Entwicklungsstandes zunehmend für kommerzielle Zwecke eingesetzt. Das Dokuwiki hat in erster Linie Entwicklerteams, Arbeitsgruppen und kleine Firmen zur Zielgruppe. Der einfache Wiki-Klon benötigt keine Datenbank und hat relativ schnell wegen seiner praktikablen Handhabung zahlreiche Fans gewonnen. ProWiki ist in Perl geschrieben und vor allem für den Einsatz in sogenannten Wiki-Farmen konzipiert. Die Entwickler legen darauf 14
Eine Einschätzung, die nicht von allen Autoren des Buches geteilt wird
☺
1.4 Wiki-Klone
25
Wert, dass schnell neue, untergeordnete Wikis als Kopien von bestehenden erstellt werden können. Dabei werden die Eigenschaften des Ursprungsgwikis auf nachgeordnete Seiten übertragen. ProWiki zielt auf eine hohe Anpassbarkeit an verschiedenartige Bedürfnisse innerhalb eines Wikis. Wetpaint ist ein besonderes Beispiel für ein kostenloses WikiAngebot. Hier kann man auf einer öffentlichen Domain eigene Wikiseiten schreiben, doch die Wiki-Software an sich ist nicht frei verfügbar. Ähnlich wurden in der Vergangenheit zahlreiche kommerzielle Wiki-Klone wie Confluence oder Socialtext entwickelt. Auswahlkriterien
Wir haben im Anhang einen kleinen tabellarischen Überblick über wichtige Wikisysteme zusammengestellt. Darin finden sich einige Kriterien, auf die man bei der Auswahl eines Wikis achten sollte. Auch im Abschnitt VI gibt es noch weitere Hinweise zur Auswahl.
1.5 Das Wiki-Phänomen Brechts Radiotheorie
Bertolt Brecht schrieb in seiner sogenannten „Radiotheorie“ 1930, der Rundfunk habe eine Seite, wo er zwei haben sollte. „Er ist ein reiner Distributionsapparat, er teilt lediglich zu.“15 Sein berühmt gewordener Vorschlag war, den Rundfunk umzufunktionieren, und aus einem Distributionsapparat einen Kommunikationsapparat zu machen. „Der Rundfunk wäre der denkbar großartigste Kommunikationsapparat des öffentlichen Lebens, ein ungeheures Kanalsystem, das heißt, er wäre es, wenn er es verstünde, nicht nur auszusenden, sondern auch zu empfangen, also den Zuhörer nicht nur hören, sondern auch sprechen zu machen und ihn nicht zu isolieren, sondern ihn in Beziehung zu setzen.“ Mit dem Internet stand nur wenige Jahrzehnte später ein neuartiges Massenmedium zur Verfügung, das technisch den Forderungen Brechts, Sender und Empfänger in eins zu setzen, ausgesprochen entgegen kam. Technische Durchbrüche wecken Erwartungen und Euphorie, Befürchtungen und Ängste hinsichtlich der aufklärenden Wirkung dieser Errungenschaften. Dies war bei den klassischen Bild- und Tonmedien nicht anders als bei der „Internet-Revolution“. Doch Technik und neue Erfindungen an sich verändern nichts. Zwischen gesellschaftlichem Fortschritt und technischen Innovationen besteht ein komplexes und schwieriges Wechselverhältnis. Das lässt 15
26
Brecht 1930/1967, 129.
1 Das Wiki-Konzept
sich mit folgenden Fragen analysieren: Wer benutzt die Technik? Mit welchem Ziel und in welchen Formen? In welchen Abhängigkeiten steht er? Entsprechend können Wikis emanzipatorisch genutzt werden – oder auch nicht.16
1.5.1 Kreativität durch Gruppenprozesse Doch jenseits der Frage nach den emanzipatorischen Potenzialen von Wikis interessiert viele zunächst die Frage, warum der „WikiEffekt“ überhaupt auftritt. Unter Wiki-Effekt verstehen wir in erster Linie die Selbstorganisationsprozesse, die sich bei den bekannten und erfolgreichen Wiki-Projekten beobachten lassen. Hier verblüfft, dass Menschen eigenständig recherchieren, organisieren, schreiben und publizieren, um der Allgemeinheit eine kostenlose Dienstleitung zur Verfügung zu stellen. So haben sich große Communities gebildet, die weitgehend auf zentrale Steuerungsmodelle verzichten. Ihre selbstorganisierten Projekte können zwischenzeitlich beachtliche Erfolge vorweisen. Hier lässt sich häufig beobachten, dass die Kommunikation großer Gruppen effektiver ist und mit ihr flexibler auf Veränderung reagiert werden kann als mit hierarchischen Ordnungsmodellen. Dabei bilden diese Wiki-Projekte keine Ausnahme: Ähnliche Erfahrungen wurden vorher bereits mit der „subversiven“ Entwicklung von Open-Source-Software (z. B. Linux) gemacht. Eric Raymond, ein bekannter Autor und Programmierer der Hacker- und OpenSource-Szene, hat die unterschiedlichen Managementmethoden auf den Punkt gebracht, als er metaphorisch das Prinzip der Kathedrale vom Prinzip des Basars unterschied:17 Während die konventionelle Softwareentwicklung davon ausging, dass wichtige Programme wie Kathedralen gebaut werden müssten, „sorgsam gemeißelt von einzelnen Druiden oder kleinen Teams von Hohepriestern, die in totaler Abgeschiedenheit wirkten und keine unfertigen Beta-Freigaben veröffentlichen dürften, […] schien die Linux-Gemeinde ein großer, wild durcheinander plappernder Basar von verschiedenen Zielsetzungen und Ansätzen zu sein, der ein kohärentes und stabiles System wohl nur durch eine Reihe von Wundern hervorbringen konnte. Die Tatsache, dass der Basar zu funktionieren schien, und zwar sehr gut zu funktionieren schien, war ein ausgesprochener Schock.“ Der Reiz an der Wiki-Technologie besteht auch darin, Gewohntes neu zu denken. Wieder stehen hierarchische Steuerungsmodelle 16 17
Wiki-Effekt
Kathedrale und Basar
Vgl. Ebersbach/Glaser 2004. Raymond 1999.
1.5 Das Wiki-Phänomen
27
Dynamik großer Gruppen
zur Disposition und damit geltende Vorstellungen darüber, warum und wie arbeitsteilig komplexe Probleme gelöst, Produkte hergestellt und verteilt werden können. Es geht um nichts weniger, als um die Frage anderer Vergesellschaftungsmodelle, deren Möglichkeit (!) zum Vorschein kommt. Es wird immer wieder gefragt, warum Wikis funktionieren. Die Frage müsste genauer gestellt werden: Warum und unter welchen Bedingungen kooperieren Menschen bei Wiki-Projekten ohne zentrale Kontrolle und äußeren Druck? Gruppenprozesse sind ein diskutiertes und vielfach untersuchtes Thema in Soziologie und Pädagogik, das wir hier nicht in seiner theoretischen Komplexität darstellen können. Aus den Erfahrungen mit Großgruppenveranstaltungen wie Open Space Konferenzen und Zukunftswerkstätten lassen sich jedoch einige Prinzipien nennen, die wesentlich zum Gelingen von Großgruppenprozessen beitragen.18 Spielerisch Neues schaffen. „Why Wiki works? It’s cool“, heißt es betont flapsig auf Wards Wiki. Eine aufgelockerte, spielerische Atmosphäre und Spaß an der Arbeit ist eine wichtige Bedingung für selbstorganisierte Prozesse, da man so seine kreativen, sozialen und praktischen Fähigkeiten am besten entfalten kann. Motivierend wirkt, wenn man zu einem größeren Projekt selbst Entwürfe machen oder einen Beitrag leisten kann. Weniger attraktive „Pflicht“Aufgaben bleiben dabei nicht zwingend auf der Strecke, wenn deren Notwendigkeit erkannt wird. Flache Hierarchien. Flache Hierarchien sind für kreative, selbstorganisierte Gruppenprozesse entscheidend. Die Verantwortung für den gesamten Prozess, nicht nur für Teilbereiche, wird völlig auf diejenigen übertragen, die ihn ausführen sollen. Diese werden weitestgehend in den Planungsprozess und in die Ablaufkontrolle eingebunden. Neuere methodische Ansätze für Großgruppenveranstaltungen legen Verlauf und Zieldefinition in die Hände der Teilnehmer und Betroffenen. Das verlangt von allen Beteiligten eine Bereitschaft für die Offenheit des Prozesses und auch die Übereinkunft, dass nicht nur die Risiken, sondern ebenso die Vorteile gleichmäßig verteilt werden. Projekte mit Wiki-Philosophie fordern flache Hierarchien. Dies kommt unter anderem darin zum Ausdruck, dass die Teilnehmerinnen und Teilnehmer die organisatorische Struktur des Wikis z. B. durch Verlinkung maßgeblich mitgestalten. Es entwickeln sich im
18
28
Vgl. dazu Petri 2000, Maleh 2000.
1 Das Wiki-Konzept
Wiki aber auch soziale Strukturen – oft andere, als sich die Initiatoren vorher ausgemalt haben. Veränderungsdruck und komplexes Thema. Veränderungsdruck (als intrinsische Motivation) und der Wille, ein Problem lösen zu wollen, gilt für Raymond als unabdingbarer Motor für den „Basar“. Arbeiten am eigenen Thema schafft Engagement.19 Selbstorganisationsprozesse bauen auf Verantwortung, die aus dem Interesse an der Sache entsteht. Entsprechend bleiben nach der Wiki-Philosophie auch unvollständige oder fehlerhafte Wiki-Seiten zeitweise unbearbeitet. Erst wenn es jemand für notwendig erachtet und sich Zeit nimmt, wird die Seite ergänzt oder vorhandene Fehler korrigiert. Wichtig ist, wie Raymond das für den Basar darlegt, Teil einer lohnenden Sache zu sein und dass die Verbesserungen, an denen man teilhat, sichtbar werden. Außerdem fördert ein komplexes Thema, das eine intellektuelle Herausforderung darstellt, die Dynamik von Großgruppenprozessen. Sie entwickeln ihre volle Kraft durch ein packendes und herausforderndes Thema, das durchaus ein hohes Konfliktpotential aufweisen kann. Einfaches System, einfache Regeln. Die Entscheidung sich hinzusetzen und einzusteigen, gilt bei Selbstorganisationsprozessen als größte Hürde. Erfolgreiche selbstorganisierte Gruppenprozesse beruhen häufig auf ganz einfachen Grundsystemen. Denn notwendig für gute – auch komplexe – Entscheidungs- und Veränderungsprozesse sind lediglich ein grobes Gesamtkonzept, Zugang zu allen relevanten Informationen und klare Rahmenbedingungen. So funktioniert das Konferenzmodell Open Space mit nur einer handvoll von Regeln. Die Wiki-Technologie kommt durch seine niedrigen technischen Zugangshürden webbasierten Gruppenprozessen sehr entgegen. Viele Wiki-Communities haben sich einfache Verhaltensregeln gegeben. Offener Zugang. Freiwilligkeit und offener Zugang sind eine unerlässliche Bedingung für Motivation in Selbstorganisationsprozessen. Der Erfolg des Basar-Prinzips wie auch der Wiki-Philosophie beruht darauf, dass die Diskussion von Beginn an aus dem vermeintlichen Experten- und Spezialistenkreis hinausgetragen wird. Das schafft Transparenz und Motivation.
19
Es ist natürlich ein Unterschied, ob das Ziel selbstgesteckt oder vereinbart ist, oder ob externe Ziele als eigene angenommen werden.
1.5 Das Wiki-Phänomen
29
Eine große Zahl testender Teilnehmerinnen und Teilnehmer führt auch dazu, Fehler frühzeitig zu erkennen. Das System wird stabiler und kann schneller den sich ändernden Bedürfnissen der Benutzer angepasst werden. Bei Wikis wird dieser Ansatz durch das Prinzip des „Open Postings“ unterstützt. Mit Wikis werden User dazu eingeladen, die bestehenden Seiten innerhalb ihres normalen Browsers zu editieren oder neue Seiten hinzuzufügen. Entgegen dem klassischen Redaktionsprinzip werden Beiträge nicht erst Korrektur gelesen und publiziert, wenn sie völlig fehlerfrei sind, sondern möglichst frühzeitig, um die Nutzer einer Seite in den kooperativen Prozess einzubinden. Unterschiedlichkeit der Teilnehmer. Für die Dynamik von Selbstorganisationsprozessen und für eine partnerschaftliche Arbeitsweise ist ein Klima der Offenheit und gegenseitigen Vertrauens notwendig – trotz der unvermeidlichen Konflikte. Unterschiedliche Erfahrungshintergründe und Wissensbestände werden als Grundlage für kreative Prozesse und als Bereicherung verstanden und so wird jeder Nutzer zunächst als Experte anerkannt. Die Wiki-Philosophie beruht auf der Annahme, dass sich im Wesentlichen diejenigen Personen einbringen, die zur Situation etwas beitragen wollen. Ihr Wissen und ihre Motivation reichen aus, um zur Problematik etwas beizusteuern. Auch bei Wiki-Projekten lässt sich eine gewisse Heterogenität der Teilnehmerinnen und teilnehmer in ihren Interessensgebieten beobachten.20 Möglichst freie Zeiteinteilung. Motivierend wirkt auch eine relativ freie Zeiteinteilung innerhalb eines Gesamtprozesses. Folgt man dem Basar-Prinzip, das keine Abgabetermine kennt, ist es möglich, die Arbeitszeit dem eigenen Rhythmus und dem individuellen Alltag anzupassen. Die Arbeit beginnt, wenn die Zeit reif dafür ist und endet, wenn sie fertig ist. Sie muss sich weniger an festen Zeitvorgaben orientieren. Zeitdruck entsteht nur dadurch, dass Probleme weiter unbearbeitet sind. Selbstbestimmtes Arbeiten. Menschen in Gruppenprozessen und Mitglieder von Communities haben sehr unterschiedliche Strategien und ein ebenso unterschiedliches Verständnis von der eigenen Funktion innerhalb des Gesamtzusammenhangs. Strategien und 20
Wie bei vielen anderen Internetprojekten muss einschränkend erwähnt werden, dass aller Voraussicht nach der Kreis der aktiven Wiki-Nutzer bis auf weiteres auf bestimmte gesellschaftliche Gruppen beschränkt bleiben wird (Stichwort: Digital Divide).
30
1 Das Wiki-Konzept
Selbstverständnis sind zudem einem ständigen Wandel unterworfen, so dass es schwierig ist, bestimmte Rollen oder Typen festzulegen – vielleicht ist es auch gar nicht ratsam. Für ein besseres Verständnis ist es aber hilfreich, wenn man in Erwägung zieht, dass sich jedes Individuum – einmal unabhängig von den sozioökonomischen Hintergründen – auf sehr vielschichtige Weise über ein Wiki mit anderen Beteiligten ins Verhältnis setzt. Die Mitarbeit in offenen Wiki-Projekten ist attraktiv, weil Strategien, Arbeitsschwerpunkte und Arbeitsintensität weitgehend selbst bestimmt werden können. Rezeptionsverhalten. Zu unterscheiden ist, ob und wie häufig Teilnehmer ein Wiki-System besuchen, ob sie Beiträge flüchtig oder intensiv lesen und ob sie Beiträge zu einem bestimmten Thema oder quer zu Fachgebieten suchen. Schreibverhalten. Auch hinsichtlich des Schreibverhaltens gibt es zahlreiche Variationsmöglichkeiten. Manche Besucher eines Wikis schreiben dort grundsätzlich nicht. Andere lesen Korrektur, bearbeiten die Stilistik, das Layout und verändern Kleinigkeiten. Wieder andere, die Spezialisten, arbeiten sich tief in einen Sachverhalt ein und leisten größere inhaltliche Beiträge. Dagegen „springen“ Generalisten von Beitrag zu Beitrag und bringen Wissensbestände aus anderen Bereichen mit ein. Strukturelles Verhalten. Unter dieser Kategorie geht es darum, wie weit Verantwortung für das Gesamtprojekt übernommen wird. Hierher gehört die Frage, wie intensiv man sich an Grundsatzdebatten beteiligt oder Überlegungen zu allgemeinen Verfahrensweisen anstellt. Manche Teilnehmer übernehmen Funktionen als Schlichter oder Moderatoren. Andere übernehmen ordnende Aufgaben, wie die Überprüfung von verwaisten Seiten. Hierher gehören demnach auch die technischen Betreuer (Admins) und die Maintainer. Die Funktionen erhalten Personen in selbstorganisierten Prozessen im Idealfall durch ihre Autorität und das ihnen entgegen gebrachte Vertrauen, die sie durch ihre Arbeit erworben haben. Soziales Verhalten. In dieser Kategorie geht es um Atmosphärisches. Beispielsweise ist damit die Form gemeint, in der Kritik und Zuspruch vermittelt wird: Geht man eher provokativ oder partnerschaftlich in die Diskussion? Auf einer anderen Ebene gehört die Organisation des sozialen und kulturellen Umfeldes dazu, wie Stammtische oder Seminarwochenenden.
1.5 Das Wiki-Phänomen
31
Die hier nur grob skizzierten Formen bestehen freilich nicht in Reinform, sondern überschneiden und verändern sich. Durch das Wechselspiel zwischen den individuellen Praktiken und Zielen strukturiert sich prozesshaft immer wieder der Gesamtzusammenhang. Die Mitglieder einer Community wirken durch ihre Aktionen auf den Einzelnen genauso ein, wie er selbst Form und Inhalt der Community täglich mitgestaltet. Alle diese Verhaltensweisen, auch passive und im weitesten Sinne „destruktive“, sind für eine dynamische Community notwendig. Sie kann aber auch jederzeit daran zerbrechen. Die Kenntnisse über die spezifischen und allgemeinen Gruppenprozesse innerhalb der Wiki-Community stehen noch am Anfang. Jimmy Wales stellte in Berlin auf dem 21. Chaos Computer Congress 2004 am Beispiel von Wikipedia erste Überlegungen an. Einige von ihm skizzierte „Typen“ illustrieren die Vielfältigkeit. Bienen. Als „bees“ beschreibt Wales diejenigen, die sehr wichtige Arbeit leisten und ohne die Wikipedia die Qualität nicht erreichen und halten könnte. Trotzdem werden sie am wenigsten beachtet. Unter ihnen sind Generalisten und Spezialisten. Sie liefern wichtige inhaltliche Beiträge, lesen Texte Korrektur oder verhandeln mit schwierigen Nutzern. Sockpuppets (Sockenpuppen). Diese Gruppe besteht aus Leuten, die unter mehr als einem Account veröffentlichen. Dies geschieht aus unterschiedlichsten Gründen. Einige wollen auf diesem Weg ihre Privatheit wahren (beispielsweise ein Professor, der auch als Fan zu Britney Spears schreibt, aber vielleicht den Verlust seiner Autorität fürchtet). Andere nutzen MehrfachIdentitäten zur Manipulation von Abstimmungen. Das ist natürlich ein schlimmer Angriff auf das Vertrauensverhältnis, auf dem das Open Editing beruht. Richter. Dies ist selbsterklärend. Es handelt sich um Leute, deren inhaltlicher Schwerpunkt in Konfliktbewältigung und Entscheidungsfindung besteht. Sie engagieren sich in Jurys und Schlichtungskommitees. Sie organisieren Abstimmungen und entwickeln Vorschläge für Regelungen weiter. Moths (Motten). Dieser zunächst unfreundliche Ausdruck ist ohne den englischen Hintergrund missverständlich. „Moths are drawn to flames“, erläutert Wales. Mit Flames sind Flame Wars, also hitzige und oft beleidigende Rededuelle gemeint. Während Leute, die aggressiv Flame-Wars entfachen, allgemein keinen guten Ruf genießen, sieht Wales darin, dass einzelne Teilnehmer Kontroversen suchen und ihnen auch nicht ausweichen,
32
1 Das Wiki-Konzept
keine zwingend negative Herangehensweise. Im Gegenteil, diese Diskussionen können notwendige Weiterentwicklungen einleiten. Vandalen sind ein bekanntes Problem in Open-EditingSystemen. Sie zerstören mutwillig Inhalte, stellen aber für die Community ein weit geringeres Problem dar, als allgemein angenommen wird. Leute „außerhalb“ des Wikis werden in ihrer Bedeutung oft übersehen. Sie entwickeln die Wiki-Technologie als Programmierer weiter. Auch spielen Leute eine Rolle, die vorwiegend in anderen Kommunikationsmedien Wiki-Inhalte entwickeln (über Chats oder Mailing-Listen).
1.5.2 Grenzen der Wiki-Philosophie Wikis sind nicht von Haus aus „erfolgreich“ und schon gar kein Allheilmittel. Produktiven Gruppenprozessen stehen immer auch destruktive Praktiken entgegen mit denen auch die großen WikiCommunities von Beginn an zu kämpfen haben. Bei der Problemanalyse ist zu unterscheiden, ob eine Gruppendynamik aus einem konstruktiven Prozessbeginn heraus ins Negative kippt oder ob Wikis schon als ganz normale Werkzeuge keine Akzeptanz finden. Werden Wikis als Werkzeuge nicht akzeptiert und nicht in den Arbeitsalltag integriert, teilen auch Wiki-Systeme das Los vieler Wissensmanagementsysteme. Meist schreibt ein Einzelner allein und die anderen lesen nur. Oder das Wiki-System wird überhaupt nicht konsultiert. Es gibt zahlreiche Wiki-Systeme, deren Möglichkeiten wegen Interesselosigkeit oder Lethargie nicht entfaltet werden können. Die Ursachen sind vielfältig. Meist wurden soziale Komponenten beim Umgang mit neuer Software unterschätzt. Nicht wenige Betreiber setzen schon in die pure Bereitstellung eines WikiSystems hohe Erwartungen und sind schnell enttäuscht, wenn es nicht sofort auf Resonanz stößt. Aber: Auch wenn technische Hürden gering sind, muss der Umgang mit Wikis „gelernt“, müssen Menschen interessiert oder an das System herangeführt werden. Dabei geht es auch um das Verständnis, dass ein Wiki niemals „fertig“ ist und auch nicht alles sofort funktioniert. Die Tatsache, dass man es nicht mit einem WYSIWYG-System zu tun hat, kann zu Berührungsängsten führen, die erst einmal ernst genommen werden müssen. Die Akzeptanz von Wikis hängt von dem Grad ab, inwieweit ich als Person einen wirklichen persönlichen Nutzen daraus ziehen
1.5 Das Wiki-Phänomen
Interesselosigkeit
33
Soziales Umfeld und Arbeitswelt
Vandalismus
kann. Daher ist es weiter notwendig, dass das Wiki zu Beginn nicht leer ist, sondern bereits eine bestimmte Zahl von wirklichen Inhalten bereithält, an denen weitergearbeitet werden kann oder zu denen Ergänzungen möglich sind. Das heißt auch, dass eine kleine Kerngruppe, die das Wiki für sich nutzt und sich dafür auch verantwortlich fühlt, von großer Bedeutung ist. Mit Wikis kann das Arbeitsumfeld beeinflusst werden und gleichzeitig sind sie von diesem auch abhängig. Die Nutzung offener Systeme stößt in unserer heutigen Arbeitswelt auf zahlreiche Widerstände. Die mangelnde Bereitschaft von Führungspersonen (Projektleiter, Bereichsleiter etc.), offene Systeme in privaten Unternehmen zuzulassen, ist nur ein Beispiel.21 Dasselbe kann jedoch auch in autoritären Verbandsstrukturen geschehen. Hohe Arbeitsbelastung, familiäre und soziale Verpflichtungen oder die Sorge um die soziale Sicherung lässt oft wenig Spielraum für die doch zum Teil aufwändigen freien Kooperationsformen. Kommen wir noch einmal zum Thema „Vandalismus“ und Vandalismus zurück. Es fällt auf, dass bei Wiki-Projekten die (Zer)Störungen verhältnismäßig unbedeutend bleiben. Hier wird vermutet, dass das Knacken eines offenen Systems für „ernstzunehmende“ Cracker keinen großen Reiz darstellt. Ein offenbar wirksames Gegenmittel stellt das WikiWikiWeb-Server-Prinzip mit der Versionskontrolle selbst zur Verfügung. Damit gibt es die Möglichkeit, dass jeder jederzeit die frühere Version wiederherstellen kann. In Systemen mit großer Besucherfrequenz fallen die Störungen schnell auf, wie Systeme mit vielen Beteiligten generell dazu tendieren „stabiler“ zu sein. Wikipedia zum Beispiel setzt Seiten, die häufig zerstört werden auf eine eigene Liste, auf die die Administratoren ein besonderes Augenmerk haben. Laut einer IBM-Studie werden mutwillige Zerstörungen in der freien Enzyklopädie Wikipedia oft innerhalb von fünf Minuten beseitigt: „We were surprised at how often we found vandalism, and then surprised again at how fast it was fixed,“22 berichtet Martin Wattenberg, Wissenschaftler im IBM TJ Watson Research Center, in Cambridge, Mass. Die Tatsache, dass viele den Prozess kontrollieren und jeder sofort eingreifen kann, ist in den großen, öffentlichen Wikis das wichtigste Element der Qualitätskontrolle. Dies erfordert nur ein entsprechendes Problembewusstsein bei den Nutzern, die mit solchen Angriffen rechnen. Allerdings können schon mutwillige Änderungen an Kleinigkeiten 21
Auch in Betrieben, in denen Hierarchien abgebaut werden, geht dies nicht zwingend mit einer höheren Transparenz betrieblicher Strukturen einher. 22 IBM 2003.
34
1 Das Wiki-Konzept
die Qualität stark beeinträchtigen, ohne dass es sofort auffällt. Eine andere – letzte – Methode, ist schon angesprochen worden: die Sperrung einer Seite – was das Ende der Wiki-Philosophie für diese Seite bedeutet. Größere Probleme gehen von Personen aus, die Wikis als Plattform zur Selbstdarstellung nutzen oder nicht partnerschaftlich diskutieren wollen. Provokationen und grundsätzliche Fragestellungen sind ggf. durchaus sinnvoll, um eingefahrene Denkmuster aufbrechen. Unterschiedliche Meinungen zu einem Thema entwickeln sich nicht selten zu „Editierkriegen“. Sogenannte „Trolls“ rufen in langen, überflüssigen oder provokativen Beiträgen bewusst Flame Wars hervor. Diese Auseinandersetzungen, die in der Sache nichts bringen, kosten viel Energie. „Wiki pages represent consensus because it’s much easier to delete flames and spam then indulge them.“23 Trolls werden bei vielen Wikis mittels Diskussionsseiten von den Artikeln abgehalten, damit sie sich gegebenenfalls nur auf dieser Metaebene austoben und die eigentlichen Inhalte nicht „verrauschen“24. Zudem haben sich bei Wikipedia einige Vermittlungsprozeduren und offene Instanzen etabliert, wie Ad-hoc-Vermittlungskommissionen oder offen diskutierte Ausschlussanträge. Bei ganz hartnäckigen Fällen besteht zusätzlich die Möglichkeit, über eine IP-Liste bestimmte Nutzer zeitweise oder für immer zu blockieren. Um die Transparenz zu fördern und Willkür auszuschließen, kann man eine Liste der gesperrten User jederzeit aufrufen und sich über Initiator und Grund der Sperrung informieren. Ein solcher Ausschluss bestimmter IP-Adressen führt umgekehrt wieder zum Problem, dass aus Versehen auch nicht-ausgeschlossene User keinen Zugang mehr erhalten.25 Ein weiteres Problem ist, dass Störer sich ggf. unter einem neuen Namen wieder anmelden können. Möller gibt in seinem 2005 erschienenen Buch „Die heimliche Medienrevolution“ einen umfassenden Einblick in die Probleme und Lösungsansätze im Umgang mit schwierigen Kontroversen und Vandalismus im Umfeld von Blogs und Wiki-Communities.26 Den besten Überblick über die Diskussionskultur und Entscheidungsprozesse verschafft man sich mit einem Besuch bei Wikipedia. Machen wir kurz einen Besuch auf der Projektportalseite.27 Hier finden sich Leitlinien und Konventionen, Diskussionsseiten für Adminkandidatinnen und –kandidaten, Hinweise auf die Moderation
Selbstdarsteller
Ausflug Projektportal
23
Why Wiki Works, http://c2.com/cgi/wiki?WhyWikiWorks, 10.2.2007. Aronsson 2002. 25 Da IP-Adressen nicht immer fest vergeben werden. 26 Möller 2005. In Ansätzen auch in: Möller 2003. 27 http://de.wikipedia.org/wiki/Wikipedia:Portal, 10.2.2007. 24
1.5 Das Wiki-Phänomen
35
Qualitätssicherung und Wikiquette
Neutral Point of View
Open Editing
und Seiten, auf denen Meinungsbilder eingeholt werden. Auf der Seite des Vermittlungsausschusses sind abgeschlossene Problemfälle dokumentiert. Natürlich lohnt auch mal ein Blick auf die Diskussionsseiten einzelner Artikel. Wir sehen: Zur Qualitätssicherung und zur Konfliktbewältigung haben sich beispielsweise bei Wikipedia einige Instanzen, Regeln und Praktiken gebildet. Wir finden Namens- und Formatierungskonventionen, es werden gute Artikel beispielhaft vorgestellt und Qualitätsoffensiven in bestimmten Themenbereichen durchgeführt. Eine Wikiquette gibt Empfehlungen für den partnerschaftlichen Umgang der Nutzer miteinander: 28 Vom guten Willen des anderen ausgehen, Sachlichkeit, gegenseitige Hilfe und Ermunterung, Freundlichkeit werden den Nutzern ebenso nahegelegt wie bei Konflikten, die sich unvermeidlich ergeben, nicht nachtragend zu sein. Schließlich gibt es Vermittlungsausschüsse. Doch bleibt der Gesamtcharakter den demokratischen Grundüberzeugungen verpflichtet. Alles andere würde das Projekt scheitern lassen. Ein besonders heikler Punkt ist das Glaubwürdigkeits- und Objektivitätsproblem. Bei Wikipedia wird dies u. a. unter dem Schlagwort „Neutral Point of View“ diskutiert. Da viele Menschen aus aller Welt mit den unterschiedlichsten politischen und religiösen Auffassungen teilnehmen, ist Wikipedia dazu verpflichtet, die Artikel so unparteiisch wie möglich zu formulieren. Ziel ist es nicht, einen Beitrag so objektiv wie möglich zu schreiben – dies ist ein häufiges Missverständnis – sondern alle Ansichten zu einem Thema darzustellen. Die meisten Wiki-Nutzer haben daher gelernt, sich eine möglichst konfliktfreie Ausdrucksweise anzugewöhnen. Anstelle von „Äpfel schmecken gut“ wird dann eher ein „Manchen Leuten schmecken Äpfel gut.“ verwendet. Die Problematik der scheinbaren „Neutralität“ werden wir am Ende des Buches noch einmal aufgreifen. Das Aufgeben des Autorenprinzips („Open editing“ ) ist ein Aspekt des kooperativen Arbeitens. Das wirft einige Fragen auf: Ist jemand bei kooperativ erstellten Texten rechtlich verantwortlich? Wer ist Autor? Traditionelle Zeitungen und Enzyklopädien stellen zwar auch eine Zusammenstellung von Beiträgen verschiedener Autoren dar, doch besteht bei offenen Wikis eben kein typisches Arbeitsverhältnis zwischen Verleger und Verfasser. Wiki-Texte unterliegen damit nicht unmittelbar dem Zwang der Vermarktbarkeit. Hier kommt dem individuellen Autor auf der einen Seite eine wesentlich stärkere, unabhängigere Rolle zu, während er auf der anderen Seite in offenen Systemen gleichzeitig als individueller Autor verschwindet. 28
36
http://de.wikipedia.org/wiki/Wikipedia:Wikiquette, 10.2.2007.
1 Das Wiki-Konzept
Ein weiterer interessanter Bereich ist die Eigentums- und CopyrightProblematik „freier“ Texte. Da viele Leute zu den Inhalten beitragen, ist die Frage zu klären, ob jemand Anspruch auf das Copyright einzelner Artikel oder gar der ganzen Sammlung reklamieren kann. Wikipedia z. B. räumt jedem Nutzer das Recht ein, seine eigenen Beiträge zu schützen. Allerdings wird er beim Speichern der Seite darüber informiert, dass er nur von einem bestimmten Copyright, nämlich der GNU Free Documentation License (FDL) Gebrauch machen darf. Dies bedeutet kurz gesagt, dass jeder den Text kopieren und für andere Zwecke benutzen darf, vorausgesetzt, er stellt jedem weiteren Leser den Ursprungstext zur Verfügung, was am einfachsten durch einen Link auf die Wikipedia-URL zu bewerkstelligen ist.29 Es stellt sich außerdem die Frage, wie in Wikis mit Material, das durch Copyright geschützt ist, umgegangen wird und wer für eventuell entstandenen Schaden verantwortlich ist. Derzeit gibt es noch keine Präzedenzfälle. Doch unterscheidet die Gesetzgebung der meisten europäischen Länder zwischen redaktionell betreuten Zeitungen, bei denen der Herausgeber verantwortlich wäre, und Bulletin Board Systems oder den Diensten eines Internet-Providers, wo der einzelne Nutzer die Verantwortung trägt. Wikis sind eher letzterem zuzurechnen. Probleme und Rückschläge wird es auch bei Wikis geben. Die Wiki-Philosophie mag manches zu optimistisch sehen. Trotzdem geben die bisherigen Erfahrungen Anlass zu einer offenen und optimistischen Haltung gegenüber diesen Entwicklungen. Die bisher bekannten und hier angedeuteten Probleme sind keine grundsätzlichen Showstopper. Begreift man menschliche Verhältnisse als permanente kollektive Lernprozesse, so kann man nicht dabei stehen bleiben, dass der Mensch nun mal so sei. Vielmehr wäre nach den Ursachen von „Lern“-Blockaden zu fragen (Vorbehalte, Unsicherheiten, Noch-nicht-Durchschauen von Gruppenprozessen). Brechts Vorbemerkung zu seiner „Radiotheorie“ gibt einen Ratschlag zum Umgang mit den „Unmöglichkeiten“ von Wikis:
Open Text
Verhaltener Optimismus
„Undurchführbar in dieser Gesellschaftsordnung, durchführbar in einer anderen, dienen die Vorschläge, welche doch nur eine natürliche Konsequenz der technischen Entwicklung bilden, der Propagierung und Form dieser anderen Ordnung. [...] Sollten Sie dies für utopisch halten, so bitte ich Sie, darüber nachzudenken, warum es utopisch ist.“
29
Aronsson 2002.
1.5 Das Wiki-Phänomen
37
1.6 Ein paar Wiki-Seiten Bilder sagen mehr als Worte. Deshalb zeigen wir auf den folgenden Seiten einige Wiki-Seiten als Beispiele. Die Auswahl folgt keinen speziellen Kriterien. Vielmehr möchten wir einen Eindruck über die Vielfältigkeit der Wiki-Software vermitteln. Wikipedia (www.wikipedia.de): Steht hier nur der Vollständigkeit halber. Wir empfehlen, einmal hinter die Kulissen zu sehen: auf das Autorenportal, in die Projektdiskussionen oder zu den Schwesterprojekten. ZumWiki (www.zumwiki.de): Offene Plattform für Lehrinhalte und Lernprozesse. Es ist ein Wiki für Lehrerinnen, Lehrer und andere Interessierte. Rezepte-Wiki (www.rezeptewiki.de): Freie Sammlung von Kochund Backrezepten, zu der jeder seine Lieblingsrezepte einfach und auch ohne Anmeldung beitragen kann. Hier mit eingebundenen Koch-Videos. Wikitravel (www.wikitravel.org): Projekt mit dem Ziel, einen vollständigen, aktuellen und verlässlichen weltweiten Reiseführer zu erstellen, dessen Inhalte frei verfügbar sind. DorfWiki (www.dorfwiki.org): Virtueller Begegnungs-, Lern- und Arbeitsraum auf Wiki Basis, in dem jeder mitschreiben kann und soll, dem das Thema „Dorf“ und „Dörflichkeit“ am Herzen liegt. Memory Alpha (www.memory-alpha.org): Freies, gemeinschaftliches Projekt zur Erstellung einer umfangreichen Enzyklopädie rund um Star Trek. JuraWiki (www.jurawiki.de): JuraWiki stellt eine freie Kommunikations- und Kooperations-Plattform für Juristen und juristisch Interessierte da. wiki.LIBERAL (my.fdp.de/wiki): Eines der wenigen Beispiele aus der Politik. Hier soll alles Wissenswerte zur Freien Demokratischen
38
1 Das Wiki-Konzept
Partei, ihrer Programmatik und ihrer Geschichte zusammengetragen werden. Placeopedia (www.placeopedia.com): Placeopedia ist ein Wiki, das Google Maps und Wikipedia-Artikel verbindet. Semapedia (www.semapedia.org): Semapedia hat zum Ziel, die virtuelle Welt der Wikipedia durch Semapedia-Tags mit der realen Welt zu verknüpfen. Dies sind durch Handys lesbare physische Hyperlinks.
1.7 Wichtige Ressourcen im WWW WikiEngines (c2.com/cgi/wiki?WikiEngines): Diese Seite auf Wards Wiki listet zahlreiche Wiki-Engines auf; u.a. nach Programmiersprachen sortiert. WikiMatrix (www.wikimatrix.org): Vergleichen Sie ca. 70 WikiKlone miteinander. OpensourceCMS (www.opensourcecms.com): Hier kann man die bekanntesten Open Source Content Management Systeme und Wikis testen. MeatballWiki (usemod.com/cgi-bin/mb.pl): Das englische Meatball-Wiki versteht sich als Plattform für Praktiker, die sich mit Online-Communities beschäftigen. GründerWiki (www.wikiservice.at/gruender/wiki.cgi?StartSeite): Das GründerWiki eigentlich ein deutscher Pendant zum MeatballWiki.
1.7 Wichtige Ressourcen im WWW
39
II. Unser erstes Wiki: MediaWiki
2
Die Installation
Zum Kennenlernen und Testen eines Wikis ist es ratsam, ein System auf dem eigenen Computer zu installieren, anstatt sich gleich in die Tiefen des Internets zu begeben. Erstens haben Sie lokal die volle Kontrolle über die verwendete Software und deren Einstellungen. Im Netz ist dies nur dann der Fall, wenn Sie Administrator des Servers sind, auf dem das Wiki läuft. Zweitens können in einer OnlineVersion (fast) alle Einträge potentiell von der gesamten Welt gelesen werden. Es ist die Frage zu stellen, ob diese sich wirklich für jeden Testeintrag interessiert; zudem spielen hier auch schnell urheberrechtliche Fragen eine Rolle. Bei einem lokalen Testsystem hingegen können Sie kontrollieren, wer Zugriff auf Ihren Computer hat und experimentieren, ohne sich jedes Mal über Relevanz und rechtliche Fragen den Kopf zerbrechen zu müssen. Die Installation von Wikis läuft im Prinzip immer nach einem ähnlichen Schema ab. Zuerst müssen Sie die Umgebung, in der das Wiki läuft, schaffen und anpassen, also v. a. den Webserver und gegebenenfalls die Datenbank einrichten. Dann kopieren Sie die Dateien der Wiki-Software an den richtigen Ort und stellen eine oder mehrere Konfigurationsdateien von Hand oder automatisch auf die Systemumgebung ein. Hier sind vor allem die Angabe von Pfaden, Sprache und Verbindung zur Datenbank wichtig. Zudem bieten manche Wikis die Möglichkeit, einige Einstellungen direkt über den Browser vorzunehmen. Die einzelnen Schritte zur Installation und Einrichtung des MediaWikis werden im Folgenden beschrieben.
Lokale Installation
Installation von Wikis
Hinweis: Die Installation ist für die Software-Version 1.10.1 beschrieben, die Sie auch auf der CD finden. Wenn Sie es bevorzugen, die aktuellen Pakete aus dem Netz zu laden, kann es zu Abweichungen kommen.
2.1 Eine Testumgebung mit XAMPP
43
2.1 Eine Testumgebung mit XAMPP Testumgebung
Da Wikis ihrer Natur nach Bestandteile des WWW sind, ist es im lokalen Betrieb nötig, für die eigentliche Software eine Testumgebung zu erstellen. Diese besteht beim MediaWiki aus einem Webserver, der Skript-Sprache PHP (ab 5.0) sowie der Datenbank MySQL (ab 4.0). Die Installation und das Zusammenspiel dieser Komponenten ist komplex und ihre Beschreibung Regale füllend. Dies ist jedoch nicht Gegenstand unseres Buches. Glücklicherweise gibt es eine Zusammenstellung, die es erlaubt, alle benötigten Komponenten mit minimalem Konfigurationsaufwand gemeinsam zu installieren: XAMPP. Diese Abkürzung steht für „Apache MySQL PHP Perl“ (das X ist ein Platzhalter für das Betriebssystem), und damit für Komponenten, die zusammen eine mögliche StandardAusstattung eines Webservers ergeben. Sollte diese Software bereits auf Ihrem Computer laufen, können Sie dieses Kapitel überspringen und gleich mit der Installation des MediaWiki beginnen. Tipp: Wenn Sie schon einen Webserver auf Ihrem Computer installiert haben, kann es sein, dass XAMPP nicht funktioniert. Dies ist beispielsweise bei dem IIS der Fall. Zum Zeitpunkt der Drucklegung liegt XAMPP in der Version 1.6.3 vor. Diese ist auf der beigefügten CD im Verzeichnis /xampp/[Betriebssystem] zu finden. Die jeweils neueste Zusammenstellung kann unter der URL www.apachefriends.org/de/ xampp.html heruntergeladen werden.
2.1.1 XAMPP für Windows XAMPP installieren
44
XAMPP läuft unter allen Windows-Varianten. Sie benötigen 64 MB RAM-Speicher und ca. 110 MB freien Speicher auf Ihrer Festplatte, was für gängige Computersysteme keine große Hürde darstellen dürfte. Führen Sie einfach die .exe-Datei im entsprechenden Verzeichnis auf der CD aus. Sie werden nun aufgefordert, Ihre Sprache anzugeben. Daraufhin sehen Sie das Installationsprogramm. Starten Sie die Einrichtung mit Weiter. Nun können Sie noch den Pfad bestimmen, in dem das System eingerichtet werden soll. Wenn Sie den Beispielen im Buch genau folgen wollen, geben Sie hier C:\apachefriends an. Mit Installieren geht es los. Das Programm legt einen Ordner [Laufwerk]\apachefriends\xampp an, der alle mit-
2 Die Installation
gelieferten Komponenten enthält. Darüber hinaus werden die Parameter in den jeweiligen Konfigurationsdateien entsprechend den Gegebenheiten Ihres Systems angepasst. Es werden keine Einträge in die Registrierung gemacht und auch keine Systemvariablen gesetzt. Zur Deinstallation reicht es also aus, einfach das Verzeichnis zu löschen, in dem sich die Software befindet. Nach der erfolgreichen Installation werden Sie gefragt, ob Sie Apache, MySQL, FileZilla FTP-Server als Dienst installieren wollen. Beantworten Sie das mit Nein, sonst werden diese Dienste bei jedem Systemstart automatisch aktiviert. Nun werden Sie gefragt, ob Sie das XAMPP Control Panel starten möchten. Hiermit können Sie diese Dienste nachträglich aktivieren. Abb. 2.1
Um XAMPP zu starten, führen Sie die Datei xampp_start.exe im Verzeichnis xampp aus oder wählen Sie XAMPP BASIC START im APACHEFRIENDS XAMPP. ÖffStartmenü unter PROGRAMME nen Sie einen Browser und geben Sie als URL http://127.0.0.1 oder http://localhost ein. Dies ist immer die Adresse des lokalen Testsystems. Sie sollten nun die Startseite der XAMPP-Umgebung sehen (s. Abb. 2.2). Wie Sie sicher bemerkt haben, bleibt das DOS-Fenster geöffnet, das die XAMPP-Umgebung gestartet hat. Hier laufen einige der benötigten Programme. Um die Test-Umgebung zu beenden, ist es jedoch nicht empfehlenswert, dieses Fenster einfach zu schließen, da manche der gestarteten Dienste davon unabhängig sind und auf diese Art nicht abgeschaltet werden. Für ein „sauberes“ Beenden ist es daher zu empfehlen, die Datei xampp_stop.exe im gleichen Verzeichnis auszuführen.
2.1 Eine Testumgebung mit XAMPP
XAMPP starten
45
2.1.2 XAMPP für Linux XAMPP installieren
Bei der Fülle von LINUX/UNIX-Varianten muss man mit generellen Aussagen vorsichtig sein, aber im Prinzip sollte XAMPP auf allen Systemen laufen. Sie benötigen ca. 110 MB Platz auf Ihrer Festplatte. Die Installation ist einfach. Holen Sie sich das Installationspaket von der CD in Ihr Homeverzeichnis. Rufen Sie eine Shell auf. Sie sollten als Administrator eingeloggt sein. Falls das noch nicht der Fall ist, wechseln Sie mit su. Dann geben Sie folgenden Befehl zum Entpacken des Archivs ein: tar xvfz xampp-linux-1.6.tar.gz -C /opt
XAMPP starten
Fertig. XAMPP ist nun im Verzeichnis /opt/lampp installiert. Sie starten Ihre Testumgebung mit dem Befehl /opt/lampp/lampp start Rufen Sie nun einen Browser auf und geben Sie als URL http://127.0.0.1 oder http://localhost ein. Daraufhin sollte die XAMPP-Sprachwahl und nach dem Klick auf Deutsch die Startseite erscheinen. Zur Beendigung des Testsystems dient der Befehl /opt/lampp/lampp stop Damit werden alle gestarteten Komponenten der Testumgebung regulär beendet.
2.1.3 Was passiert hier eigentlich? Zusammenspiel der Komponenten
Wenn Sie XAMPP gestartet haben, läuft auf Ihrem Computer ein Webserver. Dieser wartet auf Anfragen über das HTTP-Protokoll, welche in der Regel von einem Browser gestellt werden, und beantwortet diese mit einer HTML-Seite oder Datei. Bei lokalen Systemen ist der Webserver immer unter der Adresse 127.0.0.1 oder localhost ansprechbar. Auf diese Art werden einfache Homepages vom Server zum Browser übermittelt. Hinweis: Wenn Sie gleichzeitig online sind, so kann jeder Nutzer aus dem Internet eine Anfrage an Ihren Webserver richten, wenn er Ihre IP-Adresse kennt. Dies gilt natürlich nur, solange XAMPP aktiv ist.
46
2 Die Installation
Tipp: Unter Linux können Sie die Sicherheit des Systems erhöhen, indem Sie den Befehl /opt/lampp/lampp security eingeben. Daraufhin werden Sie aufgefordert, Passwörter für den Betrieb der einzelnen Komponenten zu setzen. Unter Windows finden Sie auf der XAMPP-Startseite den Sicherheitscheck. Dort ist ein Link zu finden, mit dem Sie die nötigen Passwörter setzen können Komplexere Websites (z. B. Wikis) benötigen in der Regel eine weitergehende Verarbeitung von Daten. Dies wird mit kleinen Programmen, so genannten Skripten, erreicht. Wenn Sie per Browser ein PHP- oder Perl-Skript anfordern (meistens erkennbar an der Endung .php bzw. .pl), führt der Webserver zunächst dieses Programm aus und sendet dann die Ausgaben, die generiert wurden, zurück an den Browser. Skripten wiederum können Anfragen an die Datenbank MySQL schicken und so Daten auslesen und weiterverarbeiten. Wenn Sie sich auf der XAMPP-Startseite befinden, werden Sie aufgefordert, Ihre Sprache zu wählen (per Link). Daraufhin kommen Sie zur eigentlichen Übersichts-Seite von XAMPP.
XAMPP Startseite
Abb. 2.2
Für die Belange dieses Buches sind nur einige der Optionen von Bedeutung. Unter Status können Sie sehen, welche Komponenten aktiv sind. Hier ist natürlich wichtig, dass MySQL und PHP aktiviert sind. Ist dies nicht der Fall, so ist bei der Installation ein Fehler aufgetreten und Sie sollten diese wiederholen. Unter der Rubrik Tools
2.1 Eine Testumgebung mit XAMPP
Umgebung testen
47
finden Sie das Programm phpMyAdmin, mit dem Sie per Webinterface bequem Ihre Datenbank verwalten können (s. Abb. 2.2). Die Dateien einer eigenen Homepage können im Verzeichnis xampp/htdocs unter Windows bzw. /opt/lampp/htdocs unter Linux abgelegt werden. Dies ist das Standard-Verzeichnis, auf das Apache zugreift, wenn er auf eine Anfrage reagieren will. Um dies zu testen, erstellen Sie ein Unterverzeichnis xampp/htdocs/test bzw. lampp/ htdocs/test1. Öffnen Sie nun einen Text-Editor und speichern Sie folgenden HTML-Code als index.php im Test-Ordner. Dies ist ein Test
Eigene Seiten werden hier angezeigt
Wenn Sie nun im Browser die Adresse http://localhost/test aufrufen, sollte die eben erstellte Datei angezeigt werden. Wenn auch die PHP-Ausgabe zu sehen ist, dann war die Installation erfolgreich. Achtung: Es kommt vor, dass versehentlich eine Datei mit der falschen Erweiterung („Extension“) abspeichert wird – z. B. mit .htm statt .php oder umgekehrt. Unter Windows tritt bei dem Versuch, die Datei umzubenennen häufig der Fehler auf, dass vom Betriebssystem die alte Programmerweiterung automatisch angehängt wird. Sie können dies beispielsweise bei Windows XP beheben, indem Sie unter ARBEITSPLATZ EXTRAS ORDNEROPTIONEN ANSICHT die Option Erweiterungen bei bekannten Dateitypen ausblenden deaktivieren.
2.2 MediaWiki installieren Dateien kopieren
Nachdem Sie sich eine Testumgebung auf Ihrem Computer installiert haben, geht es nun an die eigentliche Installation des MediaWiki. Wir haben die Version 1.10.1 auf der beigefügten CD im Ver1
Im Folgenden wird zur Vereinfachung bei Pfadangaben immer die „xampp“-Variante verwendet.
48
2 Die Installation
zeichnis /wikis/mediawiki gespeichert. Alternativ finden Sie die jeweils aktuelle Version unter der URL http://www.mediawiki.org. Tipp: Beim Download kann es bei einigen Browsern (z. B. Mozilla) dazu kommen, dass die Dateiendung von .tar.gz in .tar.gz.tar umbenannt wird. Dies führt eventuell zu Problemen mit den Dekomprimierungsprogrammen. Stellen Sie daher sicher, dass die Datei die richtige Endung hat.
2.2.1 Variante 1: Lokales System Kopieren Sie die komprimierte Datei ins Verzeichnis xampp/htdocs und entpacken sie diese mit FilZip2 unter Windows. Unter Linux mit dem Befehl tar xvzf mediawiki-1.10.1.tar.gz Es wird ein Verzeichnis mediawiki-1.10.1 angelegt. Tipp: Wenn Sie statt dem Verzeichnis eine Datei mediawiki1.10.1.tar finden, so entpacken Sie diese einfach nochmals. Als Erleichterung beim Aufruf empfehlen wir, dieses Verzeichnis einfach in „mediawiki“ umzubenennen. Wenn Sie unter Linux arbeiten, müssen Sie das Verzeichnis mediawiki/config beschreibbar machen. Das tun Sie am besten in mediawiki mit dem Befehl
Linux: Rechte setzen
chmod a+w config Für aktuelle Hinweise sollten Sie zunächst die Datei README im Verzeichnis mediawiki lesen. Geben Sie dann zur Einrichtung des Wikis in einem Browser Ihrer Wahl die Adresse des Installationsverzeichnisses ein, in unserem Fall
Einrichtung über den Browser
http://localhost/mediawiki Dies ist die Adresse, unter der wir das Wiki im Folgenden ansprechen werden. Zunächst sehen Sie nur die Meldung please setup the wiki first. Wie Sie die Installation fertig stellen erfahren Sie im übernächsten Abschnitt (2.2.4). 2
Dieses Programm finden Sie auf der CD unter /tools/filzip.
2.2 MediaWiki installieren
49
2.2.2 Variante 2: Installation auf einem Webhost Um das MediaWiki im Netz zu installieren, benötigen Sie zunächst eine Adresse (URL) und Speicherplatz im Netz. Beides stellen Ihnen so genannte Webhosts zur Verfügung. Wir gehen davon aus, dass Sie einen FTP-Zugang zu Ihrem Webspeicherplatz haben. Es ist darüber hinaus unbedingt für den Betrieb des MediaWiki notwendig, auf eine MySQL-Datenbank zuzugreifen und PHP-Skripte ausführen zu können. Entpacken Sie das komprimierte Archiv des Wikis in ein temporäres Verzeichnis mediawiki auf Ihrer Festplatte. Es entsteht eine Verzeichnisstruktur, die Dateien werden gleich an ihren richtigen Ort gelegt. Laden Sie daraufhin den gesamten Ordner per FTP in den Webordner Ihres Webhosts. Dies ist meistens derjenige Ordner, auf den Sie als erstes zugreifen, wenn Sie zum FTP-Server verbinden. Überprüfen Sie nun die Eigenschaften des Ordners mediawiki/config auf Ihrem Webserver. Dieser muss allen Nutzern Schreibrechte einräumen. Wenn diese nicht gesetzt sind, so können Sie mit den meisten FTP-Programmen die Eigenschaften direkt ändern und den Ordner beschreibbar machen. Für die weitere Installation benötigen Sie noch die Zugangsdaten zu Ihrer Datenbank. Das sind Angaben zur URL des MySQL-Servers, der Name der Datenbank, Ihr Datenbank-Username und das zugehörige Passwort. Wenn Sie diese Informationen bereit haben, so können Sie die browsergestütze Installation starten, indem sie die URL Ihrer Homepage gefolgt von „mediawiki“ eingeben, also beispielsweise http://www.wiki-tools.de/mediawiki
2.2.3 Ein lokales System zum Webhost übertragen Haben Sie das Wiki lokal bereits vorbereitet und wollen es zum Webhost übertragen, so sind drei Schritte auszuführen. 1. Kopieren Sie die Dateien aus dem lokalen MediawikiVerzeichnis in das Verzeichnis auf dem Webhost, wo das Wiki ausgeführt werden soll. 2. Übertragen Sie die Datenbank. Dies geht am einfachsten mit phpmyadmin, das Sie lokal unter http://localhost/phpmyadmin
50
2 Die Installation
aufrufen können. Wählen Sie rechts die Datenbank aus (wahrscheinlich „mediawiki“) und klicken Sie oben auf den Reiter Exportieren. Wählen Sie alle Tabellen in der Listbox direkt unter Exportieren und setzen Sie den Haken bei Senden. Drücken Sie nun auf OK. Jetzt wird Ihnen eine Datei zum Download angeboten, die die Datenbank enthält. Im nächsten Schritt müssen Sie die Datenbank auf dem Webhost importieren. Die meisten Hosts stellen ebenfalls phpmyadmin zur Verfügung. Rufen Sie die Zieldatenbank auf und klicken Sie auf den Reiter SQL. Dort finden Sie ein Feld Datei, wo Sie über den Knopf Durchsuchen die eben erstellte Datenbankdatei einfügen können. Klicken Sie dann auf OK und die Datenbank wird importiert. 3. Nun müssen Sie noch die Einstellungsdatei LocalSettings.php an die neuen Gegebenheiten anpassen. Die relevanten Informationen finden Sie unter $wgScriptPath. Hier muss der Pfad relativ zu Ihrem Webverzeichnis eingetragen werden. Passen Sie als letztes die Datenbankparameter an, indem Sie hinter $wgDBserver, $wgDBname, $wgDBuser und $wgDBpassword jeweils die Daten der neuen Datenbank eintragen, also Servername, Datenbankname, Benutzername und Password der Datenbank. Jetzt sollte die Seite auf dem Webserver lauffähig sein.
2.2.4 Fertigstellen der Installation im Browser Sie müssen noch einige Einstellungen vornehmen, um mit dem Wiki arbeiten zu können. Das MediaWiki ist hier sehr benutzerfreundlich, da alle Angaben per Browser gemacht werden können. Folgen Sie dazu einfach dem Link Please setup the wiki first, über den Sie zur Installations-Seite gelangen (s. Abb. 2.3). Als erstes prüft das Skript Ihre Systemumgebung, um festzustellen, ob die vorhandene Software und deren Einstellungen für den Betrieb des MediaWiki geeignet sind. Wenn am Ende der Checkliste in grün Environment checked. You can install MediaWiki zu lesen ist, können Sie beruhigt fortfahren. Im nächsten Abschnitt der Installations-Seite werden Sie gebeten, einige Angaben über das neue Wiki zu machen. Manche Einstellungen können nachträglich nicht mehr geändert werden.
2.2 MediaWiki installieren
Prüfung der Systemumgebung
51
Abb. 2.3
Der Name Ihres Wikis
Dies betrifft insbesondere den Namen des Wikis. Er sollte daher gut gewählt werden. Gute Namen sind relativ kurz und aussagekräftig z.B. SippiWiki. Wenn Sie mehrere Wörter verwenden wollen, können Sie ein WikiWord benutzen, indem Sie die Wörter mit großem Anfangsbuchstaben zusammenschreiben, was beim MediaWiki jedoch nur eine symbolische Bedeutung hat. Achtung: Vorsicht bei Punktierung und Sonderzeichen! Da manche im Wiki auch eine spezielle Funktion erfüllen, kann es bei deren Verwendung im Titel zu Problemen kommen; sie sollten daher vermieden werden.
Kontakt
Sprache
Lizenz
52
Als nächstes sollen Sie eine E-Mail-Adresse als Kontakt angeben, an die das MediaWiki im Fall eines Systemfehlers eine Nachricht sendet. Außerdem werden vergessene Passwörter von dieser Adresse aus verschickt, d. h., es kann sein, dass User diese Adresse nutzen, um Fragen an Sie zu richten. Im folgenden Feld stellen Sie die Sprache des Wikis ein. Je nachdem, welches Publikum Sie ansprechen wollen und vor allem, wie international Ihre Zielgruppe ist, sollten Sie sich überlegen, ob Sie Ihr Wiki in Deutsch oder Englisch aufsetzen. Für alle Sprachen wird die Zeichencodierung Unicode (UTF-8) benutzt. Nun sollen Sie über die Lizenz entscheiden, die für die Seiten im Wiki gelten soll. In einem öffentlichen Wiki ist es nicht sinnvoll, die Lizenzfrage offen zu lassen, insbesondere um Missbrauch von kollektiv erarbeiteten Werken zu vermeiden. Eine ausführlichere Auseinandersetzung mit Eigentumsfragen finden Sie in Abschnitt VI.
2 Die Installation
Hier sei nur gesagt, dass die GNU Free Documentation License jede kommerzielle Nachnutzung eines Textes kategorisch ausschließt, wohingegen Sie bei der Creative Commons License wählen können, ob Sie Teile von anderen kommerziell verwerten lassen wollen. Daraufhin werden Sie aufgefordert, Benutzername und Passwort des Administratoraccounts festzulegen. Der Administrator ist zunächst der einzige, der Seiten löschen und User sperren darf. In einem öffentlich zugänglichen Wiki empfehlen wir daher dringend, den vorgeschlagenen Accountnamen „WikiSysop“ nicht zu verwenden, sondern eine eigene Bezeichnung einzutragen und ein sicheres Passwort zu wählen. Dies kann auch auf einem Testsystem nicht schaden. Die Einstellungen zum Shared memory caching brauchen Sie nicht zu verändern. Sie ist nur für sehr große Wikis relevant. Der nächste Abschnitt enthält Einstellungen zu E-MailFunktionen. Über die Abfrage E-Mail (general) können Sie alle EMail-Funktionen (Passwort-Erinnerung, User-to-User E-Mail und EMail-Benachrichtigung) abschalten. Dies ist sinnvoll, wenn Ihr Server keine E-Mail-Dienste unterstützt. Mit den folgenden Abfragen ist es möglich, die Funktionen einzeln zu (de)aktivieren. Am Besten belassen Sie die Standardeinstellungen wie sie sind. Mit User-to-user e-mail können Sie grundsätzlich andere Nutzer anmailen. Mit E-Mail notification können Sie für alle Wiki-Nutzer erlauben, sich per E-Mail über Veränderungen auf ihrer privaten Diskussionsseite (user_talk) und auf den von ihnen beobachteten Seiten informieren zu lassen. E-mail authentication prüft die EMail-Adressen der User. Nutzer, die zum ersten Mal ihre E-MailAdresse eingeben oder diese ändern, bekommen eine Test-E-Mail mit einem Link, mit dem sie den Erhalt dieser Test-E-Mail bestätigen. Sobald diese Funktion eingerichtet ist, können nur authentifizierte Nutzer E-Mail-Benachrichtigungen und Mails von anderen Nutzern erhalten. In einem letzten Abschnitt müssen Sie noch Angaben zur Datenbank machen. In unserem Fall wählen Sie MySQL aus. Unter Database host geben Sie die Adresse des Datenbank-Servers ein. In den meisten Fällen ist dies „localhost“. In den folgenden Feldern tragen Sie die Angaben zur Datenbank ein. Wenn Sie das Wiki bei einem Provider installieren, so werden Ihnen diese Angaben vorgegeben. Im Test-System oder wenn Sie Zugriff auf den Administrator-Account der Datenbank haben, können Sie diese Felder auch nutzen, um direkt eine neue Datenbank samt Benutzer einzurichten. Geben Sie in diesem Fall den Namen der neuen Datenbank im Feld Database name und den Namen des Benutzers, der Zugriff auf die Datenbank haben soll, im Feld DB user ein. Es ist wichtig, für die
2.2 MediaWiki installieren
Administratoraccount
E-MailFunktionen
Angaben zur Datenbank
53
zu erstellende Datenbank ein Passwort anzugeben und zu wiederholen (DB password). Soll die Datenbank neu erstellt werden, so müssen Sie den Haken vor Use Superuser Account setzen und die entsprechenden Daten eingeben. Im XAMPP-System ist das „root“ und kein Passwort. Nun kann das MediaWiki-Setup einfach auf die Software zugreifen und die nötige Datenbank und die Tabellen erstellen. Auf einem Server im Netz sollte das Root-Passwort natürlich niemals leer sein, dieser Account hat beispielsweise die Rechte Ihre gesamte Datenbank löschen. Ein eigenes Database table prefix wird nur benötigt, wenn Sie mehrere MediaWikis in der gleichen Datenbank laufen lassen wollen. Die Einstellungen zum Database charset sollten Sie so lassen, wie sie sind. Die beiden zusätzlichen Optionen sind momentan noch experimentell und können zu Darstellungsschwierigkeiten führen. Tipp: Sollten Sie keinen Zugriff auf einen eigenen Server haben, sondern das Wiki bei einem Webhost installieren, so müssen Sie dort zunächst eine Datenbank einrichten. In diesem Fall bekommen Sie die einzutragenden Zugangsdaten von Ihrem Webhost. Installation fertig stellen
MediaWiki aufrufen
54
Wenn Sie den Knopf Install MediaWiki! drücken, werden die nötigen Einstellungen vorgenommen. Hat alles geklappt, so erscheint eine weitere Seite mit Informationen über Ihre aktuelle Konfiguration. Am Ende steht eine Erfolgsmeldung. Jetzt haben Sie es fast geschafft! Letzter Akt ist es, die Datei LocalSettings.php, die im Verzeichnis xampp/htdocs/mediawiki/config liegt, in das übergeordnete Verzeichnis xampp/htdocs/mediawiki zu kopieren. Dieser Schritt ist notwendig, da wir aus Sicherheitsgründen für Skripts unter Linux nur im Verzeichnis config Schreibrechte eingerichtet haben und daher die automatischen Einstellungen nur hier vornehmen können. Nachdem Sie die Datei kopiert haben, folgen Sie this link oder rufen Sie im Browser die Wiki-URL auf. Sie sollten jetzt ein jungfräuliches MediaWiki vor sich sehen (s. Abb. 3.1).
2 Die Installation
3
Erste Schritte
Bevor wir die Möglichkeiten, die das MediaWiki bietet, im Detail durchsprechen, wollen wir im folgenden Kapitel einen allgemeinen Eindruck von der Arbeit mit dem Wiki vermitteln.
3.1 Das Wiki auf den ersten Blick Auf den ersten Blick unterscheidet sich die Startseite kaum von einer normalen WWW-Seite. Das Wiki ist im Ansichtsmodus. Man kann die Anzeige in vier Bereiche aufteilen (vgl. Abb. 3.1).
Beschreibung der Hauptseite
Abb. 3.1
3.1 Das Wiki auf den ersten Blick
55
Arbeitsbereich (1). Kern des Wikis. Hier ist der eigentliche, für jeden veränderbare Inhalt eines Eintrags zu sehen. Das Eingabeformular im Bearbeitungsmodus und die Differenz- und Versionenanzeige werden ebenfalls an dieser Stelle angezeigt. Navigation, Suche und Werkzeuge (2). Dieser Bereich ermöglicht den Zugang zu den Artikeln nach verschiedenen Gesichtspunkten. Das Bild links oben dient als Link auf die Hauptseite. Auch einige weitere Funktionen können von hier aus aufgerufen werden. Userbereich (3). Anmeldung für registrierte Benutzer. Diese können hier ihre persönlichen Einstellungen vornehmen oder auf Seiten zugreifen, die sie bearbeitet haben. Informationen (4). Zeigt verschiedene Angaben über die Seite sowie die Lizenzbestimmungen, die in diesem Wiki gelten. Arbeitsbereich
Sehen wir uns den Arbeitsbereich genauer an. Er enthält alle wesentlichen Elemente, die ein Wiki ausmachen. Hier spielen sich auch alle Aktionen ab, die an einer Seite durchgeführt werden können. Er lässt sich weiter untergliedern in: Reiter. Diese stellen die wesentlichen Funktionen zum Verändern der Seite zur Verfügung. Hier ist der wichtigste Link eines Wikis untergebracht: bearbeiten. Seitentitel. Der Titel beschreibt in einem oder wenigen Worten den Inhalt der Seite. Es wird darüber hinaus angezeigt, in welchem Modus man sich gerade befindet. Inhalt. Diesen Bereich können alle Benutzer frei gestalten. Bisher gibt es in SippiWiki nur einige wenige, bereits vorgefertigte Einträge. Nun ist es an der Zeit, dem Wiki Leben einzuhauchen und eigene Änderungen anzubringen.
3.2 Hello World Erster Eintrag
56
Einer alten Tradition in der Computerliteratur folgend soll unsere erste Ausgabe „Hello World” sein. Dazu klicken Sie zunächst auf bearbeiten. Nach einer kurzen Ladezeit erscheint die Bearbeitungsansicht des Wikis (s. Abb. 3.2). Zentrales Element ist das Textfeld mit dem Quelltext der Startseite. Darüber befindet sich eine
3 Erste Schritte
Werkzeugleiste, die Formatierungshilfen anbietet. Im unteren Bereich sind die Steuerelemente zu finden. Den Quelltext der Hauptseite können Sie verändern. Positionieren Sie den Cursor an die Stelle im Textfeld, an der die Änderung vorgenommen werden soll (z. B. zwischen der ersten Zeile und dem ersten Absatz) und tippen Sie Hello World! Wenn Sie nun unter dem Textfeld auf Seite speichern klicken, werden die Eingaben ins Wiki übertragen und es erscheint wieder die Normalansicht der Seite, jetzt allerdings mit Ihrem Text. Abb. 3.2
Ein wichtiger Aspekt des Wiki-Prinzips ist, dass jeder Nutzer eigene Seiten erstellen kann. Unser nächstes Ziel ist es also, die Seite Hello World zu erstellen. Es ist nicht zwingend nötig, aber sehr sinnvoll, dass eine neue Seite auch mit den anderen Seiten des Wikis verbunden ist. Deshalb erzeugen wir zunächst einen Verweis auf Hello World. Dazu wechseln Sie wieder in den Bearbeitungsmodus. Tragen Sie nun an einer beliebigen Stelle
Neue Seite erstellen
[[Hello World]] ein und speichern Sie die Seite. Die doppelten eckigen Klammern bewirken, dass die Phrase „Hello World“ von der Wiki-Software als Verweis auf die Seite Hello World interpretiert und auf der Haupt-
3.2 Hello World
57
seite dementsprechend als Link dargestellt wird. Da die Seite noch nicht existiert, ist er rot eingefärbt. Wenn Sie nun mit einem Klick zu Hello World wechseln, erscheint automatisch die Bearbeitungsansicht. Hier können Sie wieder beliebigen Text eingeben. Nachdem Sie gespeichert haben, sehen Sie die neu erstellte Seite. Um zur Hauptseite zurückzukehren, klicken Sie auf die Sonnenblume links oben, die später durch ein Logo Ihrer Wahl ersetzt werden soll. Tipp: Versuchen Sie soweit wie möglich auf die Verwendung des Back-Buttons zu verzichten. Viele Browser verwenden SeitenCaches, um die Ladezeiten zu verkürzen, so dass Sie möglicherweise eine veraltete Version der Seite angezeigt bekommen. Im schlimmsten Fall kann es passieren, dass der Browser die Formulardaten aus der Bearbeitungsansicht noch mal schickt, so dass eventuelle neuere Änderungen überschrieben werden. Auf der Hauptseite ist der Link zu Hello World nun blau eingefärbt, da diese Seite mittlerweile vorhanden ist. Selbstverständlich können Sie mit der Kennzeichnung eines Titels durch doppelte eckige Klammern auch auf schon vorhandene Seiten verlinken. Achtung: Bei der Verlinkung zu einer bereits bestehenden Seite, sollten Sie auf deren genaue Schreibweise achten. Wenn Sie z. B. ein [[hello world]] statt [[Hello World]] eingeben, entsteht wieder eine neue Seite, da die Links unterschiedlich geschrieben wurden. Berücksichtigen Sie daher auch Groß-/Kleinschreibung und Leerzeichen. Lediglich beim Anfangsbuchstaben macht es keinen Unterschied, ob Sie diesen groß oder klein schreiben. Wahl des Titels
58
Damit kommt der Wahl eines geeigneten Titels eine große Bedeutung zu. Gerade in Wikis mit vielen Einträgen kommt es häufig vor, dass Autoren „auf gut Glück“ Verweise auf Seiten setzen, die sie im Zusammenhang ihres Eintrags für wichtig erachten. Es sollte also darauf geachtet werden, dass der Titel möglichst knapp und genau bezeichnet, um was es auf der Seite geht. Einzelne Worte eignen sich sehr gut, aber auch kurze Sätze wie „Warum Wikis funktionieren“ können brauchbare Namen sein. Darüber hinaus erleichtern aussagekräftige Seitentitel auch den Lesern die Orientierung und die Suche nach einem Eintrag.
3 Erste Schritte
3.3 Erste Formatierungen Die beiden bisher beschriebenen Aktionen stellen die Grundlage für das Arbeiten in einem Wiki dar. Damit können Sie sich prinzipiell an der Erstellung und Bearbeitung einer gemeinschaftlich gepflegten Seite beteiligen. Bisher sehen die erstellten Seiten allerdings noch sehr karg aus, da wir völlig auf Formatierung und Layout verzichtet haben. Obwohl Wikis darauf ausgelegt sind, dass sich der Nutzer weitgehend nicht um Layout-Fragen kümmern muss, ist es natürlich oft wünschenswert oder auch für das Verständnis eines Textes erleichternd, wenn Möglichkeiten der Texthervorhebung und -formatierung zur Verfügung stehen. Die sind im MediaWiki durchaus vorhanden. Da die Eingabe rein textbasiert ist, kann die Formatierung allerdings nicht, wie in einem Textverarbeitungssystem mit grafischer Oberfläche, sofort umgesetzt werden. Vielmehr zeigt man der Wiki-Software durch besondere Zeichenkombinationen, dass eine spezielle Hervorhebung gewünscht ist. Um einen Eindruck von der Formatierungsmethode in einem Wiki zu bekommen, erstellen Sie zunächst eine Testseite wie in Kap. 3.2 beschrieben. Wir haben dafür den Namen Format-Test gewählt. Geben Sie nun folgenden Text ein:
Formatierung im Wiki
Sippeninitiative Funkenflug Diese Seite hat den Zweck, erstens, aktuelle Informationen zu vermitteln und zweitens, unsere Arbeit zu koordinieren. Mitmachen ist gefragt! Wenn Sie die Seite so abspeichern, werden Sie feststellen, dass sogar die spärliche Formatierung, die der Text besitzt, verloren gegangen ist. Das liegt daran, dass im MediaWiki, ähnlich wie in HTML, so genannter Whitespace, d. h. Zeichen, die nicht angezeigt werden (wie Leerzeichen und Zeilenvorschübe), zunächst ignoriert wird. Um einen Absatz einzufügen, müssen Sie eine extra Leerzeile in den Quellcode einfügen:
Absätze
Sippeninitiative Funkenflug Diese Seite hat den Zweck, erstens, aktuelle
3.3 Erste Formatierungen
59
Kursivschrift
Um dem letzten Satz etwas mehr Schwung zu verleihen, wollen wir ihn in kursiv gesetzter Schrift ausgeben. Die Markierung für Kursivschrift sind je zwei Hochkommas am Anfang und am Ende des hervorzuhebenden Bereichs: ''Mitmachen ist gefragt!''
Fett
Starke Hervorhebungen innerhalb eines Textes werden in der Regel durch Fettschrift markiert. Diese wird im MediaWiki durch je drei Hochkommas aktiviert: unsere Arbeit zu '''koordinieren'''.
Überschriften
Unterstreichungen sind für die Formatierung in der Regel nicht vorgesehen, da diese Art der Hervorhebung im WWW für die Markierung von Links verwendet wird und diesbezüglich Missverständnisse vermieden werden sollen. Ein einfaches Mittel zur Textstrukturierung stellen Überschriften dar. Diese können erzeugt werden, indem man den Text mit doppelten Gleichheitszeichen umschließt: ==Sippeninitiative Funkenflug== Diese Seite hat den Zweck, erstens, aktuelle
Aufzählungen
Da eine Überschrift immer in einer eigenen Zeile steht, ist es nun nicht mehr nötig, durch eine extra Leerzeile den Beginn eines Absatzes zu markieren. Ein sehr nützliches Layoutelement sind Aufzählungen, da sie oft im Zusammenhang mit schnell erstellten Gliederungen oder Brainstorming zur Strukturierung benutzt werden können. Aufzählungen sind einfach zu erstellen. Man setzt an die Stelle des Aufzählungspunktes einen Stern: Diese Seite hat den Zweck, * erstens, aktuelle Informationen zu vermitteln und * zweitens, unsere Arbeit zu '''koordinieren'''.
↵ ↵
Das Ergebnis unserer neu gestalteten Seite ist in Abb. 3.3 zu sehen. Die Möglichkeiten der Textgestaltung im MediaWiki sind natürlich vielfältiger und werden in Kap. 5 ausführlich behandelt.
60
3 Erste Schritte
Abb. 3.3
3.4 Der kleine Unterschied: Versionen Wahrscheinlich haben Sie während des letzten Abschnitts Ihre Änderungen öfters gespeichert. Wenn nicht, nehmen Sie noch eine Bearbeitung vor und speichern diese nochmals ab. In einem Wiki ist es in der Regel möglich, zumindest die letzten Veränderungen einzusehen. Klicken Sie dazu auf den Reiter Versionen/Autoren. Sie sehen eine Liste aller veralteten Ausgaben des Artikels, und wer sie bearbeitet hat. Wenn Sie auf das jeweilige Datum klicken, wird die alte Version dargestellt. Hier können Sie z. B. auch auf die Logbücher zugreifen, die Ihnen Informationen über Seitensperrungen, Verschiebungen, Rechtevergabe etc. dieser speziellen Seiten geben. Über die History einer Seite können Sie nun auch Änderungen zurücknehmen. Einfach die gewünschte alte Version aufrufen, in den Bearbeitungsmodus wechseln und dann abspeichern. Damit haben Sie einen sogenannten Rollback getätigt und die alte Seite zur Aktuellen gemacht. Ein Klick auf Aktuell in einer beliebigen Zeile bringt Sie zur Differenz-Anzeige. Diese stellt die Unterschiede zwischen der von Ihnen ausgewählten und der aktuellen Version der Seite dar (s. Abb. 3.4). Gerade bei längeren Texten können Sie so schnell herausfinden, welche Bereiche von einer Änderung betroffen sind
Versionenansicht
DifferenzAnzeige
.
3.4 Der kleine Unterschied: Versionen
61
Abb. 3.4
Letzte Änderungen
Jetzt sollten Sie sich noch die Seite Letzte Änderungen aus der Navigationsleiste ansehen. Auch hier wurde unsere Seite FormatTest eingetragen. Diese Funktionsseite zeigt nicht nur die Änderungen einer bestimmten Seite an, sondern generiert eine Übersicht über alle Artikel, die kürzlich im Wiki geändert wurden.
3.5 Als User anmelden
Benutzerkonto anlegen
62
Zum Schluss unseres Rundgangs sollten Sie sich noch einen eigenen Nutzeraccount anlegen. Einige der im Folgenden beschriebenen Aktionen können nur von registrierten Benutzern vorgenommen werden. Zudem ist es in öffentlichen Wikis wie Wikipedia guter Stil, sich zu erkennen zu geben, wenn man Artikel ändert. Im rechten oberen Eck des Bildschirms, sehen Sie einen Verweis Anmelden. Folgen Sie ihm, gelangen Sie auf eine Anmelde-Maske. Drücken Sie auf Neues Benutzerkonto anlegen. Tragen Sie unter Ihr Benutzername einen selbstgewählten Namen ein und teilen Sie dem System Ihr Passwort mit. Dieses müssen Sie im Feld darunter nochmals wiederholen, um Tippfehler zu vermeiden. Ihre E-Mail sollten Sie ebenfalls angeben. An diese wird ein neues Passwort geschickt, falls Sie Ihres vergessen haben. Gegebenenfalls können Sie noch Ihren richtigen Namen eintragen. Wenn Sie nun auf den Button Neues Benutzerkonto anlegen klicken, sind Sie als neuer User registriert und gleichzeitig angemeldet. Dass dies der Fall ist, erkennen Sie daran, dass Sie rechts oben in der Zeile, in der der Anmeldelink stand, jetzt eine Reihe von Verweisen finden, allen voran eine Verbindung zu einer Seite mit Ihrem Benutzernamen (s. Abb. 3.5).
3 Erste Schritte
Abb. 3.5
Die Anmeldung ist solange gültig, bis Sie den Browser schließen oder sich explizit abmelden (ebenfalls im oberen Bereich). Bei der nächsten Anmeldung ist es nur noch nötig, Benutzernamen und Passwort anzugeben, der Rest ist dem System ja schon bekannt. Die Einstellung Dauerhaftes Einloggen ist nur sinnvoll, wenn Sie der Einzige sind, der Ihren Computer verwendet, ansonsten kann jeder in Ihrem Namen Einträge im Wiki machen. Mit Aktivierung dieser Option, wird Ihr Passwort verschlüsselt in einem Cookie gespeichert. Wenn Sie dagegen kein Häckchen setzen, müssen Sie sich nach einer gewissen Zeit der Inaktivität erneut anmelden. Um die dauerhafte Anmeldung rückgängig zu machen, reicht es, sich explizit über den Link Abmelden auszuloggen. .
3.5 Als User anmelden
An- und abmelden
63
4 Die Kernfunktionen des MediaWikis
Im Folgenden werden die Hauptfunktionen eines Wikis erklärt. Dies geschieht Schritt für Schritt anhand der Registerblätter, die unterschiedliche Arten des Zugriffs auf die jeweilige Seite ermöglichen. Welche Reiter sichtbar und damit verfügbar sind, ist von Ihrem Status innerhalb des Wikis abhängig: So stehen angemeldeten Usern und Administratoren jeweils mehr Funktionen zur Verfügung als dem anonymen Nutzer.
4.1 Bearbeiten Wenn Sie den Bearbeiten-Button gedrückt haben, wird der Bearbeitungsmodus eines Artikels aufgerufen, d. h. der Text der Seite wird samt der Wiki-spezifischen Formatierungszeichen („Tags“) in ein Eingabefenster geladen und kann nun von Hand verändert oder ergänzt werden.
Eingabefenster und Toolbox
Hinweis: Bei längeren Texten ist es auch möglich, dass Sie einen Artikel abschnittsweise bearbeiten können, indem Sie Überschriften der Ebene 2 in den Text einfügen (s. Tab. 4.1). In diesem Fall finden Sie den Bearbeiten-Button rechts neben der Abschnittsüberschrift. Über dem Fenster erscheint zusätzlich eine Toolbox, die Ihnen beim Formatieren des Textes behilflich sein kann. Diese funktioniert im Grunde ähnlich wie ein grafisches Textverarbeitungsprogramm: Man markiert den zu formatierenden Text und aktiviert das jeweilige Werkzeug. Die Software setzt zunächst nur die entsprechenden Formatierungstags um den bezeichneten Textabschnitt. Den Effekt er-
4.1 Bearbeiten
65
Funktionen der Toolbox Tab. 4.1
halten Sie wie auch bei der Formatierung „zu Fuß“ erst in der Vorschau oder nach dem Speichern. Dies sind die Funktionen der Toolbox (in der zweiten Spalte sehen Sie die Formatierungstags, die das jeweilige Tool einfügt.): Bild
Ersetzung '''Fett'''
Funktion Text wird fett dargestellt.
''Kursiv''
Text wird kursiv dargestellt.
Verlinkt zu einer Wiki-internen Seite. [www.google.de] Verlinkt zu einer externen Seite im WWW. ==Überschrift 2== Text wird als Überschrift 2 ausgegeben. [[Bild:Foto.jpg]] Bindet ein Bild ein, das zuvor in das Wiki geladen wurde (s. Kap. 6.3) [[Media:Ton.mp3]] Verlinkt zu einer zuvor geladenen Mediendatei, z. B. zu einer Audio- oder Videodatei. <math> Innerhalb der gesetzten Tags können mathematische Formeln in LaTeX gesetzt werden. <nowiki> Innerhalb dieser Tags werden eventuell vorhandene Formatierungsanweisungen nicht ausgeführt. --~~~~ Abhängig davon, ob Sie angemeldet sind oder nicht, fügt diese Funktion Ihre IP-Adresse oder Ihren Usernamen und einen Datumsstempel ein. ---Fügt eine horizontale Linie ein. [[Wiki-Seite]]
Bearbeitung abbrechen
66
Grundsätzlich steht Ihnen unter dem Eingabefenster auch eine Seite Bearbeitungshilfe zur Verfügung, die Sie über den gleichnamigen Link aufrufen können. Leider ist diese Seite im MediaWiki noch nicht mit Inhalt gefüllt worden und wartet daher noch auf eine konstruktive Weiterbearbeitung Ihrerseits. Im Übrigen können Sie den Bearbeitungsmodus jederzeit mit dem Link Abbrechen verlassen. Damit werden Ihre Änderungen
4 Die Kernfunktionen des MediaWikis
nicht berücksichtigt und die Seite wird wieder in ihrem vorherigen Zustand angezeigt. Falls Sie sich nicht sicher sind, ob Ihre Formatierung den erwünschten Effekt hat, können Sie mit dem Vorschau zeigen-Schalter einen Blick auf das Ergebnis werfen, ohne dass die Änderung schon gespeichert wird (s. Abb. 4.13).
Vorschau
Abb. 4.1
Die Vorschau ist standardmäßig über dem Bearbeitungsfenster sichtbar. Sie müssen also gegebenenfalls ein wenig nach oben scrollen. Weitere Änderungen fügen Sie wieder in das auf der gleichen Seite dargestellte Bearbeitungsformular ein ohne den Vorschaumodus zu verlassen. Achtung: Klicken Sie im Vorschaumodus nicht wieder auf Bearbeiten, sonst verlieren Sie Ihre bisherigen Änderungen! Der Vorschaumodus hat zum einen den Vorteil, dass der User die Möglichkeit erhält, seinen Text in der formatierten Fassung Korrektur zu lesen, zum anderen dass man die Versionenseite nicht mit Dokumenten belastet, die nur wegen Formatierungs- oder Flüchtigkeitsfehlern mehrfach bearbeitet wurden. Beachten Sie aber, dass die Versionen im Vorschaumodus nicht gespeichert werden. Sie dürfen 3
Vielleicht ist Ihnen aufgefallen, dass wir das Logo geändert haben. Wie das geht, erklären wir in Kap. 8.1
4.1 Bearbeiten
67
Zusammenfassung
daher nicht vergessen, den Eintrag ordnungsgemäß zu speichern, wenn die Darstellung Ihren Vorstellungen entspricht. Wenn Sie Ihren Text speichern möchten, können Sie in dem Zusammenfassungsfeld unter dem Bearbeitungsfenster einen Kommentar zu Ihrem Text oder zu Ihrer Änderung geben. Das Textfeld hat eine Kapazität von 200 Zeichen. Alles was darüber hinausgeht, z. B. in einem Kopiervorgang, wird nicht berücksichtigt. Die Zusammenfassung wird in schwarzer Kursivschrift auf der Letzte Änderungen-Seite, der Versionenanzeige und der Differenzanzeige ausgegeben. Achtung: Nach der Speicherung der Seite kann die Zusammenfassung nicht mehr ohne eine Änderung des Haupttextes editiert werden. Im Falle von schweren Fehlern oder wichtigen Auslassungen, müssten Sie daher eine Art Scheinbearbeitung machen, um die Zusammenfassung ausbessern zu können, d. h. Sie machen eine kleine Änderung, wie z. B. das Hinzufügen eines Leerzeichens oder einer Leerzeile innerhalb des Textes.
Konventionen
Bezüglich der Zusammenfassung haben sich bei der Nutzung von Wikis einige Konventionen eingebürgert, um allen Usern die Arbeit zu erleichtern. Eine wichtige Richtlinie ist dabei, dass man immer eine Zusammenfassung angeben sollte. Sogar eine kurze Notiz ist besser als gar keine. Besonders, wenn Sie den Text eines anderen Teilnehmers gelöscht oder geändert haben, sollten Sie dies kommentieren, damit das Löschen nicht als böswillig ausgelegt wird. Außerdem werden Änderungen, die nicht begründet werden, häufiger rückgängig gemacht. Längere Erklärungen sollten allerdings auf die Diskussionsseite verlegt werden. Wenn Sie nur ein oder zwei Sätze zu einem Artikel hinzugefügt haben, ist es empfehlenswert, diese komplett in das Zusammenfassungsfeld zu kopieren. Tipp: Überlegen Sie sich eine Abkürzung, die vor die Zusammenfassung gesetzt wird, damit jeder Leser weiß, dass er mit der Zusammenfassung auch gleich die komplette Beifügung erfahren hat und sich nicht die Mühe machen muss, diese z. B. auf der Letzte Änderungen-Seite nachzuschauen. Eine gängige Abkürzung, die sich z. B. bei Wikipedia durchgesetzt hat, lautet ft für „full text“.
Geringfügige Änderung
68
Angemeldete User haben zusätzlich die Möglichkeit eine Bearbeitung als geringfügige Änderung zu definieren, d. h. als eine relativ unwichtige Abwandlung, die z. B. nur Tippfehlerkorrekturen oder Formatierungsaktionen umfasst. Vor der Speicherung wird da-
4 Die Kernfunktionen des MediaWikis
bei einfach das Optionsfeld unter der Zusammenfassung mit der Beschriftung Nur Kleinigkeiten wurden verändert markiert. Im Gegensatz dazu gibt es bedeutende Änderungen, die hauptsächlich den Inhalt des Artikels betreffen. Diese suggerieren dem User, dass es sich lohnt, einen Blick auf die Bearbeitung zu werfen, da eine wesentliche Weiterentwicklung des Textes stattgefunden hat. Dies kann auch schon mit der Bearbeitung eines einzelnen Wortes passiert sein. Die Unterscheidung zwischen geringfügigen und bedeutenden Änderungen ist relevant, da der angemeldete User die Möglichkeit besitzt, die unwichtigen Änderungen auf der Letzte ÄnderungenSeite über seine persönlichen Einstellungen auszublenden. Die Entscheidung, ob eine Bearbeitung bedeutend ist oder nicht, ist natürlich sehr subjektiv und kann u. U. dazu führen, dass den Lesern wichtige Änderungen vorenthalten werden. Daher sollten Sie gut überlegen, wie andere Nutzer Ihre Änderung einschätzen würden. Nicht umsonst bleibt unangemeldeten Nutzern diese Funktion verwehrt, um einen Missbrauch auszuschließen. Tipp: Wenn Sie aus Versehen eine Änderung als unbedeutend abgespeichert haben, machen Sie am besten eine Scheinbearbeitung und vermerken im Zusammenfassungsfeld, dass die vorherige Änderung wichtig war.
4.2 Diskutieren Auf der Diskussionsseite können die Inhalte eines zugehörigen Artikels besprochen werden. Bei der Zusammenarbeit an einem Text entsteht unweigerlich Bedarf an einer inhaltlichen Diskussion, insbesondere, wenn sich die Teilnehmer noch nicht gegenseitig kennen: Missverständnisse müssen geklärt oder Unklarheiten besprochen werden. Da diese Kommunikation sehr wichtig, aber – wie man aus dem Umgang mit Foren weiß – oft sehr ermüdend und wenig konstruktiv sein kann, wird sie mit dem Instrument der Diskussionsseite aus dem eigentlichen Text herausgehalten. Darüber hinaus entspricht das, was auf einer Artikelseite zu sehen ist, dem gegenwärtigen Konsens zu einem Thema. Nutzer, die den Beitrag nur lesen wollen, um sich zu informieren (man denke an einen enzyklopädischen Eintrag auf Wikipedia), sind meistens nicht an der Diskussion interessiert, die die Weiterentwicklung des Themas betrifft. Die Diskussionsseite kann man (fast) genauso editieren wie die Artikelseite: Wenn Sie auf Bearbeiten gehen, können Sie bereits ge-
4.2 Diskutieren
Diskussionsseite
Mitdiskutieren
69
schriebene Kommentare verändern. Allerdings ist das in einer Diskussion, die auch für spätere User nachvollziehbar sein soll und deswegen dokumentiert werden muss, nicht sinnvoll. Sie können mit einem Klick auf das Plus, das im Diskussionsmodus an einem der Reiter erscheint, sofort etwas zu der Diskussion hinzufügen, ohne dass alle vorherigen Äußerungen im Bearbeitungsfeld geladen werden. Unter der Toolbox erscheint dann eine Betreffzeile. Wenn Sie hier eine Eingabe machen, erscheint diese als Überschrift zweiten Grades Ihres Diskussionsbeitrags, der an die übrigen Kommentare angehängt wird. So entsteht eine Struktur, die der eines Forums sehr ähnlich ist. Die Beiträge einzelner Teilnehmer sind auch diesen Personen zugeordnet. Beachten Sie aber, dass einer der großen Vorzüge des Wikis ist, dass Sie den gesamten Text bearbeiten können. Wenn Sie also direkt Anmerkungen zu einem Beitrag machen, der schon weiter oben auf der Seite diskutiert wurde, so sollten Sie Ihren Text auch direkt unter diesen Beitrag setzen. Nur neue Gedanken oder eine Beteiligung an der aktuellen Diskussion sollte mit der „+“-Funktion gemacht werden.
4.3 Vergleichen Versionenanzeige
Wenn Sie auf das Versionen/Autoren-Register klicken, können Sie den Entwicklungsprozess des Textes von der letzten Änderung bis hin zu der ersten Speicherung des Artikels zurückverfolgen („History“). Eine Ausnahme stellen gelöschte Seiten dar, die nicht mehr zu sehen sind und auf die nur noch der Administrator zugreifen kann (s. Kap. 8.2). Jede Zeile repräsentiert eine alte Version, die mit verschiedenen Zusatzinformationen, wie z. B. dem Zeitpunkt der Speicherung versehen ist. Die Versionen können hier in den verschiedensten Kombinationen miteinander verglichen werden. Die Zeilen sind folgendermaßen aufgebaut: Wenn Sie auf den Anfang eines Eintrags, also auf Aktuell klicken, wird Ihnen ein Vergleich zwischen der entsprechenden Version und dem aktuellen Artikel präsentiert. Beim Klick auf (Vorherige) wird die Version in der Zeile mit der vorherigen Version (in der darunter liegenden Zeile) verglichen. Damit sehen Sie nur die Veränderungen, die der Teilnehmer bei dieser Bearbeitung gemacht hat. Mit den Radiobuttons können Sie zwei beliebige Versionen markieren. Über den Gewählte Versionen vergleichen-Schalter am
70
4 Die Kernfunktionen des MediaWikis
Anfang oder am Ende der Liste generiert Ihnen dann das Wiki den Unterschied zwischen den markierten Versionen. Nun folgen Datums- und Zeitangabe der Speicherung. Sie führen direkt zu der älteren Version. War der Urheber der Änderung eingeloggt, sehen Sie als nächstes seinen Namen, der zu der jeweiligen Benutzerseite führt. Ansonsten ist nur die IP-Adresse sichtbar. Falls der Autor eine Zusammenfassung seiner Bearbeitung gegeben hat, erscheint diese am Ende der Zeile kursiv und in Klammern. Sie ist nicht verlinkt. Abb. 4.2
Über und unter der Versionenliste sehen Sie den Schalter Gewählte Versionen vergleichen, bei dessen Aktivierung die von Ihnen markierten Versionen bis ins kleinste Detail miteinander verglichen werden. Das Ergebnis wird auf einer eigenen Seite dargestellt (s. Abb. 3.4). Auf der linken Seite sehen Sie die ältere Version, auf der rechten die jüngere. Aufgeführt sind nur die Zeilen, an denen Änderungen vorgenommen wurden, wobei die gelben Markierungen gelöschte Daten und die grünen hinzugefügte Beiträge hervorheben. Unter dieser Darstellung finden Sie die jüngere der gewählten Versionen noch einmal komplett vor. Wenn eine Seite verschoben, d. h. ihr Name verändert wurde (s. u.), wird die gesamte Geschichte des Artikels vor und nach der Umbenennung auf der Versionenseite dargestellt, die Aktion der
4.3 Vergleichen
Diff-Seite
Verschobene Seiten
71
Rollback
Umbenennung selbst jedoch nicht. Diese ist nur in der History der Seite mit dem alten Titel sichtbar. Eine häufig durchgeführte Aktion ist das Zurücksetzen eines Artikels auf eine ältere Version (z. B. wegen Vandalismus), der so genannte Rollback. Rufen Sie dazu über die Vergleichsseite die Version auf, die Sie wiederherstellen wollen. Wenn Sie diese zum aktuellen Artikel machen und damit alle nachfolgenden Änderungen rückgängig machen wollen, gehen Sie auf Bearbeiten und dann auf Seite speichern. Hinweis: Die Einträge in der History werden dadurch nicht gelöscht, so dass ein nächster Teilnehmer Ihren Rollback ebenfalls rückgängig machen könnte. Wenn Sie sich eine alte Version ansehen, so finden Sie unter der Überschrift zwei Pfeile, mit denen Sie zur nächst älteren bzw. jüngeren Version springen können.
4.4 Verschieben und Umbenennen Umbenennen von Seiten
72
Manchmal ist es sinnvoll, eine Seite umzubenennen, z. B. weil der Name falsch geschrieben wurde oder nicht den Namenskonventionen entspricht, auf die man sich geeinigt hat, oder weil sich der Umfang des Artikels geändert hat. Die Begriffe verschieben und Namen ändern haben in diesem Zusammenhang dieselbe Bedeutung, denn wenn Sie den Namen eines Artikels ändern, werden die Bezüge auf diese Seite, die ja über Namen hergestellt werden, ungültig. Die Seite wurde also verschoben. Lassen Sie sich die Seite, die umbenannt werden soll, anzeigen und aktivieren Sie dann das Verschieben-Register. In dem Eingabefeld können Sie den neuen Namen eingeben. Zudem können Sie mit einem Klicken auf ein Optionsfeld bestimmen, dass die dazugehörige Diskussionsseite ebenfalls mit verschoben wird. Wenn Sie mit dem Verschieben-Schalter Ihre Entscheidung endgültig bestätigt haben, wird die Seite umbenannt und gleichzeitig wird die alte Seite zu einer Weiterleitungsseite (Redirect), d. h. alle Links, die auf sie verweisen, werden automatisch zu der neuen Seite weitergeleitet.
4 Die Kernfunktionen des MediaWikis
Abb. 4.3
Tipp: Die Verschieben-Funktion gewährleistet, dass die gesamte History der Seite vor und nach der Umbenennung nachvollziehbar bleibt. Die Alternative, einen Text auszuschneiden und in eine neue Seite zu kopieren, hat demgegenüber den entscheidenden Nachteil, dass die bisherige Entwicklung des Textes nicht mehr zurückzuverfolgen ist. Falls diese Verfahrensweise trotzdem notwendig wird, z. B. wenn der Inhalt eines Titels geteilt wird, ist es empfehlenswert, in der Zusammenfassung anzumerken, woher man den Text genommen hat. Wenn Sie das Verschieben eines Artikels A nach B wieder rückgängig machen wollen, d. h. der Seite wieder den alten Titel geben wollen, funktioniert dies nur, wenn die Redirect-Seite in der Zwischenzeit nicht editiert worden ist. Verschieben Sie in diesem Fall B zurück auf A und lassen Sie B von einem Administrator löschen, damit nicht zu viele Redirects im Wiki zurückbleiben.
Verschiebung rückgängig machen
Tipp: Um den alten Namen der Datei für neue Inhalte weiterverwenden zu können, empfiehlt sich ein Tausch. Dazu benötigen Sie eine Zwischenseite, die danach wieder gelöscht wird. Verschieben Sie zunächst A nach Z, dann B nach A und zuletzt Z nach B.
4.4 Verschieben und Umbenennen
73
4.5 Beobachten Als User eingeloggt sehen Sie über den Wiki-Seiten ein Register beobachten. Wenn man auf dieses Register drückt, wird die aktuelle Seite und die jeweilige Diskussionsseite zu einer Liste von Artikeln hinzugefügt, an deren Entwicklung man besonders interessiert ist. Der Reiter ändert seine Beschriftung dann in nicht mehr beobachten und über diesen kann man die Seite wiederum von der Beobachtungsliste streichen. Abb. 4.4
Ihre persönliche Beobachtungsseite können Sie über die Spezialseitenliste oder über den Link Beobachtungsliste in der obersten Linkleiste aufrufen. Die Beobachtungsliste hat die gleiche Funktion wie die Letzten Änderungen, nur eben für die Seiten, die Sie beobachten wollen. Die Änderungen an den entsprechenden Seiten werden von der letzten Bearbeitung abwärts bis zu einem bestimmten zeitlichen Limit wiedergegeben. Jede Zeile zeigt Details über den letzten Editiervorgang: das Datum, ob es eine geringfügige Änderung war, einen Link zu dem Artikel, den Unterschied zur letzten Version, den Usernamen und die Zusammenfassung. Derzeit gibt es keine Möglichkeit, die geringfügigen Änderungen auszublenden.
74
4 Die Kernfunktionen des MediaWikis
Mit dem Link Komplette Liste zeigen und bearbeiten können Sie sich alle beobachteten Seiten anzeigen lassen und die Gesamtliste bearbeiten. Tipp: In der Letzte Änderungen-Liste werden die beobachteten Artikel fett gedruckt dargestellt. Selbst wenn man nie einen Blick auf die Beobachtungsseite wirft, könnte sich daher ein Einstellen der Beobachtungseigenschaft lohnen.
4.6 Schützen Wenn Sie den Status eines Systemadministrators besitzen (s. Kap. 7.3), haben Sie Zugriff auf das Register Schützen und können damit eine Seite vor der Bearbeitung durch andere sichern. Ab MediaWiki 1.6 können Sie differenziert festlegen, ob alle User, nur registrierte User oder nur User mit Sysop-Rechten die Seite bearbeiten und verschieben dürfen. Wenn Sie für Bearbeitung und Verschieben unterschiedliche Rechte vergeben wollen, müssen Sie das Feld Verschiebeschutz ändern aktivieren. Den Schutz können Sie mit dem Register freigeben wieder aufheben.
Schutz vor Vanalismus
Abb. 4.5
Diese Funktion kann genutzt werden, um einige wichtige Seiten von der Bearbeitung auszuschließen. So ist es beispielsweise verständlich, wenn Sie nicht wollen, dass jeder Teilnehmer Ihre Startseite einfach so verändern kann. Um dem offenen Geist des Wikis
4.6 Schützen
Wichtige Seiten
75
Rechnung zu tragen, sollten Sie allerdings zumindest eine Vorschlagsseite einrichten, auf der Neugestaltungen der Titelseite diskutiert werden können. Dafür kann natürlich auch die Diskussionsseite verwendet werden. Leider ist es gelegentlich auch nötig, Änderungen an einer Seite zeitweise zu unterbinden, wenn sich die Gemüter bei Uneinigkeiten über den Inhalt so erhitzt haben, dass eine konstruktive Arbeit am Artikel nicht mehr möglich ist. Da solche Sperrungen immer im Ermessen eines einzelnen Administrators liegen, sollten, um zentralistischen Tendenzen entgegenzuwirken, mindestens zwei Teilnehmer Administrator-Status haben („Vier-Augen-Prinzip“).
4.7 Löschen Administratoren können über löschen Seiten samt ihrer Geschichte entfernen. Diese werden dann in ein Archiv verschoben und sind nicht mehr über das WWW zugänglich. Sie verschwinden jedoch erst aus der Datenbank, wenn sie explizit von einem Sysop gelöscht werden (s. Kap. 8.2). Abb. 4.6
Das Löschen von Seiten sollte mit größter Vorsicht geschehen, da man es im Normalfall mit dem Werk mehrerer Teilnehmer zu tun hat, die unter Umständen nicht sehr erfreut sind, wenn sie feststellen, dass ihre Beiträge aus dem Wiki entfernt wurden. Oft gibt es in Wikis eine Seite, auf der „Löschkandidaten“ vorgeschlagen und disku-
76
4 Die Kernfunktionen des MediaWikis
tiert werden, bevor ein Admin diese aus dem Wiki nehmen darf („dürfen“ ist hier eine soziale, keine technische Einschränkung). Gute Löschkandidaten sind die oben angesprochenen Redirect-Seiten, die beim Verschieben eines Artikels entstehen.
4.7 Löschen
77
5
Formatierung
Zusätzlich zu den oben genannten Standardhervorhebungen Fett und Kursiv können Sie im MediaWiki noch eine Reihe anderer Formatierungsoptionen nutzen, auch wenn die Möglichkeiten eines Wikis mit denen gängiger Textverarbeitungsprogramme, wie z. B. Word natürlich nicht zu vergleichen sind. Es gibt zudem in der Standardinstallation kein WYSIWYG („What You See Is What You Get“), d. h. die Formatierung wird wie in HTML oder LaTeX durch sog. Tags, also ASCII-Zeichen im Editiermodus gesetzt, aber erst nach dem Speichern sichtbar. Die Formatierungszeichen lassen sich grundlegend in zwei Typen einteilen. Zum einen gibt es Tags, die sehr stark an HTML angelehnt sind und ebenso funktionieren. Das heißt, man setzt den zu formatierenden Text zwischen ein Anfangs- und ein Schlusszeichen, z. B. Text, dann wird „Text“ in Fettdruck ausgegeben. Zum anderen kann man auch Wiki-spezifische Markierungen nutzen, die vor dem Text stehen oder ihn ebenfalls einschließen. Welche der Zeichen Sie verwenden, ist eigentlich unerheblich, der einzige Unterschied besteht darin, dass die Wiki-spezifischen Tags nicht zeilenübergreifend wirken, die HTML-Tags dagegen schon.
5.1 Zeichenformatierung Wie schon erwähnt, führen zwei Anführungszeichen vor und nach dem zu bearbeitenden Textteil zu einer Kursivschrift, während drei Anführungszeichen einen Fettdruck hervorrufen. Will man diese beiden Schriftschnitte gleichzeitig nutzen, verwendet man ganz einfach fünf Apostrophe.
Fett + Kursiv
unsere Arbeit zu '''''koordinieren'''''.
5.1 Zeichenformatierung
79
In Sachen Schriftart und -größe ist die Auswahl nicht allzu groß. Zusätzlich zu der Standardschriftart Verdana können Sie ihren Text mit in Courier setzen, das den Schreibmaschinenstil imitiert und gerade bei technischen Erläuterungen sehr passend wirkt. erstens, aktuelle Informationen zu vermitteln Wenn Sie eine Art Bild- oder Tabellenunterschrift nutzen wollen oder aus anderen Gründen die Schrift verkleinern wollen, können Sie das mit <small> durchführen. erstens, <small>aktuelle Informationen zu vermitteln Unterstrichen/ Durchgestrichen
Als sehr nützlich können sich die Tags zum Durch- und Unterstreichen von Textpassagen mit <strike> bzw. erweisen: erstens, <strike>alte, nein aktuelle Informationen zu vermitteln
Hochgestellt/ Tiefgestellt
Für mathematische Ausdrücke sind auch die Optionen <sup> für hochgestellt und <sub> für tiefgestellt verfügbar: F<sub>Quadrat = s<sup>2 Anstelle des s<sup>2 könnten Sie auch s² schreiben. Dies funktioniert allerdings nur bei der hochgestellten Formatierung und hier auch nur mit Zahlen als Exponenten.
5.2 Sonderzeichen & Co. Nun zu den zahlreichen Sonder- und Satzzeichen, Symbolen und sprachspezifischen Besonderheiten, wie Tilde und Akzente. Diese werden – wie in HTML die Umlaute – durch eine Art Buchstabenmuster ersetzt, das stets mit einem & beginnt und mit einem ; endet, wie z. B. der griechische Buchstabe Sigma: Σ. Da eine komplette Aufzählung aller Sonderzeichen zu weit führen würde, werden Sie im Folgenden nur eine Auswahl der gebräuchlichsten Zeichen finden.
80
5 Formatierung
Zeichen à á â
Code agrave aacute acirc
Zeichen ã ä å
Code atilde auml aring
Zeichen ç ñ ø
Code ccedil ntilde oslash
Besonderes Augenmerk soll hier auf das Leerzeichen gelenkt werden. Es ist nicht möglich, mehrere aufeinander folgende Leerzeichen mit der Leertaste zu generieren, weil die Wiki-Software nur jeweils ein Leerzeichen beachtet. Falls Sie daher mehrere Leerzeichen hintereinander setzen wollen, müssen Sie dies – wie in HTML – mit dem Sonderzeichen tun. Dieses Zeichen verhindert zudem einen Zeilenumbruch, was sich gerade bei Formeln als sehr nützlich erweisen kann. Für etwas ausgefallenere Satzzeichen sollten Sie ebenfalls Sonderzeichen setzen: Symb. ¿ ¡ «
Code iquest iexcl laquo rarr
Symb. » § †
Code raquo sect dagger larr
Symb. ¶ • — °
Code para bull mdash deg
Tab. 5.1
Leerzeichen
Tab. 5.2
In unserem Beispiel könnten wir nun eine neue Zeile gleich unter der Überschrift einfügen: ††† Das Feuer wird uns genommen ††† Und am Ende der Seite zur Erklärung: Kein Feuer → keine Entwicklung Gerade im naturwissenschaftlichen Bereich braucht man häufiger altgriechische Buchstaben. Für alle Zeichen, die man mit unserem lateinischen Alphabet nicht darstellen kann, gibt es folgende Konventionen: Symb. Code α alpha β beta
Symb. γ Γ
Code gamma Gamma
Symb. ∆ Θ
Code Delta Theta
5.2 Sonderzeichen & Co.
Tab. 5.3
81
Formeln
Tab. 5.4
<pre> und <nowiki>
Tab. 5.5
Wie Sie vielleicht festgestellt haben, ist es nicht schwierig, die übrigen Buchstaben aus der Tabelle abzuleiten. Auch die übrigen Bestandteile einer mathematischen Formel können mit Sonderzeichen dargestellt werden. Hier ist eine kleine Auswahl davon: Symb. Code ∫ Int ∏ prod
Symb. ∑ √
Code sum radic
Symb. ± ∞
Code plusmn infin
Bei komplexeren Formeln haben Sie außerdem die Möglichkeit TeX-Tags zu verwenden, die mit <math>Formel in den Text eingebunden werden. Entweder werden diese dann in HTML umgewandelt oder es wird – besonders wenn die Zeichen zu exotisch sind – ein PNG-Bild generiert. Mit <pre> und <nowiki> haben Sie die Möglichkeit die Formatierung des Textes (bis auf die Ersetzung der Sonderzeichen) zu unterdrücken, d. h. die gängigen Formatierungstags auch nach dem Abspeichern noch sichtbar zu machen. Die beiden Funktionen unterscheiden sich lediglich dadurch, dass <pre> den Text in Courier setzt und Zeilenumbrüche und mehrere Leerzeichen nicht ignoriert. Code <nowiki>kein Feuer → ''keine'' [[Entwicklung]]
Ergebnis
<pre>kein Feuer → ''keine'' [[Entwicklung]]
Kommentare
Wenn Sie möchten, dass manche ihrer Bemerkungen nur im Quelltext für die nachfolgenden Autoren zu sehen sind, maskieren Sie diese am besten als Kommentar wie in HTML: ). Beschreiben Sie den Aufbau der Seite, die wichtigsten Sektionen und Besonderheiten, auf die geachtet werden sollte. Lagern Sie aufwändige Layout-Elemente in Templates aus, die den unbedarften Nutzer nicht stören und kommentieren Sie deren Funktionsweise. Wählen Sie aussagekräftige Namen für Seiten, Templates und Variablen, die auch ohne lange Auseinandersetzung mit der Technik verstanden werden.
User-to userE-Mail
User-Talk
178
Die Kommunikation zwischen den Nutzern läuft im Wesentlichen über zwei Hilfmittel. Das sind zum einen User-to-user-EmailFunktion und zum anderen über die Funktion User-Talk. In beiden Fällen suchen Sie die User-Seite Ihres Gesprächspartners. In der Navigationsleiste links finden Sie den Eintrag E-Mail an diesen Benutzer. Um anderen Benutzern eine Email schicken zu können, müssen Sie aber selbst angemeldet sein und eine gültige EMail-Adresse haben. Zudem muss das Versenden von E-Mails im Wiki aktiviert sein. Hinter User-Talk verbirgt sich nichts anders, als die Diskussionsseite der User-Seite. Sie können auf der Seite des jeweiligen Nutzers in der Diskussionsseite eine Nachricht hinterlassen. Der Nutzer wird beim Einloggen in das Wiki automatisch benachrichtigt, dass seine Nutzer-Diskussionsseite verändert wurde. Es erscheint der Hinweis: Sie haben neue Nachrichten (Unterschied zur vorletzten Versi-
10 Leben im MediaWiki
on). Mit Klick auf neue Nachrichten oder Unterschiede zur vorletzten Version wird man direkt weitergeleitet.
10.4 Anwendungsbeispiele Dieser Abschnitt ist mehr als Anregung denn als Anleitung gedacht. Er soll Ihnen zeigen, wie die einzelnen Elemente des Wikis zusammenspielen und Lust darauf machen, selbst kreative Lösungen für alltägliche Probleme im Web zu finden.
10.4.1 Titelseite mit aktuellen Informationen Problem: Nachdem sich die Besucherzahlen des Wikis der Sippeninitiative dramatisch erhöht haben, wird beschlossen, die Titelseite so zu sichern, dass sie nur noch von Administratoren geändert werden kann. Einzig ein kleiner Bereich, Aktuelle Informationen, soll noch von allen veränderbar sein. Lösung: Die Sperrung der Titelseite wird von einem Admin vorgenommen. Er aktiviert lediglich den Reiter schützen auf der Hauptseite und gibt als Grund ein: Titelseite genießt besonderen Schutz. Jetzt können nur noch Administratoren die Seite verändern. Ein kleiner Bereich soll jedoch offen bleiben. Dies wird über eine weitere Seite Aktuelle Informationen realisiert, die für jeden zur Bearbeitung freigegeben ist. Diese Seite wird als Vorlage an der entsprechenden Stelle in die Titelseite eingebunden: {{:Aktuelle Informationen}} Beachten Sie den Doppelpunkt, der festlegt, dass sich der Artikel im Main-Namespace befindet. Er verhindert also, dass die aktuellen Informationen im Template-Namespace verschwinden. Somit kann die Seite auch leicht separat aufgerufen werden.
10.4.2 Checkliste Problem: Die Planung eines Infostands läuft immer nach dem gleichen Muster ab. Man muss Genehmigungen einholen, das Material bestellen, die Öffentlichkeit und die Presse informieren. Um nichts zu vergessen und auch um aus Erfahrungen zu lernen, braucht man eine Checkliste, die gegebenenfalls für die folgenden Infostände er-
10.4 Anwendungsbeispiele
179
weitert werden kann. Da einige der Punkte aber auch von den Gegebenheiten vor Ort abhängen, soll die jeweilig aktuelle Checkliste ebenfalls angepasst werden können. Lösung: Sie ahnen sicher schon, dass wir dieses Problem am besten anhand von Templates lösen. Es gibt also eine prototypische Liste, die für die jeweiligen Vorhaben konkret in eine neue Wiki-Seite kopiert wird. Zunächst wird die Seite Vorlagen:Checkliste Infostand erstellt. Diese enthält eine Tabelle mit den zu beachtenden Punkten in der einen und den Checkmarks in der anderen Spalte == Checkliste == {| | Material zusammenstellen || || bei __PERSON__ genehmigen lassen || ... |} Sie sehen, dass hier einige Lücken mit Unterstrichen gekennzeichnet wurden. Diese sollen ein optisches Zeichen dafür sein, dass die entsprechenden Angaben ergänzt werden müssen, wenn die Checkliste eingerichtet wird. Um die eigentliche Liste zu bekommen, sind zwei Schritte notwendig. Zuerst muss eine Seite erstellt werden, am Besten mit einem Link [[Checkliste Infostand im Neanderthal]] In diese Seite wird der Inhalt des Templates übernommen. Dazu ist das Schlüsselwort subst: nötig {{subst:Checkliste Infostand}} Nun werden noch die Angaben in den Platzhaltern ergänzt. Damit ist die Liste bereit für den Einsatz. Wenn ein Punkt erledigt wurde, setzt derjenige, der dafür verantwortlich ist, einfach seine Signatur (~~---) statt eines Hakens in die Liste. Wird während der Vorbereitung entdeckt, dass ein Punkt zum Abhaken fehlt, muss er in der eigentlichen Liste und auch im Template ergänzt werden. So ist sichergestellt, dass für die folgenden Infostände die Information erhalten bleibt.
180
10 Leben im MediaWiki
10.4.3 Literaturdatenbank Problem: Nachdem die Sippeninitiative mittlerweile eine umfangreiche Recherche über die Verwendung von Feuer durchgeführt und viel Material gesammelt hat, herrscht eine gewisse Unübersichtlichkeit. Um dieser zu begegnen und die Beiträge zu ordnen, soll das Wiki verwendet werden. Lösung: Die Daten müssen so im Wiki gespeichert werden, dass sie leicht wieder gefunden werden. Dazu ist eine gewisse Disziplin nötig (nicht unbedingt eine Stärke der Sippschaft...), es müssen Konventionen gebildet und vor allem eingehalten werden. Dies betrifft insbesondere die Wahl des Titels. Dieser sollte, da er eindeutig sein muss, nur die Überschrift des Werks enthalten, nach Möglichkeit komplett. Autor, Jahr, Verlag und einige Stichwörter werden als Kategorien angelegt. Hier kann dem normalen User das Leben über ein Template erleichtert werden, das diese Informationen einheitlich darstellt: {| | Autor | {{{autor}}} [[Kategorie:{{{autor}}}]] || Jahr | {{{jahr}}} [[Kategorie:{{{jahr}}}]] || Verlag | {{{verlag}}} [[Kategorie:{{{verlag}}}]] || Stichwort 1 | {{{stichw1}}} [[Kategorie:{{{stichw1}}}]] || Stichwort 2 | {{{stichw2}}} [[Kategorie:{{{stichw2}}}]] || Stichwort 3 | {{{stichw3}}} [[Kategorie:{{{stichw3}}}]] |} Diese Vorlage wird am Anfang eines jeden Eintrags eingebunden und zwingt die Autoren, zumindest einige grundlegende Angaben über das Material zu machen:
10.4 Anwendungsbeispiele
181
{{subst:Literatur | autor = Feuerstein | verlag = Stein und Meißel | jahr = 10000 vChr | stichw1 = Feuer | stichw2 = Wasser | stichw3 = Umgang }} Der Rest der Seite kann mit einer Inhaltsangabe und besonderen Bemerkungen gefüllt werden. Um nun einen bestimmten Artikel zu finden, hat man mehrere Möglichkeiten. Sofern man den Titel kennt, kann man sich eine Inhaltsangabe direkt über die Suche und den Seite-Button holen. Kennt man Autor oder Verlag, so besteht die Möglichkeit, über das Kategoriensystem zuzugreifen. Für eine thematische Suche hat man ebenfalls die Kategorien, die durch die Stichwörter festgelegt wurden. Hilft das alles nichts, bleibt immer noch die Volltextsuche des MediaWikis.
10.4.4 Kalender Problem: Die Sippenmitglieder, vielbeschäftigt, müssen ihre Termine koordinieren und vor allem Übersicht über die Veranstaltungen der Initiative behalten. Weil sich das Wiki als Kooperationsplattform bewährt hat, wollen sie es damit versuchen. Lösung: Hier stößt das MediaWiki an seine Grenzen. Ein Kalender, der automatisch Termine an der richtigen Stelle einträgt und Wochentage anzeigt, bräuchte mehr Mittel der automatischen Verarbeitung, als das MediaWiki bieten kann. Einen einfachen Jahreskalender kann man sich dennoch selber aus zwei Tabellen zusammenbasteln. Die erste enthält alle Monate. Sie dient im Prinzip dazu, diese nebeneinander anzuordnen. Die zweite Tabelle zeichnet dann den jeweiligen Monat. Zunächst die Jahrestabelle: {| | width=16% | width=16% ... || width=16% | width=16% ... |}
182
valign="top" | valign="top" |
Januar Februar
valign="top" | valign="top" |
Juli August
10 Leben im MediaWiki
Um die Monate der Übersichtlichkeit halber in zwei Reihen anzeigen zu lassen, haben wir die Spaltenbreite 16% gewählt. Die Monatstabellen werden nun jeweils eingefügt: | width=16% valign="top" | Januar {| width=100% border=1 | bgcolor="#FFFFFF" | 1 || bgcolor="#FFCCCC" | 2 Termin || bgcolor="#FFFFFF" | 3 || bgcolor="#CCCCFF" | 4 || bgcolor="#CCCCFF" | 5 ... |} | width=16% | Februar Wie Sie sehen, haben die einzelnen Tage unterschiedliche Farben. Der 4. und 5. Januar sind als Wochenende markiert. Das ergibt eine relativ leicht zu erstellende Wocheneinteilung, ohne dass alle Wochentage manuell eingetragen werden müssen. Termine sind ebenfalls farblich gekennzeichnet. Abb. 10.1
10.4 Anwendungsbeispiele
183
Um die Bearbeitung zu erleichtern, ist es ratsam, die Monatsnamen in Sektionsüberschriften zu verwandeln. Dann kann jeder Monatskalender einzeln bearbeitet werden und die gewünschte Stelle ist wesentlich leichter zu finden: | width=16% valign="top" | {| width=100% border=1 | =Januar= || bgcolor="#CCCCFF" | 1 Vergessen Sie nicht, das Inhaltsverzeichnis mit __NOTOC__ zu unterdrücken. Das Ergebnis finden Sie in Abbildung 10.1. Wie gesagt, hier ist sehr viel Handarbeit vonnöten. Für komplexeres Terminmanagement ist das MediaWiki daher kaum geeignet.
184
10 Leben im MediaWiki
III. TWiki, der Tausendsassa
11 TWiki installieren
Das TWiki ist gegenwärtig zweifellos das Flaggschiff unter den freien Wiki-Varianten. Es bietet nicht nur eine ausgefeilte Rechteund Userverwaltung, verschiedene separate Bereiche und eigene Formulare, sondern auch eine Plugin-Schnittstelle, mit der das System um vielfältige Zusatzfunktionen, wie beispielsweise Zeichnen, Kalkulation oder Datenbank erweitert werden kann. Im Gegensatz zum MediaWiki ist TWiki in der Skriptsprache Perl geschrieben. Es verwendet keine Datenbank, um Seiten zu speichern, sondern legt diese direkt als Dateien in einer Verzeichnisstruktur auf der Festplatte ab. Dabei wird oft auf Befehle und Programme zurückgegriffen, die auf einem Linux-System standardmäßig vorhanden sind. Das macht die Einrichtung einer Testumgebung unter Windows zwar nicht unmöglich, aber doch schwieriger. Zur Versionsverwaltung wird das Tool RCS (Revision Control System) verwendet, das Änderungen protokolliert und die Dateien entsprechend abspeichert. Da dieses Werkzeug nicht auf allen Systemen vorhanden ist oder (bei Webhosts) installiert werden kann, bringt das TWiki eine eigene Version des RCS mit, die aber nicht ganz so performant ist wie das Original. Alle benötigten Komponenten sind in Tab. 11.1 aufgelistet. Komponente Apache Perl Unix-Tools RCS
Funktion Webserver, verwaltet den Zugriff aus dem Netz auf die Dateien. Skriptsprache, in der die Software des TWiki geschrieben ist. Diverse Programme, insbesondere Grep, die den Zugriff und die Aufbereitung der Seiten steuern. Versionierungssoftware zum Verfolgen von Änderungen an einer Datei.
11.1 Installation unter Linux
Benötigte Komponenten
Tab. 11.1
187
Bevor Sie das TWiki installieren, sollten Sie sich überlegen, was Sie damit machen wollen: Wollen Sie mit dem TWiki in einer Gruppe zusammenarbeiten, so ist es am Besten, wenn Sie einen eigenen Server besitzen. Die nötigen Installationsschritte unter einem Linux-System sind gleich im Anschluss beschrieben. Es ist natürlich nicht selbstverständlich, einen eigenen Internetserver zu betreiben. Wenn Sie Ihre Seite bei einem Webhost abgelegt haben, dann finden Sie in Kap. 11.2 die nötigen Informationen. Als Testsystem kann auch ein Betrieb unter Windows erfolgen (s. Kap. 11.3), die Installation ist in diesem Fall jedoch ein wenig komplizierter, weil das TWiki sehr auf Linux zugeschnitten ist. Machen Sie sich in jedem Fall darauf gefasst, dass die Installation etwas aufwändig ist. Eine gewisse Erfahrung im Umgang mit Webadministration ist sicherlich von großem Vorteil. Für Windows gibt es einige bereits vorinstallierte Varianten, die wir Ihnen weiter unten vorstellen.
11.1 Installation unter Linux Der Installationsweg ist im Prinzip für jedes Linux gleich, kann aber je nach Umgebung etwas abweichen. Genauere Informationen für die verschiedenen Plattformen und Webhosting-Sites finden Sie auf der Seite www.twiki.org im TWikiInstallationGuide und in der dort verlinkten Supplemental Documentation (im Abschnitt Troubleshooting). Wir spielen jetzt die Standard-Installation einmal auf Ihrem Rechner durch und gehen davon aus, dass ein Webserver eingerichtet ist. Falls Sie das Buch bis hierher durchgearbeitet haben, sollten Sie schon eine XAMPP-Version auf Ihrem Rechner haben. Die Installation ist in Abschnitt II beschrieben. Für die Installation unter Linux benötigen Sie am Besten RootRechte. Sie müssen sich also als Administrator einloggen: su
188
11 TWiki installieren
Die beiden Programme Perl und RCS sind normalerweise unter Linux schon installiert. Testen Sie dies, indem Sie sich jeweils die Versionsnummern ausgeben lassen: perl -v rcs –V Wenn Sie keine Fehlermeldung bekommen, sind die Programme vorhanden. Ist das Kommando unbekannt, müssen Sie zumindest Perl nachinstallieren. Für RCS gibt es eine Variante, die direkt mit dem TWiki mitgeliefert wird (s. Kap. 11.4).
11.1.1 TWiki kopieren Sie finden die aktuelle Version von TWiki unter www.twiki.org oder auf der CD unter /wikis/twiki. Kopieren Sie die Datei TWiki-4.1.2.tgz in ein Verzeichnis, auf das der Webserver zugreifen kann, z. B. /opt/lampp/htdocs/twiki. Entpacken Sie das Archiv mit tar xvzf Twiki-4.1.2.tgz Damit wird die Verzeichnisstruktur erstellt und die Dateien werden an die entsprechenden Orte gelegt.
11.1.2 Apache konfigurieren Als erstes müssen wir die Apache-Konfigurationsdatei httpd.conf anpassen, damit die Zugriffsrechte auf die einzelnen Verzeichnisse richtig gesetzt sind. Sie finden diese Datei in /opt/lampp/etc. Mit der TWiki-Installation wird eine Datei mitgeliefert, die die meisten Einstellungen schon enthält. Diese muss in httpd.conf eingebunden werden. Fügen Sie dazu folgenden Eintrag in die httpd.conf ein:
twiki.conf einbinden
include "/opt/lamp/htdocs/twiki/twiki.conf" Öffnen Sie nun die Datei twiki_httpd_conf aus dem TWikiVerzeichnis. Als erstes müssen Sie die Pfade anpassen. Ersetzen Sie also alle Instanzen von /home/httpd/twiki/ mit /opt/lamp/htdocs/twiki/. Für die ersten Einstellungen muss das Konfigurationsscript freigegeben werden. Suchen Sie die Stelle und ändern Sie diese wie folgt ab:
11.1 Installation unter Linux
Verzeichnisrechte einrichten
189
SetHandler cgi-script Order Deny,Allow #Deny from all Allow from 127.0.0.1, 192.168.1.10 #Require user JohnDoe #Satisfy Any Sollten Sie kein PHP auf Ihrem Server installiert haben, so setzen Sie ein # vor php_admin_flag engine off. Speichern Sie die so bearbeitete Datei nun unter twiki.conf ab.
11.1.3 Dateien anpassen Die Skripte sind darauf ausgelegt, dass der gesamte Pfad des PerlInterpreters /usr/bin/perl lautet. Den Pfad auf Ihrem System können Sie mit which perl herausfinden. Sollte er sich vom Standard unterscheiden, müssen Sie die Shebang-Zeilen entsprechend ändern. Dafür gibt es ein Tool, das Sie im Verzeichnis twiki/tools finden. Wechseln Sie in den twiki/bin-Ordner: cd /opt/lamp/htdocs/twiki/bin Dort liegen die Perl-Skripte. Geben Sie dann den folgenden Befehl ein: perl ../tools/rewriteshbang.pl Sie werden nun aufgefordert, einen neuen Pfad anzugeben. Tragen Sie den Ort ein, an dem die Datei perl.exe liegt. Bestätigen Sie die nächste Nachfrage mit . Jetzt sollte eine Liste mit Dateien erscheinen, die geändert wurden. Die Dateien im Verzeichnis twiki/bin müssen ausführbar sein. Dies erreichen Sie, indem Sie in diesem Verzeichnis den Befehl chmod 755 * eingeben. Die Dateien den Verzeichnissen data und pub sowie die Verzeichnisse selber müssen von Apache beschreibbar sein. Am einfachsten geht dies, in dem Sie die in das jeweilige Verzeichnis wechseln und die Schreibrechte setzen:
190
11 TWiki installieren
chmod 666 */* Diese müssen ebenfalls für die Verzeichnisse selber gesetzt werden, als im Verzeichnis twiki mit folgendem Befehl: chmod 666 data pub
11.1.4 Konfigurationsdatei aufrufen Jetzt können Sie einen ersten Testlauf Ihrer Konfiguration machen. Rufen Sie dazu in einem Browser die URL http://localhost/twiki /configure auf. Erhalten Sie die Fehlermeldung, dass der Zugriff verweigert wurde, so überprüfen Sie die Passage in twiki.conf. Wenn Sie eine Textdatei sehen, die mit einer Shebang-Zeile, also mit #!, beginnt, sind Ihre Perl-Einstellungen falsch. Ansonsten sehen Sie eine HTML-Seite, die mit der Überschrift Configuration beginnt. Damit ist der Linux-spezifische Teil abgeschlossen und Sie können mit Kap. 11.4 der Installation fortfahren.
11.2 TWiki ohne Admin-Account Wenn Sie vorhaben, das TWiki über einen Webhost zu betreiben, haben Sie verständlicherweise keinen Zugriff auf die ServerKonfiguration. Darüber hinaus bieten viele Webhosts keinen SSHZugang, so dass Sie die die Dateien möglicherweise nicht direkt am Server bearbeiten können. Nichtsdestoweniger müssen Sie nicht auf den Einsatz des Wikis verzichten. Voraussetzung ist allerdings, dass Ihr Webhost Perl anbietet und Ihnen erlaubt, eigene Skripte zu verwenden. Im Prinzip gehen wir im Folgenden genauso vor, als würden wir eine lokale Kopie installieren, verwenden dabei jedoch die Parameter des Webhosts. Wir gehen davon aus, dass Sie mit der lokalen Installation von TWiki für Ihr Betriebssystem vertraut sind. Sie benötigen zunächst verschiedene Angaben über Ihren Webhost.
Voraussetzungen
Notwendige Information
Bin-Verzeichnis. In welchem Verzeichnis dürfen Sie Skripte ausführen? Üblicherweise finden Sie ein Verzeichnis bin oder cgi-bin, wenn Sie sich per FTP auf Ihrem Account einloggen. Web-Verzeichnis. Auf welches Verzeichnis kann übers Netz zugegriffen werden? Standardnamen sind public_html und www.
11.2 TWiki ohne Admin-Account
191
Perl. Wie lautet der Pfad zu Perl? Wenn Sie SSH-Zugang haben, können Sie die Pfade mit which herausfinden. Ansonsten hilft eventuell ein Blick in vordefinierte Perl-Skripte. Absoluter Pfad. Wie lautet der Pfad zum Verzeichnis Ihres Webordners? Leider gibt es keinen Weg, diesen Pfad zu erraten. Wenn Sie einen SSH- oder Telnet-Zugang haben, können Sie sich den Pfad mit pwd ausgeben lassen. Ansonsten fragen Sie Ihren Host. Sollten Sie den Pfad nicht finden, können Sie zunächst mit relativen Pfaden arbeiten.
Verzeichnisstruktur
Tab. 11.2
192
Entpacken Sie die TWiki-Installationsdatei auf Ihrer Festplatte. Sie müssen nun eventuell die Shebang-Zeilen der Skripte im lokalen Verzeichnis bin an den Perl-Pfad Ihres Providers anpassen. Wie das gemacht wird, ist in Kap. 11.1.3 beschrieben. Als nächstes erstellen Sie eine Verzeichnisstruktur auf dem Webserver und kopieren Sie die Dateien von Ihrer lokalen Festplatte an die entsprechenden Orte. Folgende Ordner werden benötigt: Lokaler Ordner Funktion Ordner beim Webhost twiki Startdateien Stammverzeichnis Ihres Wikis. Das ist dasjenige, auf das Sie beim Login mit FTP als erstes gelangen. twiki/bin Skripte Das oben bestimmte Bin-Verzeichnis. Sie können auch einen eigenen Unterordner in diesem Verzeichnis erstellen. twiki/lib Funktions- Sollte im gleichen Verzeichnis bibliothek liegen wie der Ordner bin. twiki/pub öffentlich Im oben bestimmte Web-Verzugängliche zeichnis oder einem Unterordner Dateien davon. twiki/data Seiten Da die Seiten erst von der WikiSoftware verarbeitet werden sollten, ist es am besten, dieses Verzeichnis nicht vom Web aus zugänglich zu machen. Sollte das nicht möglich sein, ist es aber nur ein Schönheitsfehler, solange Sie keine geheimen Daten auf Ihrem TWiki haben. twiki/templates Vorlagen S. twiki/data twiki/locale SprachS. twiki/data dateien
11 TWiki installieren
Lokaler Ordner Funktion Ordner beim Webhost twiki/tools HilfsS. twiki/data programme
Tab. 11.2 (Fortsetzung)
Nun können Sie das Test-Skript configure wie oben beschrieben in einem Browser aufrufen. Wenn Sie jetzt eine HTML-Seite mit der Überschrift Configure sehen, waren Sie erfolgreich.
11.3 Installation unter Windows Da das TWiki auf den Betrieb unter Linux zugeschnitten ist, raten wir davon ab, unter Windows öffentliche Wikis zu betreiben. Zum Testen oder als Editierumgebung kann es aber sinnvoll sein, eine Version unter diesem Betriebssystem einzurichten. Wie oben schon erwähnt, gibt es dazu mehrere Varianten. Die zwei einfachsten stellen wir Ihnen gleich am Anfang vor. Dabei handelt es sich um schon fertig konfigurierte Systeme, die sofort in Betrieb genommen werden. Die dritte Variante geht die Installation „zu Fuß“ ab. Welche Variante Sie wählen, hängt letztlich von Ihren Voraussetzungen und Kenntnissen ab. Die ersten beiden Varianten sind relativ einfach zu installieren. Bei der ersten sind kleinere Einschränkungen im Betrieb hinzunehmen, aber für den Anfang ist das wohl die beste Lösung. Mit der zweiten Variante haben Sie ein voll funktionsfähiges TWiki, sie brauchen aber Linux-Kenntnisse, um Konfigurationen an den Dateien vorzunehmen. Das ist besonders in den fortgeschrittenen Kapiteln ab und an nötig. Die dritte Variante zeigt die Installation für Hartgesottene, ermöglicht es aber auch unter Windows, (fast) alle Features des TWiki zu nutzen.
11.3.1 Variante I: TWiki for Windows Personal TWiki For Windows Personal ist ein Paket, das eine komplette Testumgebung und ein Installationsskript enthält. Sie finden die Datei auf der CD im Verzeichnis wikis/twiki-WP. Entpacken Sie den Inhalt des Archivs TWiki-WP-4.0.5.zip in das Verzeichnis C:\twiki auf Ihrer Festplatte. Achtung: Es kann beim Entpacken passieren, dass die Daten in einen weiteren Ordner twiki innerhalb von C:\twiki kopiert werden.
11.3 Installation unter Windows
193
In diesem Fall müssen Sie den Inhalt des inneren Ordners in den äußeren Ordner kopieren. Führen Sie dort die Datei run.bat aus. Damit wird der Webserver gestartet. Jetzt können Sie das TWiki im Browser mit http://localhost:8765/cgi-bin/view.pl aufrufen. Fertig. Wenn Sie TWiki beenden wollen, schließen Sie einfach den Browser. Dabei wird jedoch der Webserver nicht ausgeschaltet. Um das zu tun, müssen Sie den Prozess tinyweb im Taskmanager beenden. Wie bei allen einfachen Dingen gibt es auch bei TWiki For Windows Personal einige Einschränkungen. Beispielshalber ist es nicht möglich, mit diesem System eine Benutzeranmeldung durchzuführen. Sie können daher die Seiten, die für die anonyme Bearbeitung gesperrt sind, nicht verändern. Außerdem enthält diese Distribution ein TWiki der Version 4.0.5. Diese kann gegenüber der jüngeren Version 4.1.2 geringfügig abweichen. Hinweis: TWiki For Windows Personal verwendet die Endung .pl für die Perl-Skripte. Das unterscheidet sie von den anderen im Buch besprochenen Installationen. In URLs, die direkt auf Skripte zeigen, beispielsweise auf configure, müssen Sie immer die Endung mit angeben, also beispielsweise configure.pl.
11.3.2 Variante II: TWiki VMWare Virtual Machine Eine virtuelle Maschine ist eine Art Rechner im Rechner. Sie können damit innerhalb Ihres Betriebssystems (Hostsystem) ein zweites System (Gastsystem) starten, z.B. Linux unter Windows. Genau das macht die TWiki VMWare Virtual Machine. Es handelt sich um eine Komplettinstallation, die man starten kann, wenn man den VMWare Player besitzt. Der ist kostenlos und kann unter http://www.vmware.com/de/products/player heruntergeladen werden. Kopieren Sie die virtuelle Maschine, die Sie auf der CD unter wikis/twiki-VM finden, auf die Festplatte. Öffnen Sie den Player, laden Sie die virtuelle Maschine und starten Sie diese. Bitte achten Sie darauf, dass im Menü DEVICES ETHERNET
194
11 TWiki installieren
der Punkt NAT (nicht Bridged) markiert ist. Jetzt können Sie einfach im Hostsystem einen Browser öffnen und TWiki über die URL http://twiki-vm starten. Wollen Sie das System beenden oder Dateien des TWiki verändern, so müssen Sie sich im Gastsystem anmelden. Loggen Sie sich dazu im System der virtuellen Maschine mit Username „root“ und Passwort „root“ ein. Zum Beenden geben Sie in der Konsole den Befehl shutdown –h now ein. Das System wird heruntergefahren. TWiki VMWare Virtual Machine ist ein voll funktionsfähiges Wiki. Einziger Nachteil: Ein System im System braucht ziemlich viele Ressourcen. Dementsprechend kann es bei schwächeren Computern sein, dass der Seitenaufbau etwas länger dauert. Und auch diese Distribution wird noch mit einem älteren TWiki der Version 4.0.4 ausgeliefert, die gegenüber der jüngeren Version 4.1.2 geringfügig abweichen kann.
11.3.3 Variante III: TWiki mit IndigoPerl Um TWiki selbst unter Windows zu installieren, müssen wir uns zunächst wieder eine Testumgebung schaffen. Hierfür verwenden wir IndigoPerl. Ähnlich wie XAMPP ist das eine Zusammenstellung von Programmen, die nötig sind, um einen Webserver zu betreiben. Die Perl-Variante, die bei IndigoPerl mitgeliefert wird, arbeitet jedoch besser mit TWiki zusammen, als die von XAMPP. Sie können die bei Drucklegung aktuellste IndigoPerl-Version 2005.02 auf der beigelegten CD im Verzeichnis \indigoperl finden. Entpacken Sie das Archiv nach C:\IndigoPerl. Wechseln Sie nun in das Verzeichnis und starten Sie die Datei setup.bat.
Installation starten
Achtung: Achten Sie darauf, dass während der Installation keine Anwendung den Port 80 benutzt. Schalten Sie insbesondere Skype aus, da es hier zu einem Konflikt kommen kann. Es erscheint Enter installation directory. Sie werden gebeten, einen Punkt einzugeben, um IndigoPerl im aktuellen Verzeichnis (current directory) zu installieren. Wenn Sie dies getan haben, wird
11.3 Installation unter Windows
195
Apache als Service eingerichtet und gestartet. Sie sehen rechts unten in der Taskleiste auch ein Symbol, mit dem der Server gesteuert werden kann. Hinweis: Apache wird so eingerichtet, dass er beim Start von Windows automatisch geladen wird. Wenn Sie das nicht wollen, so rufen Sie die Diensteverwaltung auf (START SYSTEMSTEUERUNG VERWALTUNG DIENSTE) und stellen Sie die Startart bei „Apache 2“ von Automatisch auf Manuell. Das geht über die Eigenschaftsseite, die Sie mit einem Rechtsklick auf den Dienst aufrufen können. Umgebungsvariablen setzen für Windows NT, 2000 und XP
Damit Perl gefunden wird, müssen Sie den Pfad in die Umgebungsvariable PATH von Windows aufnehmen. PATH können Sie unter Windows NT, 2000 und XP festlegen, indem Sie in der Systemsteuerung auf das System-Symbol klicken (bei XP unter Leistung und Wartung zu finden), den Reiter Erweitert wählen und dort den Knopf Umgebungsvariablen drücken. Es erscheint eine Liste mit den bereits existierenden Variablen. Markieren Sie PATH und klicken Sie auf Bearbeiten. Sollte die Variable nicht existieren, können Sie diese mit Neu hinzufügen. Setzen Sie an den Anfang des Variablenwertes den Pfad zu Perl: C:\IndigoPerl\perl\bin;
Testlauf
Achten Sie dabei auf den nachfolgenden Strichpunkt. Er trennt diesen Pfad von anderen, die für das System wichtig sind Jetzt können Sie testen, ob Perl funktioniert. Starten Sie dazu die AUSFÜHREN… cmd ein. Wenn DOS-Box. Geben Sie bei START Sie nun den Befehl perl -v eintippen, sollten Sie Informationen über die aktuelle Perlversion sehen. Ist das nicht der Fall, überprüfen Sie die PATH-Variable. Starten Sie bei einem weiteren Testlauf die DOS-Box neu.
11.3.4 TWiki kopieren Installationsdateien finden
196
Nachdem wir bisher nur an der Testumgebung gefeilt haben, können wir uns nun daran machen, das TWiki selbst zu installieren. Die aktuelle Version finden Sie unter der URL http://www.twiki.org. Wir haben auf der CD die Version 4.1.2 beigefügt, die im Verzeichnis \wikis\twiki liegt. Erstellen Sie ein Verzeichnis für TWiki, am besten
11 TWiki installieren
unterhalb des IndigoPerl-Verzeichnisses, also c:\IndigoPerl\twiki. Entpacken Sie die Dateien des Archivs TWiki-4.1.2.zip in dieses Verzeichnis. Tipp: Sollten Sie Pfade mit Leerzeichen verwenden (z. B. Eigene Dateien), so ist es unter Umständen in den folgenden Schritten notwendig, dass Sie DOS-Pfade verwenden. Geben Sie einfach die ersten sechs Buchstaben, Tilde und eine von 1 fortlaufende Nummer zur Unterscheidung an. In diesem Fall: eigene~1.
Verzeichnisse einrichten
Es liegt in der Natur von Perl-Skripten, dass sie Informationen enthalten, wo der Perl-Interpreter liegt, der sie ausführen soll. Diese sind in der so genannten Shebang-Zeile am Anfang des Dokuments enthalten. Nachdem das TWiki für Linux optimiert ist, muss diese Zeile unter Windows jeweils geändert werden. Zu diesem Zweck liefert TWiki ein kleines Programm mit. Öffnen Sie die DOS-Box und wechseln Sie mit cd C:\IndigoPerl\twiki\bin in das Verzeichnis, wo die Skripte liegen. Dort geben Sie den folgenden Befehl ein: perl ..\tools\rewriteshbang.pl Sie werden nun aufgefordert, einen neuen Pfad anzugeben. Tragen Sie den Ort ein, an dem die Datei perl.exe liegt. Das ist in unserem Fall C:\IndigoPerl\perl\bin\perl.exe Bestätigen Sie die nächste Nachfrage mit . Jetzt sollte eine Liste mit Dateien erscheinen, die geändert wurden. Tipp: Wenn Sie sich vertippt haben, können Sie das Skript einfach noch mal ausführen und die Ersetzung mit dem richtigen Pfad vornehmen.
11.3.5 Apache konfigurieren Als nächstes müssen wir die Apache-Konfigurationsdatei httpd.conf anpassen, damit die Zugriffsrechte auf die einzelnen Verzeichnisse richtig gesetzt sind. Mit der TWiki-Installation wird eine Datei mit-
11.3 Installation unter Windows
Ausführbares Verzeichnis bestimmen
197
geliefert, die die meisten Einstellungen schon enthält. Sie muss nur noch in httpd.conf eingebunden werden. Diese liegt im Verzeichnis des Programms, c:\indigoperl\apache\conf. Am besten öffnen Sie diese wieder über den Windows Explorer. Fügen Sie am Ende der Datei die folgende Zeile ein: include "C:/indigoperl/twiki/twiki.conf" Verzeichnisrechte einrichten
Sie haben vielleicht bemerkt, dass die Datei twiki.conf noch nicht existiert. Wir müssen sie also zunächst erzeugen. Öffnen Sie dazu die Datei twiki_httpd_conf aus dem TWiki-Verzeichnis. Als erstes müssen Sie die Pfade anpassen, die für Linux voreingestellt sind. Schreiben Sie also jedes Mal, wenn /home/httpd/twiki/ vorkommt, stattdessen c:/indigoperl/twiki/. Am besten geht das in einem Editor mit der Ersetzen-Funktion. Für die ersten Einstellungen muss der Zugriff auf das Konfigurationsscript freigegeben werden. Suchen Sie die Stelle und ändern Sie diese wie angegeben: SetHandler cgi-script Order Deny,Allow #Deny from all Allow from 127.0.0.1, 192.168.1.10 #Require user JohnDoe #Satisfy Any Nachdem IndigoPerl kein PHP mitliefert, sollten Sie die entsprechenden Einträge auskommentieren. Setzen Sie dazu einfach ein # vor php_admin_flag engine off. Speichern Sie die so bearbeitete Datei nun unter twiki.conf ab. Jetzt müssen Sie den Apache-Server neu starten. Das geht am einfachsten über das Symbol in der Taskleiste. Im Kontextmenü finden Sie den Eintrag OPEN APACHE MONITOR. Dann erscheint ein Fenster, in dem alle laufenden Apache-Server aufgelistet sind. Normalerweise ist das nur einer. Markieren Sie den und drücken Sie auf den Knopf Restart. Damit werden die Änderungen geladen. Sollte es hierbei zu Problemen kommen, überprüfen Sie die Änderungen in twiki.conf.
198
11 TWiki installieren
11.3.6 Perl-Module und Grep nachinstallieren Für den reibungslosen Betrieb von TWiki benötigen wir noch zwei Komponenten, die nicht in IndigoPerl enthalten sind. Zunächst fehlen drei Perl-Module. Diese können über ein Programm problemlos nachinstalliert werden. Achtung: Für die Nachinstallation der Perl-Module muss Ihr Rechner mit dem Internet verbunden sein. Geben Sie einfach nacheinander die folgenden Befehle in der DOSBox ein. Das Verzeichnis, in dem Sie sich befinden, hat dabei keine Auswirkung: ipm install Algorithm::Diff ipm install CGI::Session ipm install Error Des Weiteren brauchen wir das Programm grep. Das finden Sie auf der CD unter tools/grep, oder Sie laden es von der Internetseite gnuwin32.sourceforge.net/packages/grep.htm herunter. Installieren Sie die Software in das Verzeichnis C:\IndigoPerl. Die Datei grep.exe sollte sich jetzt im Verzeichnis C:\IndigoPerl\ GnuWin32\bin befinden. Der windows-spezifische Teil ist damit abgeschlossen.
11.4 TWiki-Installation fertig stellen Das Skript configure ist als Einstellungstool gedacht, um die aktuelle Konfiguration einsehen und eventuelle Fehler finden zu können. Der Aufruf geschieht im Browser über die URL
Configure
http://[hostname]/twiki/[binpfad]/configure also z. B. http://localhost/twiki/bin/configure. Wenn Sie zum ersten Mal auf die Konfigurationsseite kommen, klicken Sie auf next, um die Datei ein erstes Mal abzuspeichern, bevor Sie fortfahren können. Speichern Sie ab, ohne ein Passwort zu
11.4 TWiki-Installation fertig stellen
199
vergeben (das machen wir weiter unten) und kehren Sie zur Konfiguration zurück. Hinweis: Wenn Sie die TWiki-VM-Installation benutzen, ist das Passwort für configure schon auf „TWikiAdmin“ voreingestellt. Sie sehen nun eine Seite, auf der Sie alle Informationen zur aktuellen Konfiguration des TWikis finden können. Generell gilt: Es dürfen in der Liste keine Fehler auftauchen (die sind rot markiert) und es sollten so wenige Warnungen wie möglich (gelb markiert) vorkommen. Wenn Sie auf eine der Überschriften in der Liste klicken, so öffnet sich dieser Abschnitt und Sie können die nötigen Einstellungen vornehmen. Sie sollten zu Anfang einige Dinge überprüfen. Pfade, Sprache, Plugins
1. General Path Settings -> TempfileDir. Hier sollte der Pfad C:\Temp lauten. 2. Store Settings -> RCS. Wenn Sie nicht unter Linux arbeiten oder dort kein rcs installiert haben, so verwenden Sie hier RCSLite. 3. Store Settings -> EGrep Cmd: Hier muss der Pfad zum Programm grep eingetragen werden. Unter Linux stimmen die Einstellungen normalerweise. Unter Windows ersetzen Sie die Zeile durch C:\indigo~1\GnuWin32\bin\grep.exe %CS{|-i}% %DET{|-l}% -H -%TOKEN|U% %FILES|F%. 4. Store Settings -> FGrep Cmd: Gehen Sie vor wie bei FGrep Command. 5. Localisation -> UserInterfaceInternationalisation: Setzen sie hier einen Haken, wenn Sie das TWiki auf Deutsch haben wollen. Stellen Sie auch Site/Locale auf de_DE.ISO8859-15 um. 6. Plugins -> WysiwygPlugin/Enabled: Wenn Sie hier einen Haken setzen, wird ein Editor aktiviert, der das Bearbeiten von TWiki-Seiten vereinfacht. Speichern Sie die Einstellungen, indem Sie auf Next am unteren Ende der Seite klicken. Sie werden nun aufgefordert, ein Passwort einzugeben. Die Voreinstellung hier ist ein leeres Passwort. Da es sich hier aber um für das System kritische Daten handelt, ist es ratsam, im unteren Bereich ein neues Passwort zu setzen. Klicken Sie dann auf Change Password and Save. Wenn Sie das Passwort nicht ändern wollen, reicht es, wenn Sie direkt auf Save klicken.
200
11 TWiki installieren
Beim erneuten Aufruf von configure sollten Sie jetzt keine roten Fehler mehr sehen. Nun ist der große Moment gekommen: Sie starten TWiki zu ersten Mal, um zu überprüfen, ob alle Angaben richtig gemacht wurden und alle Komponenten vorhanden sind. Rufen Sie das Wiki nun mit view auf. Dieses hat die gleiche URL wie configure, nur dass eben am Ende view steht. Wenn Sie jetzt eine Oberfläche sehen, wie sie in Abb. 12.2 dargestellt ist, war die Installation erfolgreich.
TWiki aufrufen
11.5 TWiki-Seiten ansehen Nun sollten Sie sich ein bisschen im TWiki umsehen, um festzustellen, ob die Installation korrekt vorgenommen wurde. Am Ende einer Seite finden Sie die Versionen der Seite unter dem Stichwort Historie. Merken Sie sich die Versionsnummer einer beliebigen Seite. Bearbeiten Sie diese Seite mit Editieren und speichern sie mit Speichern. Die Nummer sollte sich erhöht haben. Ist das nicht der Fall, so überprüfen Sie die letzten Einträge im Fehlerprotokoll des Apache-Servers auf die Frage, ob das Programm RCS gefunden wurde. Ist dies nicht der Fall, verwenden Sie RCSLite. Klicken Sie in der Menüleiste links auf Änderungen. Damit wird Ihnen eine Liste aller Seiten in diesem Web angezeigt, die zuletzt geändert wurden. Wenn an dieser Stelle Fehler auftauchen, so sollten Sie sich die Pfade in zu EGrep und FGrep in der Konfigurationsdatei nochmals ansehen. Laden Sie zuletzt eine Datei ins TWiki. Dies geht über den Reiter Anhang rechts oben. Geben Sie auf der folgenden Seite eine Datei an und klicken Sie auf Datei hochladen. Sie sollten daraufhin am Ende des Eintrags eine Tabelle der Anhänge finden. Ist das Hochladen von Dateien nicht möglich, so liegt das wahrscheinlich daran, dass der Server im Verzeichnis twiki/pub keine Schreibrechte hat. Wenn alle Tests erfolgreich waren, haben Sie jetzt ein funktionsfähiges TWiki vor sich, mit dem Sie arbeiten können.
11.5 TWiki-Seiten ansehen
RCS überprüfen
Schreibrechte
201
12 Arbeiten mit TWiki
12.1 Was sind Webs? Bevor wir zu den Bestandteilen und Funktionen der Startseite im TWiki, also zur ersten Seite nach dem Aufruf des Wikis kommen, möchten wir ein paar erklärende Worte zu einer Besonderheit im TWiki verlieren: den Webs. Ein TWiki ist in mehrere Webs aufgeteilt. Das sind in sich abgeschlossene Bereiche, in denen sich die Seiten befinden. Das Schöne daran ist, dass Sie damit mehr oder minder viele kleine Wikis für unterschiedliche Projektgruppen betreiben können, jedoch nur ein einziges TWiki auf Ihrem Webserver installieren müssen. Der Nachteil ist, dass dies zumindest am Anfang für etwas Verwirrung sorgen kann. Denn wenn Ihr TWiki installiert ist, stehen Ihnen schon eine Reihe von Standardwebs zur Verfügung, die zwar gleichberechtigt nebeneinander existieren, jedoch unterschiedliche Funktionen ausführen. So erlaubt das Web Sandbox ein hemmungsloses Herumprobieren, während man im TWiki-Web wichtige Einstellungen z. B. für das Layout vornehmen kann. Hier ein kurzer Überblick über die Standardwebs: Web Main TWiki
Sandbox
Verwendung Startpunkt im TWiki. Hier befinden sich auch die User- und Gruppenseiten. Dokumentation des TWiki sowie allgemeine Einstellungen und Vorlagen, die im gesamten Wiki gelten sollen. Spielplatz, in dem der User das Wiki ohne die Befürchtung, Schaden anzurichten, ausprobieren kann.
12.1 Was sind Webs?
Standardwebs Tab. 12.1
203
Topics
Diesen vorinstallierten Webs können Sie dann nach Belieben weitere Webs hinzufügen. Wie dies funktioniert, können Sie in einem späteren Kapitel (17.1) nachlesen. Noch eine kleine Besonderheit des TWikis: die Seiten werden nicht „Pages“ sondern „Topics“, also Themen, genannt, ein Umstand, der gerade bei Seitennamen wie WebTopicList zuweilen zu Verwirrung führen kann. Also: Topic = Seite eines TWikis. Eine Notationskonvention ist noch zu erwähnen. Wenn wir uns auf ein Topic beziehen, das in einem bestimmten Web liegt, so schreiben wir Web.Topic.
12.2 Eine Webseite Wo ist was?
Wir befinden uns nun im Main-Web, in das Sie gelangen, wenn Sie die URL des TWikis aufrufen. Alle folgenden Ausführungen gelten aber auch genauso für jedes andere Web.
Abb. 12.1
Die Seite kann man grob in fünf Teile gliedern:
204
12 Arbeiten mit TWiki
Oben ist die Kopfzeile (1), normalerweise farbig unterlegt und mit einem Logo. Sie dient zur Orientierung und enthält den Schnelleinstieg mit „Sprung“. Gleich darunter haben wir eine kleine Informationsleiste (2) mit zentralen Funktionen und allgemeinen Hinweisen Auf der linken Seite befindet sich die Menüleiste (3) mit den wichtigsten Links und Funktionen, die das ganze Web betreffen. Sie können diese aber auch selbst mit Links oder diversen Funktionen bestücken (s. Kap. 18.1). Über die Funktionsleiste (4) stehen Ihnen die Aktionen zur Verfügung, die Sie benötigen um den Inhalt zu verändern. Der Inhalt (5) steht nun zwischen Kopf- und Fußzeile und kann von Ihnen im Editierfenster gestaltet werden.
12.2.1 Die Menüleiste Wir werden nun die wichtigsten Bestandteile der Menüleiste unter die Lupe nehmen. Wenn Sie eine Seite ändern wollen, müssen Sie sich zuerst im Login-Fenster anmelden, das erscheint, wenn Sie den EditierenSchalter betätigt haben. Die Anmeldung funktioniert mit einem „geborgten“ Account, d. h. Sie loggen sich als „TWikiGuest“ mit dem Passwort „guest“ ein. Oder Sie registrieren sich zuvor als regulärer Nutzer, indem Sie sich im Registrierformular einen TWiki-Namen und ein Passwort geben. Ihr TWiki-Name sollte dabei konsequenterweise ein WikiWord darstellen, d. h. also am besten Vor- und Zuname ohne Leerzeichen zusammenfügen, wie z. B. UlrikUrmensch. Mit der Registrierung
Registrieren
Benutzer
wird für Sie ein Account angelegt. Mit Ihrem TWiki-Namen und Passwort können Sie sich nun jederzeit zu erkennen geben. Andere User sehen nun, wer für die gemachten Veränderungen verantwortlich ist. erzeugt das TWiki eine weitere Userseite mit Ihrem TWikiNamen als Titel und den weiteren Angaben im Registrierformular als Inhalt. wird Ihr Name auf der User-Liste TWikiUsers eingetragen. erhalten Sie per E-Mail eine Bestätigung.
12.2 Eine Webseite
205
Wenn Sie überprüfen wollen, ob Ihre Eintragung geklappt hat, sehen Sie am besten in der Menüleiste unter Benutzer nach. Da müsste im alphabetisch geordneten Benutzerverzeichnis Ihr WikiName an der richtigen Stelle stehen. Die Namen sind jeweils zu den zugehörigen Seiten verlinkt. Dahinter steht zusätzlich das Registrierungsdatum. Hinweis: Die Registrierung ist in der Out-Of-The-Box-Installation noch nicht aktiviert, d. h. Sie können alle Seiten ohne Anmeldung bearbeiten (s. auch Kap. 16).
Index
Wir überspringen den Menüpunkt Gruppen, mit dem wir uns später im Kap. 16.4 im Rahmen der Zugangskontrollen auseinandersetzen wollen. Der folgende Menüpunkt Index leitet Sie nun auf die Seite WebTopicList. Wie schon oben erwähnt, ist der Begriff „Topic“ gleichbedeutend mit „Seite“. Demzufolge handelt es sich bei der Topic list um ein Verzeichnis aller im aktuellen Web befindlichen Seiten in alphabetischer Reihenfolge. Darunter befinden sich: Die Seiten, die von Ihnen und der Community kreiert worden sind. Die Userseiten, die bei der Registrierung automatisch erstellt werden. Konfigurationsseiten Dokumentationsseiten der TWiki-Entwickler
Suche
206
Die nächste wichtige Option der Menüleiste ist die Suchfunktion Suche. Dort werden Sie aufgefordert, einen oder mehrere Suchbegriffe in das Textfeld einzugeben. Mithilfe der Radiobuttons können Sie festlegen, ob die von Ihnen gewählten Schlüsselbegriffe in Seitennamen, im Volltext oder in beidem zu suchen sind. Zusätzlich können Sie einstellen, ob das aktuelle Web oder alle öffentlichen Webs im TWiki durchsucht werden sollen. Damit lässt sich der Suchraum einschränken und der Suchprozess beschleunigen.
12 Arbeiten mit TWiki
Bei der Suchfunktion gelten die üblichen Regeln: Aneinander gereihte Begriffe werden mit einem logischen UND verbunden, d. h. die Funktion gibt nur die Seiten aus, die ALLE Suchbegriffe enthalten. Falls Begriffe in einer bestimmten wörtlichen Reihenfolge gesucht werden, müssen diese in Anführungszeichen gesetzt werden, z. B. „Eric Raymond“. Um Seiten mit einem bestimmten Begriff auszuschließen, setzen Sie ein Minuszeichen vor das unerwünschte Schlüsselwort. Wenn Ihr Suchbegriff allerdings mit einem Minus beginnt, sollten Sie diesen mit Anführungszeichen maskieren, z. B. „–nowarns“. Füllselwörter wie z. B. Artikel und Konjunktionen werden nicht bei der Suche berücksichtigt, es sei denn, Sie setzen ein Pluszeichen davor. Diese so genannten Stoppwörter sind auf der Seite TWiki.TWikiPreferences unter dem Punkt SEARCHSTOPWORDS festgelegt. Standardmäßig sind hier englische Ausdrücke eingetragen. Für eine deutschsprachige Seite muss man die Liste entsprechend ergänzen. Noch ein kurzes Beispiel für die Suche: flamme -liebschaft Hier werden alle Seiten gesucht, die das Wort „Flamme“ enthalten, sich aber nicht um Liebesgeschichten drehen. Wenn Sie die Suche präzisieren wollen, können Sie die Dienste der erweiterten Suche in Anspruch nehmen. Neben detaillierteren Auswahlmöglichkeiten bezüglich des Webs und zusätzlichen Sortierfunktionen haben Sie hier die Möglichkeit, Ihre Suche als regulären Ausdruck einzugeben. Das ist eine vor allem bei Programmierern verbreitete Notationskonvention für Suchanfragen, die sehr flexibel und daher sehr mächtig ist. Dabei sollten Sie die folgenden „Grundregeln“ beachten, die sich ein wenig von der einfachen Suche unterscheiden:
12.2 Eine Webseite
Erweiterte Suche
207
Die Suchmuster werden mit einem Strichpunkt (UND) oder Pipe-Zeichen (ODER) verbunden. Um einen Begriff auszuschließen nutzen Sie hier nicht das Minuszeichen sondern ein Ausrufezeichen vor dem Begriff Strichpunkt und Ausrufezeichen sind mit einem Backslash zu maskieren. Hier das zuvor genannte Beispiel der einfachen Suche als regulärer Ausdruck: flamme;!liebschaft Sie fragen sich, warum man denn mit Hilfe von regulären Ausdrücken suchen sollte, wenn man auch mit der einfachen Suche das gleiche erreicht? Nun, dann versuchen Sie doch mal, das Ergebnis des folgenden Suchmusters mit der einfachen Suche zu erzielen: (z(ü|ue)nd)?funke(n)?;!idee Gesucht wird hier nach „Funke“ und „Zündfunke“ zum Feuermachen, egal ob in Ein- oder Mehrzahl oder in verschiedener Rechtschreibung. Es sei hier noch kurz darauf hingewiesen, dass Sie Ihre Suche mit der Variablen %SEARCH% in eine Seite einbetten können. In Kap. 14 werden wir uns damit genauer auseinandersetzen. Änderungen
Auf der Seite WebChanges, die Sie über den Menüpunkt Änderungen erreichen, erhalten Sie eine Übersicht über alle Seiten, die zuletzt verändert wurden. Die aktuell letzte Änderung steht dabei ganz oben. Einen Zugriff auf die älteren Versionen einer Seite erhalten Sie hier allerdings noch nicht. Dazu müssten Sie die RevisionsOption (Historie) der jeweiligen Seite nutzen. Achtung: Der Schwerpunkt dieser Funktion liegt auf den Namen der Seiten, die bearbeitet wurden. Daher wird auch nur die allerletzte Änderung einer Seite berücksichtigt.
208
12 Arbeiten mit TWiki
Abb. 12.2
Der Aufbau der WebChanges: Links sehen Sie den Namen der geänderten Seite, in der Mitte die Versionsnummer und das Datum. Rechts davon ist der Urheber der Änderung angezeigt. Unter dieser Zeile erhalten Sie in einem blassen Grau den Anfang des Seitentexts zur Orientierung. Der nachfolgende Eintrag Benachrichtigungen hat mit der Benachrichtigung über Änderungen im Web per E-Mail zu tun. Wir sprechen später im Kap. 17.5 darüber, weil uns dieses Hilfsmittel besonders für die Verwaltung des TWikis interessiert. Die Seite Statistiken ist selbsterklärend, die Konfiguration der Statistik ist es nicht. Deswegen lassen wir auch sie an dieser Stelle aus. Der Menüpunkt Einstellungen konfiguriert das Web; vor allem die Vergabe von Lese- und Schreibrechten kann speziell für jedes Web geregelt werden (vgl. Kap.16.4). Wir kommen auf die Einstellungen zurück, wenn wir sie brauchen. Zuletzt ist noch der Link Persönliche Seitenleiste anlegen zu nennen. Diesen sehen Sie allerdings nur, wenn Sie ihn zuvor noch nicht benutzt haben, denn wenn Sie diesen aktivieren, gelangen Sie in den Editiermodus der WebLeftBar-Seite. Hier können Sie den unteren Abschnitt der Menüleiste nach Belieben gestalten, indem Sie z. B. Ihre favorisierten Links einsetzen. Selbst wenn Sie gar nichts an dem Text ändern, besitzen Sie nun einen eigenen kleinen Abschnitt der Menüleiste, in dem zumindest schon einmal ein Link zu ihrer User-Seite eingetragen ist. Lassen Sie sich nicht von den vielen
12.2 Eine Webseite
Weitere Einträge
Persönliche Seitenleiste anlegen
209
voreingestellten Variablen im Quelltext verwirren, sondern probieren Sie einfach mal aus, einen weiteren Link zu setzen, indem Sie in der Aufzählung „My Links“ nach einem Sternchen folgenden Text eingeben: http://twiki.org Wenn Sie die Seite gespeichert haben, werden Sie die Veränderung nicht nur auf der Seite selbst, sondern auch in der Menüleiste begutachten können. Hinweis: Auch ein TWikiGuest kann diesen Abschnitt der Menüleiste individuell gestalten, selbst wenn es eigentlich keinen Sinn ergibt, da sich ja unterschiedliche Personen als TWikiGuest einloggen und damit die Eintragungen ändern können. Damit ist unsere Betrachtung der Menüleiste abgeschlossen und wir können zum nächsten Bestandteil des Fensters übergehen.
12.2.2 Die Informationsleiste Die Informationsleiste unterhalb der Kopfzeile übernimmt die Funktion einer Kopfzeile: Sie sagt Ihnen, auf welcher Seite Sie sich gerade befinden, welche Version diese hat, wann sie zuletzt geändert wurde und von wem. Außerdem finden Sie hier ein paar Aktionen des TWikis – Editieren, WYSIWYG, Anhang und Drucken, die sich nochmals in der Funktionsleiste unten befinden und die wir gleich ausführlich besprechen werden. Diese Doppelung erhält erst bei sehr langen Texten ihren praktischen Nutzen, weil man sich dadurch das Scrollen an das Ende des Artikels sparen kann.
12.2.3 Die Funktionsleiste
Anhang
210
Die Funktionsleiste enthält die wichtigsten Werkzeuge eines TWiki-Autors. Da ist die Kernfunktion Editieren, die das Editierfenster öffnet. (s. Kap. 12.3) und der Link WYSIWYG, der den KupuEditor öffnet (vgl. Kap. 13.8) Wer jetzt zuerst Seiten bearbeiten will, springt daher am besten zu den beiden genannten Kapiteln und kommt später wieder hierher. Folgen wir der Funktionsleiste weiter nach rechts, können wir mit Anhang („Attachment“) alle möglichen Dateitypen an die Seite
12 Arbeiten mit TWiki
anhängen. Anhang ist tatsächlich ein sehr wertvolles Instrument, mit dem man gleich mehrere Funktionen ausführen kann. So ist es möglich, Dateien jeglichen Formats zum Speichern und Aufrufen an bestimmte TWiki-Seiten anzuhängen. Zusammen mit einer vollständigen Versionenkontrolle erleichtert dies die Zusammenarbeit an einem Dokument, da eventuell benötigte Daten, die eigentlich außerhalb des Wikis stehen, leicht für alle verfügbar werden. Damit sind auch die besten Voraussetzungen zum Filesharing gegeben: Gut dokumentiert und kategorisiert können Sie Multimedia-Dateien, Treiber, Patches etc. zur Verfügung stellen. Zudem genügt es, wenn Sie eine Datei einmal hochladen: Sie können diese auf der Seite, im Web oder im gesamten TWiki verwenden. Um eine Datei hochzuladen, klicken Sie auf den Anhang-Link. Dann gelangen Sie zu einer Dialogseite, wo Sie genauere Einstellungen vornehmen können, bevor Sie die Datei anhängen. So kann man hier z. B. einen Kommentar eingeben oder bestimmen, dass die Datei nur „versteckt“ angehängt wird, was bedeutet, dass diese später auf der Seite nicht als Anhang angezeigt wird. Sie kann trotzdem in eine Seite eingebunden werden. Der Vorteil ist jedoch, dass sie am Ende der Seite nicht in einer Attachment-Tabelle auftaucht. Wenn Sie die Option Verweis auf die angehängte Datei erzeugen aktivieren, hat dies zur Folge, dass ein angehängtes Bild im editierbaren Text der Seite angezeigt wird. Handelt es sich nicht um eine Bilddatei, wird lediglich ein Link zu der Datei hergestellt. Grundsätzlich kann jeder Dateityp hochgeladen werden. Wenn es sich jedoch um Programmdateien handelt, die ein Risiko darstellen könnten, macht das TWiki diese unschädlich, indem es z. B. bei einer .php-Datei ein zusätzliches .txt an den Namen anhängt.
Datei anhängen
Achtung: Sie können die Größe des Anhangs in der Variable %ATTACHFILESIZELIMIT% auf der Seite TWikiPreferences im TWiki-Web beschränken. Standardmäßig ist der Wert auf 10000 KB gesetzt. Größere Dateien sind auch nicht empfehlenswert, da dies die Ladezeit beträchtlich verlangsamen kann oder ein Timeout produziert. Nutzen Sie für solche Fälle eine FTP-Site. Wenn Sie zur Seitenansicht zurückkehren, werden Sie am unteren Ende folgende Tabelle entdecken, es sei denn die Datei wurde versteckt hochgeladen:
12.2 Eine Webseite
211
Abb. 12.3
Hier hat nun jeder, der die Berechtigung hat, die Seite zu ändern, die Möglichkeit, die Datei herunterzuladen. Darüber hinaus gelangt man über den verwalten-Link zu einer Seite, in der Sie alle wichtigen Einstellungen zu dem Anhang vornehmen bzw. ändern können, einschließlich dem Verschieben und Löschen einer Datei: Abb. 12.4
Die erste Tabelle listet die unterschiedlichen Versionen der Datei auf. Bei jedem neuen Hochladen erhöht sich die Versionsnummer
212
12 Arbeiten mit TWiki
um eins. Um eine bestimmte Version zu begutachten, müssen Sie nur auf das jeweilige Ansehen klicken. Die zweite Tabelle zeigt alle angehängten Dateien einschließlich ihrer Attribute. Ein h bedeutet zum Beispiel, dass sie versteckt ist. Wenn Sie lediglich die nun folgenden Anhangeigenschaften, z. B. hidden ändern, genügt es, diese Umstellung mit Nur Kommentare und Eigenschaften ändern zu bestätigen. Eine Kleinigkeit gilt es allerdings dabei zu beachten: Haben Sie einen Kommentar eingefügt oder verändert, wird dadurch der neue Kommentar nur in der Seitenansicht sichtbar, in der Versionentabelle steht der Kommentar noch so, wie er beim Hochladen eingegeben wurde. Tipp: Im Gegensatz zu TWiki-Seiten sind angehängte Dateien nicht gesperrt, wenn Sie daran arbeiten. Um zu verhindern, dass es zu Speicherkonflikten kommt, sollten Sie daher im Kommentar kundtun, dass Sie gerade an der Datei arbeiten. Zum Verschieben einer Datei aktivieren Sie den Verschieben-Link rechts außen. In dem nun geöffneten Dialog können Sie Ihren Anhang entweder auf eine andere Seite (eventuell sogar in ein anderes Web) verschieben oder es ganz entsorgen, indem Sie das Web Trash und die Seite TrashAttachments wählen. Das geht aber mit dem rechts daneben liegenden Link Löschen schneller.
Datei verschieben / löschen
Hinweis: Sie können nur Dateien an Seiten anhängen, wenn Sie auch die Bearbeitungsrechte an dieser Seite haben. Beim Verschieben gilt diese Einschränkung nicht! Wenn eine Datei hochgeladen wurde, kann auf verschiedene Arten auf sie verlinkt werden. So hatten Sie z. B. die Möglichkeit, auf der Attachment-Dialogseite durch das Aktivieren der Option Verweis auf die angehängte Datei erzeugen automatisch einen Link oder eine Grafik in den Quelltext setzen zu lassen. Dies funktioniert auch manuell durch den Einsatz einer Variablen (s. u.) mit
Auf eine angehängte Datei verlinken
%ATTACHURL%/Feuer.txt In der Seitenansicht wird dann folgernder Verweis sichtbar, mit dem man dann auf die Datei zugreifen kann: http://www.wiki-tools.de /twiki/pub/TWiki/FileAttachment/Feuer.txt. Ebenso funktioniert es mit einer Grafik:
12.2 Eine Webseite
213
%ATTACHURL%/Wandzeichnung.gif Allerdings erscheint hier kein Link, sondern die Grafik selbst. Um einen Anhang einer anderen Seite zu erreichen, müssen Sie auf ein oder zwei weitere Variablen zugreifen. Falls die Seite im selben Web liegt: %PUBURL%/%WEB%/AndereSeite/Feuer.txt Bei einer Seite in einem anderen Web desselben TWikis: %PUBURL%/AnderesWeb/AndereSeite/Feuer.txt HTML-Datei einbetten
Außerdem besteht die Möglichkeit, angehängte HTML-Dateien mit %INCLUDE{"%ATTACHURL%/Feuer.txt"} direkt in den Quelltext einzubinden. Dazu muss jedoch im Skript configure (unter Security setup – Miscellaneous) das Einbinden von URLs erlaubt sein. Dies ist aber nur in Umgebungen sinnvoll, die vor Denial-of-Service-Attacken geschützt sind. Der Inhalt der Datei, also der HTML-Code, wird dann übergangslos in das Eingabefenster eingebettet und beim Abspeichern verarbeitet. Tipp: Es gibt keine Zugangskontrolle für die einzelnen Anhänge. Wenn Sie eine spezielle Datei schützen wollen, hängen Sie diese an eine separate Seite und belegen die Seite mit einer Zugangskontrolle.
Drucken
Quelltextansicht
214
Auf dem Webserver werden alle Anhänge im Verzeichnis twiki/pub abgelegt. Dazu wird für jedes Web ein eigener Ordner erstellt, der wiederum Ordner für jede Seite enthält, die Dateien angehängt haben. Doch nun weiter in der Funktionsleiste. Zu der Funktion Drucken gibt es nicht allzu viel zu sagen: Bei deren Aktivierung verschwinden alle Menüleisten des TWikis, so dass der Inhalt der Seite nun im Mittelpunkt steht und ohne das überflüssige Drumherum ausgedruckt werden kann. Die Option Quelltextansicht lässt Sie einen Blick auf den Quelltext der Seite werfen, ohne dass Sie in den Editiermodus wechseln müssen. Dies ist insbesondere dann nötig, wenn Sie keine Berechtigung zum Bearbeiten des Topics haben, damit Sie sehen können, wie bestimmte Bereiche erstellt wurden, bzw. diese per Copy & Paste in Ihre Seite übernehmen können.
12 Arbeiten mit TWiki
Querverweise, (engl. „Backlinks“) listet alle Seiten auf, die auf die aktuelle Seite verlinken. So erhalten wir wichtige Informationen über das inhaltliche Beziehungsgefüge unseres Wikis. Die Querverweise sind dann besonders interessant, wenn Seiten umbenannt oder gelöscht werden sollen. Und wir können im TWiki komfortabel zwischen der Anzeige aller Querverweise innerhalb des Webs und den Querverweisen aus allen Webs wählen. Gewöhnungsbedürftig und etwas unübersichtlich ist dagegen die Anzeige der verschiedenen Seiten-Versionen. Historie listet konkrete Veränderungen („Diffs“) der aktuellen Seite auf. Rechts daneben kann man sich dann die einzelnen Überarbeitungen der Seite („Revisions“) als Ganzes anzeigen lassen. Klicken Sie auf die jeweilige Versionsnummer oder zum Vergleich auf das Größer/Gleich dazwischen. Falls die ältere Seite nicht mehr in der Leiste auftaucht, müssen Sie die Mehr Aktionen-Seite zu Hilfe nehmen. Merken Sie sich diese etwas versteckte Seite, denn sie bietet Ihnen sehr viele nützliche Funktionen:
Querverweise
Historie
Mehr Aktionen
Topic Einstellungen editieren: Hier kann man die Seite über TWiki-Variablen konfigurieren (vgl. Kap. 13.7); beispielsweise für eine Zugriffskontrolle auf Seitenebene. Die hier gesetzten Parameter erscheinen nicht im Text des Topics. Topic umbenennen oder verschieben: Das Verschieben bzw. das Umbenennen einer Seite ist sehr schön gelöst. Hier können Sie die Links auf die Seite automatisch aktualisieren lassen. Das Trash-Web sollten sie aber nur auswählen, wenn Sie die Seite löschen wollen. Eine Verschiebung können Sie schnell rückgängig machen, indem sie auf der betreffenden Seite den Link zurück verschieben unterhalb der Funktionsleiste aktivieren. Topic löschen: Hier ist bereits festgelegt, dass die Seite in das Trash-Web verschoben wird. Falls der Seitenname dort schon vorkommt, müssen Sie die Seite zuvor umbenennen. Sie erhalten beim Entfernen die Möglichkeit Verweise, die auf die zu löschende Seite zeigen, zu aktualisieren, was bedeutet dass diese dann auf die Seite im Trash-Web verlinken. Dieses Update können Sie im aktuellen Web oder in allen öffentlichen Webs des TWikis vornehmen lassen. Neues Ober-Topic zuordnen: Unter Ober-Topic versteht man zunächst diejenige Seite, von der aus eine Seite erstellt wurde. Deswegen wird sie auch Eltern-Seite („Parent“) genannt.
12.2 Eine Webseite
215
Da diese in der Anzeige in der Informationsleiste der Seite als Pfad mit angegeben wird, ist es manchmal wünschenswert, sie aus Ordnungsgründen zu ändern. Unter Topics im Main Web: Listet alle Seiten im aktuellen Web (hier Main) auf, die von dieser Seite aus erstellt wurden. Vorherige Topic Revision ansehen: Wenn Sie die Nummer der Version, die Sie interessiert, wissen, können Sie hier gezielt danach suchen und sich diese in der Seitenansicht oder im Quelltext anzeigen lassen. Bei älteren Versionen gibt es allerdings weder Editier- noch Speicher-Option, Sie können die Seite also nicht mehr bearbeiten. Vergleiche Revisionen: Legen Sie besonderen Wert auf die Unterschiede zwischen den Versionen, so können Sie diese hier anzeigen lassen: Geben Sie einfach die Versionen ein, die Sie vergleichen lassen wollen. Querverweise: Auch von hier aus lassen sich in alphabetischer Reihenfolge alle Links auflisten, die auf die aktuelle Seite verweisen. Rollback
Um eine frühere Fassung einer Seite wiederherzustellen, gehen Sie auf die Revisionsnummer, die Sie wieder herstellen wollen. Klicken Sie auf die Quelltextansicht und kopieren Sie diese in den Zwischenspeicher. Jetzt gehen Sie zur aktuellen Version zurück. Ersetzen Sie den Text mit der kopierten, älteren Version und speichern Sie die Seite ab.
12.3 Das Editierfenster Wenn Sie sich als User eingeloggt haben und dann eine Seite verändern wollen, also den Editier-Schalter betätigt haben, erhalten Sie die Inhalte der Seite im Quelltext und können nun nach Belieben Ihre Änderungen bzw. Ergänzungen vornehmen. Alle Menü- und Informationsleisten der Normalansicht sind nun ausgeblendet, Sie erhalten lediglich die Optionen, die für den jetzigen Modus sinnvoll sind. Andere Benutzer können diese Seite jetzt nicht mehr bearbeiten.
216
12 Arbeiten mit TWiki
Abb. 12.5
12.3.1 Speichern So finden Sie unterhalb des Editierfensters eine neue Checkbox Neue Revision erzwingen. TWiki legt keine neue Version an, wenn ein und derselbe Benutzer eine Seite innerhalb eines bestimmten Zeitraums bearbeitet. Das spart Speicherplatz und schafft Übersicht. Über die Checkbox kann man nun TWiki veranlassen, jede Veränderung, wie klein sie auch sein mag, als neue Version zu speichern. Zum Speichern stehen Ihnen komfortable drei Möglichkeiten zur Verfügung:
Neue Revision erzwingen
Speichervarianten
Speichern: Die ganz normale Speicherung. Die Editiersperre wird aufgehoben. Stilles Speichern: Die Option kennen Sie schon vom MediaWiki: Die Änderung wird als unwesentlich gekennzeichnet. Dies bedeutet im TWiki, dass keine Meldung über die Änderung durch den WebNotify-Service (s. Kap. 17.5) erstellt wird. Zwischenspeichern: Dies ist eine Art Zwischenspeicherung. Die Seite wird für alle in diesem Stadium sichtbar. Sie verlassen den Editiermodus jedoch nicht, sondern können gleich danach weiterarbeiten.
12.3 Das Editierfenster
217
FunktionsTasten
Vor dem endgültigen Abspeichern können Sie sich Ihren Text mithilfe von Vorschau nochmals betrachten. Doch vergessen Sie danach das Speichern nicht, da sonst ihre Bearbeitung verloren geht! Möchten Sie in den Editiermodus zurück, müssen Sie – warum auch immer – den Zurück-Button Ihres Browsers benutzen. Wenn Sie aus irgendwelchen Gründen das Editieren abrechen wollen, betätigen Sie den Schalter Abbrechen. Mit Funktionstasten („Access keys“) sind Tastenkombinationen gemeint, die es dem fortgeschrittenen User erlauben, schneller zu agieren. Denn es ist damit nicht mehr notwendig, zuerst zur Maus zu greifen und dann auf einen der Schalter zu drücken. Folgende Buchstaben können Sie mit einer weiteren Taste kombinieren:
Tab. 12.2
Funktion Buchstabe Cancel C Checkpoint K Quiet Save Q Save S Preview P Es hängt von Ihrem Browser bzw. dem Betriebssystem ab, welche Tastenkombination Sie drücken müssen: Netscape Navigator, Mozilla oder Firefox Drücken Sie und Betätigen Sie den erforderlichen Buchstaben Internet Explorer Halten Sie die -Taste gedrückt Betätigen Sie den erforderlichen Buchstaben. Mac Halten Sie die -Taste gedrückt Betätigen Sie den erforderlichen Buchstaben
218
12 Arbeiten mit TWiki
Am oberen Rand des Editierfeldes können Sie sich übrigens eine kurze Übersicht über die Formatierungsbefehle im TWiki einblenden lassen, z. B. wie man einen Text kursiv setzt. Am rechten unteren Rand des Editierfeldes finden Sie im neuen TWiki ein paar Schalter, um die Ansicht des Editierfeldes zu verändern. Mit den Pfeilen wird das Editierfeld größer bzw. kleiner gemacht. Außerdem können Sie mit den Buchstaben-Icons auswählen, ob Sie eine Schrift mit proportionalen oder einer mit gleichen Abständen haben möchten. Letztere ist dann interessant, wenn etwa bei Einrückungen für Aufzählungen die Schriftzeichen genau untereinander liegen sollen. Und was ist mit Formular hinzufügen? Diesem Thema haben wir ganzes Kapitel (15) gewidmet: Strukturierte Daten mit Forms.
12.3 Das Editierfenster
Formatierungshilfe Editierfeld anpassen
219
13 Formatierung im TWiki
Im Prinzip funktioniert die Formatierung im TWiki genauso wie im MediaWiki. Jedes Wiki hat dafür jedoch seine eigenen Konventionen. Daher müssen Sie sich an ein paar neue Formatierungszeichen gewöhnen.
13.1 Zeichenformatierung Formatierungen testen Sie am Besten erst einmal auf einer separaten Seite, die wir nun als Vorbereitung erstellen wollen. Setzen Sie dazu auf der Seite Main.WebHome einen Link auf FormatTest:
Seite erstellen
FormatTest Sie sehen nun, dass hinter dem Link ein Fragezeichen angezeigt wird. Das ist die TWiki-Variante anzuzeigen, dass die Seite noch nicht existiert. Wenn Sie auf das Fragezeichen klicken, wird die Seite erstellt. Dabei wird die Ausgangsseite als Eltern-Seite („parent“) der neuen eingetragen. Dies erkennen Sie daran, dass die Elternseite nach dem Abspeichern oben in der Informationsleiste im Pfad Sie sind hier auftaucht. Die Überschriften im TWiki beginnen immer mit drei Minuszeichen und werden von Pluszeichen und dem Text der Überschrift gefolgt. Eine Überschrift der Ebene eins, also die wichtigste Überschrift, hat ein Pluszeichen, die Überschrift der zweiten Ebene hat zwei Plus etc. Nach der Überschrift muss kein weiteres Formatierungszeichen gesetzt werden.
13.1 Zeichenformatierung
Überschriften
221
---+Überschrift 1 ---++Überschrift 2 ---+++Überschrift 3
Zeichenformatierung Tab. 13.1
Diese Staffelung ist bis zur sechsten Ebene möglich. Die übrigen Gestaltungsmöglichkeiten sehen Sie in folgender Tabelle: Beschreibung Fett Kursiv Fett + Kursiv Unformatierter Text Fett + Unformatiert
Beispiel *Text* _Text_ __Text__ =Text= ==Text==
Ergebnis Text Text Text Text Text
Unformatierter Text wird in einer Schriftart mit fester Breite (meist Courier) und in einer anderen Schriftfarbe ausgegeben. Achtung: Zwischen den Formatierungszeichen und dem Text dürfen keine Leerzeichen stehen, da sonst die Formatierung nicht wirksam wird! Möchte man verhindern, dass der Quellcode interpretiert wird (wie z. B. HTML), setzt man ihn am besten in -Tags. Dies ist nützlich, wenn Sie zum Beispiel eine HTML-Formatierung beschreiben wollen. Diese soll ja für den Nutzer lesbar bleiben und nicht in der Ausgabe interpretiert werden: macht fett macht schräg verlinkt Die Ausgabe der bisherigen Formatierungen sehen Sie im folgenden Screenshot:
222
13 Formatierung im TWiki
Abb. 13.1
Mit einem etwas größeren Aufwand können Sie die Schriftfarbe Ihres Textes ändern. Im TWiki gibt es Variablen (s. u.) für die gängigsten Farben:
Schriftfarbe
%YELLOW%, %RED%, %PINK%, %PURPLE%, %TEAL%, %NAVY%, %BLUE%, %AQUA%, %LIME%, %GREEN%, %OLIVE%, %MAROON%, %BLACK%, %GRAY%, %SILVER% Um einen Abschnitt farbig zu gestalten, schreiben Sie die jeweilige Variable davor und beenden den Farbmodus mit %ENDCOLOR%. %RED% Rote Farbe %ENDCOLOR% und %GREEN% grüne Farbe %ENDCOLOR% Hinweis: Wenn Sie von einer Farbe zur nächsten wechseln wollen, müssen Sie die aktive Farbe trotzdem erst mit %ENDCOLOR% beenden, z. B. %RED% rote Farbe %ENDCOLOR% %GREEN% grüne Farbe %ENDCOLOR%. Nach der Zeichenformatierung kommen wir nun zu den Strukturierungsmöglichkeiten. Einen neuen Absatz beginnen Sie – wie schon im MediaWiki – ganz einfach, indem Sie davor eine Leerzeile einfügen.
13.1 Zeichenformatierung
Absatz
223
Listen
Tab. 13.2
Wenn Sie Ihre Inhalte in der Form von Listen gestalten wollen, gibt es die in der folgenden Tabelle dargestellten Möglichkeiten. Beachten Sie bitte, dass vor den entsprechenden Formatierungszeichen jeweils drei Leerzeichen stehen müssen. Liste Einfache Liste
Beispiel ···*·Feuer
Verschachtelte Liste
···*·Feuer ······*·Glut
Nummerierte Liste
···1.·Feuer ···1.·Wasser ···A.·Feuer ···A.·Wasser ···i.·Feuer ···i.·Wasser
Ergebnis
Definitionsliste ···$·Feuer:·heiss ···$·Wasser:·nass
13.2 Tabellen Es gibt folgende drei Varianten, im TWiki Tabellen zu erstellen: anhand einer eigenen Wiki-Konvention, in normalem HTML und mithilfe der -Tags. Diese drei Vorgehensweisen werden im Folgenden beschrieben.
13.2.1 Wiki-Konvention Hier stellt jede Zeile eine Reihe der Tabelle dar, mögliche Leerzeichen am Anfang der Zeile werden dabei ignoriert. Die Reihe kann aus mehreren Zellen bestehen. Jede Zelle beginnt und endet mit einem Pipe (|). Das war’s eigentlich auch schon. Zusätzlich steht Ihnen aber auch eine Reihe von Formatierungsmöglichkeiten zur Verfügung:
224
13 Formatierung im TWiki
| *Inhalt* |: diese Zelle wird als Kopfzelle der Tabelle interpretiert, und damit – abhängig vom Browser – durch die Formatierung stärker betont als die anderen Zellen. | Inhalt |: (links und rechts zwei Leerzeichen) der Zelleninhalt steht in der Mitte der Zelle. | Inhalt |: (links zwei Leerzeichen) der Zellinhalt wird rechtsbündig ausgerichtet. | Inhalt ||: die Zelle wird horizontal mit der nächsten verbunden. Wenn Sie nur eine leere Zelle wollen, müssen Sie ein Leerzeichen zwischen die beiden Pipes setzen. Sie können auch mehrere Zelle vereinigen, indem Sie einfach entsprechend viele | angeben. |^|: die Zelle verbindet sich vertikal mit der Zelle der darüber liegenden Zeile. Auch das ist über mehrere Zeilen hinweg möglich. Die folgende Beispieltabelle soll die Tabellenkonventionen nochmals verdeutlichen: | | | | | | |
*Kultur* | *primitiv* | *entwickelt* | Mesolithikum ||| Feuer | - | X | Ackerbau |^| - | Neolithikum ||| Feuer | X | X | Ackerbau| - |^|
Das sieht im Ergebnis dann so aus: Abb. 13.2
13.2 Tabellen
225
13.2.2 Tabellen in HTML Sie können aber auch die ganz normale HTML-Notation verwenden um Ihre Tabelle zu erstellen. Hier ein einfaches Beispiel:
Mesolithikum | Neolithikum |
Feuerstein | Metallbearbeitung |
Siedlung | Ackerbau |
Das Ergebnis ist hier zu sehen: Abb. 13.3
Wie Sie sehen, wird hier nicht die automatische Formatierung verwendet, die Sie bei den Tabellen in Wiki-Syntax finden. Das bedeutet, dass Sie das Aussehen der Tabelle unabhängig vom Skin des TWikis festlegen können. Das ist natürlich mit einem gewissen Mehraufwand verbunden.
13.2.3 Tabellen mit dem -Tag Der oben beschriebene -Tag ist nicht nur bei der Formatierung von Programmiercode dienlich, sondern kann auch bei der Erstellung einfacher Tabellen von Nutzen sein. Kultur primitiv ------------Meso Holz
226
13 Formatierung im TWiki
entwickelt ---------Feuer
Der Text zwischen den Tags wird dann 1:1 wiedergegeben. Diese Notation kann beispielsweise nützlich sein, wenn die Tabelle per ASCII in ein anderes Programm exportiert werden soll.
13.3 Links Im Gegensatz zum MediaWiki kann man im TWiki mit dem berühmten Wiki-spezifischen CamelCase arbeiten. Dabei produzieren mit großen Anfangsbuchstaben zusammengeschriebene Wörter wie z. B. SponsorenKontakte einen Link zu einer neuen Seite namens SponsorenKontakte. Dieser ist mit einem Fragezeichen gekennzeichnet, das anzeigt, dass die Seite noch nicht angelegt ist. Der Verweis entsteht natürlich auch, wenn das Topic schon existiert. Wenn Sie zu der Seite eines anderen Webs verlinken wollen, müssen Sie das Web vor dem Seitennamen spezifizieren: AnderesWeb.SponsorenKontakte. Um die automatische Verlinkung eines WikiWords zu verhindern, setzen Sie es zwischen die <noautolink> Tags oder fügen ein Ausrufezeichen oder <nop> ohne Leerzeichen vor das Wort.
CamelCase
Hinweis: <noautolink> funktioniert auch mit ganzen Tabellen. Beachten Sie aber, dass dann eine Leerzeile zwischen dem Tabellenende und dem stehen muss (dies ist ein Bug im TWiki). Natürlich können Sie auch zu Seiten außerhalb des TWikis verlinken. Folgende Internetdienste werden automatisch erkannt und entsprechend verknüpft: http://, https://, ftp://, gopher://, news://, file://, telnet://, mailto:.
Externe Links
Wer den CamelCase nicht mag und eine Notation mit Klammern bevorzugt, kann auch diese verwenden: der Link [[Geschichte der Menschheit]] wird dennoch eine Seite mit CamelCase im Namen erzeugen: GeschichteDerMenschheit. Der Vorteil der Notation mit Klammern liegt darin, dass Sie Linktext und Linkreferenz von einander trennen können, d. h. während Sie bei [[Main.GeschichteDerMenschheit]] diesen umständlichen Ausdruck ohne die Klammern auch mitten im Artikel stehen haben, können Sie mit [[MeinWeb.GeschichteDerMenschheit][Geschichte der Menschheit]] Ihre Verknüpfung als „Geschichte der Menschheit“ besser in den fließenden Text
Alternative mit Klammern
13.3 Links
227
einarbeiten. Bei externen Links müssen Sie Linkreferenz und Linktext noch nicht einmal durch Klammern trennen. Da genügt ein [[mailto://
[email protected] Ulrik]] um auf der Seite dann nur noch „Ulrik“ zu sehen. Hinweis: Um die doppelten eckigen Klammern, die normalerweise einen Link bilden würden, anzeigen zu lassen, müssen Sie diese mit einem Ausrufezeichen vor dem Ausdruck maskieren. Sprungmarken
Bei sehr langen Seiten ist es sinnvoll, Sprungmarken zu verschiedenen Punkten innerhalb der Seite zu setzen, zu denen Sie dann auch seitenintern verlinken können. Sie definieren einen Anker, indem Sie den Ankernamen nach einem Doppelkreuz, also z. B. #ZusammenFassung an den Anfang der Zeile setzen an die der Browser dann gegebenenfalls springen soll. Wie Sie sicherlich schon bemerkt haben, sollte auch der Ankername ein WikiWord sein. Um nun einen Link zu einer bestimmten Sprungmarke einer Seite zu setzen, fügt man den Ankernamen samt Doppelkreuz an den Seitennamen an: [[GeschichteDerMenschheit#ZusammenFassung]] Falls Sie auf eine Sprungmarke der aktuellen Seite verlinken, können Sie auf den Seitennamen verzichten.
13.4 Einbinden von Bildern Wie Sie Bilder in den Text Ihres Artikels setzen, haben Sie in Kap. 12.2.3 indirekt schon erfahren. Wiederholen wir es trotzdem noch einmal kurz: Um ein Bild einzubinden müssen Sie es zunächst über die Funktion Anhang an Ihre Seite anhängen. In den Optionen der Dialogseite können Sie nun einstellen, dass ein Link zu dem Attachment in den Text eingefügt wird. Im Falle einer Grafik bedeutet dies, dass sie in der Seitenansicht am Ende des Artikels sichtbar wird. In den Quelltext wurde nämlich die Zeile eingefügt. Um das Bild an einem anderen Punkt im Artikel anzubringen, fügen Sie die Zeile an der entsprechenden Stelle im Quelltext ein. Sie müssen im Übrigen nicht unbedingt die Link-Funktion verwenden um ein Bild einzubinden: Die oben genannte Zeile kön-
228
13 Formatierung im TWiki
nen Sie auch manuell in den Quelltext eingeben. Als Alternative funktioniert auch folgender Ausdruck: %ATTACHURL%/bild.gif Bilder, die anderen Seiten oder sogar in anderen Webs angehängt sind, erreichen Sie über %PUBURL%/webname/seitenname/bild.gif
13.5 HTML im TWiki Alle HTML-Tags sind im TWiki verwendbar. Allerdings sollten Sie beim kooperativen Arbeiten eher darauf verzichten und die TWikiFormatierungen benutzen, um den Quelltext übersichtlicher und damit leichter bearbeitbar zu machen. Zudem ist die Einheitlichkeit der Formatierung nicht mehr gewährleistet, wenn Sie HTML einsetzen. Beachten Sie auch, dass der Text, der von Tags umschlossen ist, immer noch durch das TWiki interpretiert und seinerseits in HTML umgesetzt wird. Dabei kann es zu unerwünschten Wechselwirkungen kommen. Falls Sie doch HTML verwenden, müssen Sie sich an ein paar Regeln halten: Halten Sie sich weitestgehend an den Standard von HTML 4.0 und XHTML 1.0, da Sie sonst die Kompatibilität zu den verschiedenen Browsern verlieren. Spannen Sie einen HTML-Tag nicht über mehrere Zeilen. Die spitzen Klammern, die den Tag umschließen, müssen in derselben Zeile stehen. Entfernen Sie alle leeren Zeilen, da das TWiki sonst Absätze produziert, die an manchen Stellen Probleme bereiten könnten, z. B. innerhalb einer Tabelle.
13.6 TWiki und JavaScript Ebenso problemlos können Sie JavaScript mit Ihrer TWikiApplikation verwenden. Um der TWiki-Formatierung zu entgehen
13.5 HTML im TWiki
229
sollten Sie den JavaScript-Code mit HTML-Kommentar und <pre>-Tags maskieren. Das sieht dann so aus: <script type="text/javascript"> ) nutzen, die Sie in den Zeilen über und unter dem Parameter anbringen. In der Quelltextansicht des Browsers sind sie jedoch immer noch zu finden. Etwas eleganter ist es, die Variablen auszulagern: in Topic Einstellungen editieren unter Mehr Aktionen in der Funktionsleiste! Es ist auch möglich, dass der User eigene Platzhalter kreiert und belegt, indem man diese an entsprechender Stelle mit
Erstellung eigener Variablen
···*·Set EIGENEVARIABLE = Test setzt. Je nachdem, in welchem Bereich die Variable erreichbar sein soll, legen Sie den Wert in TWikiPreferences (fürs gesamte Wiki), WebPreferences (für das jeweilige Web), der Userseite (für den entsprechenden User) oder direkt im Topic (nur für das Topic) fest. Wenn Sie nun im Quelltext die Variable %EIGENEVARIABLE% nutzen, wird sie in der Seitenansicht durch das Wort „Test“ ersetzt. Hinweis: Um eine Variable zu maskieren, nutzen Sie am besten die bereits bekannte Vorgehensweise, ein Ausrufezeichen vor die Variable zu setzen!
13.8 Der WYSIWYG-Editor: Kupu Bei der Installation des Twikis wird seit der Version 4.0 der KupuEditor standardmäßig miteingerichtet.
13.8 Der WYSIWYG-Editor: Kupu
233
Mit diesem Editor ist es möglich, den Text wie mit einem einfachen Textverarbeitungsprogramm grafisch ein wenig aufzubereiten. Beachten Sie jedoch, dass ein Editor immer nur ein Aufsatz ist, mit dem das Arbeiten mit TWiki einfacher werden soll. Mit ihm sind nicht alle Funktionalitäten umsetzbar. Grundkenntnisse der TWikiSyntax sind weiterhin notwendig und der Kupu-Editor kann nur das umsetzen, was Ihre verwendete TWiki-Version ermöglicht. Beispielsweise verfügt der Editor, wie das ganze TWiki, nur über eine einzige Schriftart. Der Editor kennt u. a. Zeichen- und Absatzformate. Zeichenformate werden auf die markierten Zeichen angewandt; entsprechend Absatzformate auf den Absatz, in dem sich die Einfügemarke befindet. Über die Kopfzeile können Sie per Mausklick Formatierungen vornehmen. In der Kopfleiste stehen Ihnen folgende Funktionalitäten zur Verfügung: Tab. 13.3
Icon
Funktion Speichern. Abbrechen. Letzten Befehl zurücknehmen. Zurücknahme zurücknehmen. Überschriften auf bis zu sechs Gliederungsebenen zuweisen oder Zitat mit Formatted hervorheben. Markierten Text fett setzen. Markierten Text kursiv setzen. Der Text wird eingefärbt. Nummerierte Liste. Nichtnummerierte Liste. Der Text wird ausgerückt. Der Text wird eingerückt. Über diesen Knopf können Sie eine Tabelle einfügen. Geben Sie im Dialog die Anzahl der Spalten und Reihen ein.
234
13 Formatierung im TWiki
Icon
Funktion Wählen Sie aus einer Liste ein Topic aus, auf das verlinkt werden soll. Einen externen Link einfügen.
Tab. 13.3 (Fortsetzung)
Link entfernen. Erscheint nur, wenn ein Link markiert ist. Erweiterbare Liste mit Icons. Hier können Sie ein Bild oder eine Datei hochladen und einfügen. Fügt eine vorgegebene Zeichenfolge ein. Definiert einen Bereich, der nicht vom Wiki verarbeitet werden soll. Wechsel zwischen Quellcode und Editoransicht. Vergrößert den Bearbeitungsbereich auf die gesamte Seite. Zeigt die Hilfeseite zum WYSIWYG-Editor an. Tipp: Mit dem Button Edit Source können Sie direkt in den Quellcode eingreifen, um damit alle Möglichkeiten der TWiki-Syntax auszuschöpfen. Beispielsweise entstehen bei Copy & Paste oder beim Arbeiten mit Tabellen häufig funktionslose oder störende Daten im Quellcode, die in der Edit-Source-Ansicht gefunden und korrigiert werden können. Objekte – Texte, Bilder oder Symbole – können mit einem Link versehen werden. Markieren Sie das jeweilige Objekt und klicken Sie auf eines der Symbole zum Link einfügen. Beachten Sie, dass es verschiedene Links gibt:
Links setzen
Links, die auf eine Seite außerhalb des TWikis verweisen („External Links“). Schreiben Sie die gewünschte URL im Dialog in das Eingabefeld unter Link the highlighted text to this URL, z. B. http://www.steinzeit.de. Mit Preview wird die Seite im darunter liegenden Vorschaubereich angezeigt. Bestätigen Sie mit Ok. Der Linktext wird nun blau und unterstrichen angezeigt. Beim Setzen eines Links auf ein Ziel innerhalb des TWikis („Internal Links“) wird ähnlich verfahren. Wenn Sie den Link-
13.8 Der WYSIWYG-Editor: Kupu
235
text markiert und den entsprechenden Knopf gedrückt haben, wählen Sie im Dialogfenster zwischen den Topics des aktuellen Webs (Main, Sandbox…). Sie können nun aus einer Liste die in Frage kommende TWiki-Seite auswählen. Nach der Bestätigung mit Ok wird der interne Link in einen blauen Kasten gesetzt. Die Hauptseite würde mit Kupu wie folgt aussehen: Abb. 13.5
Attachments einfügen
Weiter verfügt der Kupu-Editor über eine einfache Verwaltung von Attachments, die sich hinter dem Knopf zum Einfügen von Bildern verbirgt. Die Funktionsweise ist selbsterklärend: Sie können im Eingabefeld Local file einen Dateipfad angeben oder mit Durchsuchen… die gewünschte Datei suchen. Im Feld Comment können Sie noch eine Beschreibung anbringen. Mit Ok wird die Datei an die TWiki-Seite angehängt.1 Bilder werden sofort angezeigt, für Dateien wird ein Link erzeugt. . 1
Zum Löschen von Attachments oder zur „Hide“-Funktion vgl. Kapitel 12.2.
236
13 Formatierung im TWiki
Ebenso einfach ist die Tabellenfunktion. Es lassen sich einfache Tabellen einfügen. Setzen Sie wieder den Cursor an die Stelle, an der die Tabelle eingefügt werden soll. Klicken Sie auf den TabellenButton und wählen Sie im Dialogfeld die gewünschten Eigenschaften aus. Bestätigen Sie mit Add Table. Wenn Sie die Tabelle in der Editoransicht anklicken, erscheinen Haltepunkte, die Sie mit gedrückter Maus ziehen können, um die Größe der Tabelle zu verändern. Mit rechtem Mausklick auf die Tabelle öffnet sich eine Dialogbox, mit der Sie beispielsweise Zeilen hinzufügen oder löschen können.
13.8 Der WYSIWYG-Editor: Kupu
Tabellen einfügen
237
14 Die Suche im TWiki
Ein gut ausgebautes Wiki ist eine große Wissensbasis. Dabei handelt es sich allerdings um Freitextbestände, d. h. die Daten liegen nicht in strukturierter Form vor, sind also nicht in verschiedene Typen unterteilt und einzeln beschriftet. Damit ergibt sich das Problem, dass die gespeicherten Informationen schwer zu finden sind. Eine Möglichkeit ist es, die Artikel von Anfang an konsequent zu klassifizieren und zu verlinken, so dass eine Art Katalog entsteht, in dem man sich durch die Über- und Unterbegriffe klicken kann, bis man am gewünschten Ort ist. Dies bedeutet jedoch einen zusätzlichen Aufwand, der im Eifer des Editiergefechts wohl nicht immer betrieben werden kann. Eine andere Möglichkeit, sich alle Seiten alphabetisch über Index anzeigen zu lassen, haben Sie auch schon kennen gelernt. Um aber die lose (Un-)Ordnung im Wiki in den Griff zu bekommen, ist die Suchfunktion letztlich die beste, wenn nicht oft die einzige Möglichkeit.
14.1 Die Suchfunktion Sie finden die Suche unter dem Stichwort Suche in der Navigationsleiste. Wenn Sie diese aufrufen, sehen Sie das Suchformular, das in Kap 12.2.1 schon besprochen wurde. Wenn Sie nun beispielsweise nach „leftbar“ in allen öffentlichen Webs suchen (die Großschreibung hat hier keinen Einfluss), so erhalten Sie eine Liste mit Ergebnissen. Diese zeigt Ihnen die Treffer nach Webs geordnet. Pro Treffer erfahren Sie den Titel des Topics, das Datum der letzten Änderung und den Namen des Users, der das Web zuletzt bearbeitet hat. Am unteren Ende der Liste finden Sie noch die Anzahl der Treffer.
14.1 Die Suchfunktion
239
Fortgeschrittene Suche
Etwas mehr Möglichkeiten, die Trefferanzeige zu bestimmen und den Suchraum einzugrenzen, bietet die fortgeschrittene Suche, die im Suchfenster unter erweiterte Suche oder im Topic Main.WebSearchAdvanced zu finden ist.
Abb. 14.1
Hier erwartet Sie eine Fülle von zusätzlichen Einstellungen: Ergebnisse sortieren nach: Lassen Sie sich die Ergebnisse nach dem Titel (Topic Name), der Zeit der letzten Änderung oder dem Autor (Letzter Bearbeiter) sortieren. Wenn Sie In umgekehrter Reihenfolge wählen, wird absteigend sortiert. Suche gestalten: Wenn das Suchprogramm die Großschreibung berücksichtigen soll, so setzen Sie einen Haken vor die erste Option. Über Mit regulären Ausdrücken suchen teilen Sie dem System mit, dass die eingegebene Zeichenfolge als spezieller Suchformalismus interpretiert werden soll. Dazu mehr in Kap. 14.3.
240
14 Die Suche im TWiki
Nicht anzeigen: Hier können Sie festlegen, was an Informationen bei der Trefferanzeige ausgegeben wird. Ein Haken vor Suchausdruck unterdrückt die Anzeige des Suchbegriffs vor der Liste, Alle Treffer die der Darstellung der Treffer. Am interessantesten dürfte die Möglichkeit sein, die ersten Zusammenfassungen zu verbergen und sich somit bessere Übersicht zu verschaffen. Anzeigen: Mit BookView werden nicht nur die Titel der gefundenen Artikel, sondern auch deren Inhalt mit ausgegeben. Der Name wurde daher gewählt, weil man diese Funktion benutzen kann, um Sammlungen von Artikeln ausdrucken zu lassen. Ergebnisse beschränken auf: Wenn Sie hier statt all eine Zahl einsetzen, so wird nur die entsprechende Anzahl an Treffern pro Web ausgegeben.
14.2 Effektiv suchen In die Qualität eines Suchergebnisses fließen zwei Faktoren ein. Zum einen ist die Frage, wie viele der relevanten Dokumente gefunden werden und wie viele im Dunklen bleiben. Diesen Wert nennt man Recall. Der zweite Faktor ist, wie viele Dokumente gefunden werden, die eigentlich nicht gewünscht sind und als „Datenmüll“ liegen bleiben. Diesen Wert bezeichnet man als Precision2. Die Auswahl der Suchbegriffe kann die Qualität der Suche entscheidend beeinflussen. Am besten sind Begriffe, die möglichst klar das gesuchte Thema beschreiben, aber dennoch relativ häufig vorkommen. Taucht ein Begriff zu selten auf, finden Sie nur einen kleinen Teil der möglichen Treffer. Kommt das Suchwort zu oft vor, so werden zu viele Dokumente gefunden und die Ergebnisse sind nicht verwertbar. Um letzteres zu vermeiden, gibt es eine so genannte Stoppwortliste (SEARCHSTOPWORDS), die in TWikiPreferences zu finden ist. Alle Wörter, die hier eingetragen sind, werden bei einer Suche einfach ignoriert. Die Suchmethode, die normalerweise eingesetzt wird, beruht auf einfachen Vergleichen. Es werden also alle Seiten ausgegeben, die den Suchbegriff ohne Beachtung der Großschreibung irgendwie enthalten. Dies gilt auch für Wortfragmente. Wenn Sie mehrere Wörter angeben, so müssen alle Begriffe im Dokument vorkommen. 2
Suchmethode
Vgl. Ferber, 2003, Kap. 1.3.7
14.2 Effektiv suchen
241
Die Reihenfolge spielt dabei keine Rolle. Die möglichen Operatoren wurden bereits in Kap. 12.2.1 besprochen. Die Angabe verschiedener Suchbegriffe als Alternativen ist in diesem Modus der Suche nicht vorgesehen (s. aber weiter unten). Beachten Sie auch, dass das Suchprogramm keinerlei Ersetzungen durchführt. Die Suche nach „leftbar“ ergibt mehrere Treffer, die nach der Mehrzahl, also „leftbars“ liefert nichts zurück. Dies ist insbesondere bei Umlauten zu beachten. Suchen Sie nach „fuer“, so wird „für“ nicht gefunden, und umgekehrt.
14.3 Suchen mit regulären Ausdrücken
Boolesche Operatoren Tab. 14.1
Wenn die oben beschriebenen Mittel zur schnellen Suche nicht ausreichen, so haben Sie mit regulären Ausdrücken (RegEx: Regular Expressions) ein mächtiges Werkzeug an der Hand, um zielgenau Informationen aus dem Artikelbestand zu extrahieren. Reguläre Ausdrücke kommen eigentlich aus der Programmierung und bezeichnen Suchmuster, die mit einer Zeichenfolge verglichen werden. RegEx sind ein komplexes Thema, über das man Bücher schreiben kann. Wir wollen dennoch versuchen, Ihnen einen kleinen Einblick zu geben. Auch in RegEx haben Sie die Möglichkeit, Boolesche Verknüpfungen zu verwenden: Ausdruck Term1;Term2
Term1|Term2 !Term1 (Ausdruck)
Auswirkung UND-Verknüpfung. Beide Terme müssen vorhanden sein. Dieser Operator ist TWikispezifisch. ODER-Verknüpfung. Es reicht, wenn mindestens einer der Terme gefunden wird. NICHT-Verknüpfung. Der angegeben Term darf im Dokument nicht auftauchen. Zusammenfassung mehrerer Ausrücke, um die Bearbeitungspriorität festzulegen.
Hier sind noch einige Anmerkungen zu machen. Beachten Sie erstens, dass keine Leerzeichen gesetzt wurden. Diese werden nämlich in RegEx nicht einfach ignoriert, sondern mit verarbeitet. Das bedeutet, wenn ein Leerzeichen vor einem Term steht, dann wird auch nach der Zeichenfolge „ Term“ gesucht. Wie zweitens aus der obigen Tabelle zu entnehmen ist, können Ausdrücke mit Klammern zu
242
14 Die Suche im TWiki
Einheiten zusammengefasst werden. Diese werden bei der Bearbeitung zuerst verarbeitet. Die Reihenfolge bei den Ausdrücken ist KLAMMER vor NICHT vor UND vor ODER. Drittens ist es durch die Klammerung möglich, beliebig tiefe Verschachtelungen von Ausdrücken vorzunehmen. Dadurch können sehr komplexe Anfragen realisiert werden. Einige Beispiele sollen das verdeutlichen. So findet der Ausdruck
Beispiele
funke|funken nicht nur das Suchwort in der Einzahl, sondern auch im Plural. Dies kann so kombiniert werden, dass auch die Zündfunken gefunden werden: zünd(funke|funken) z(ü|ue)nd(funke|funken) Das zweite Beispiel verarbeitet sogar noch die Orthographie. Beachten Sie, dass der ganze Ausdruck als Einheit verstanden wird. Daher werden Seiten, die „zünd“ oder „funke“ enthalten, nicht gefunden. Die Suche nach Funken, die Feuer erzeugen und mit denen nicht die Metaphorik der Innovation als solche bezeichnet wird, könnte so aussehen: (z(ü|ue)nd)funke(n);!idee Die große Stärke von regulären Ausdrücken liegt darin, dass man nicht nur nach Wörtern, sondern auch nach Buchstabenmustern suchen kann. Auf diese Art kann man beispielsweise E-Mail-Adressen oder Telefonnummern im TWiki ausfindig machen. Grundeinheit solcher Muster sind Angaben über zulässige Buchstaben: Ausdruck [acf] [a-g] [^a] . [\-]
Bezeichnet Einen der angegebenen Buchstaben. Einen Buchstaben, der zwischen (einschließlich) a und g liegt. Alle Buchstaben außer dem angegebenen. Irgendein Zeichen. Das Minus-Zeichen. Der Backslash wirkt als Maskierungszeichen und sagt aus, dass das nächste Zeichen keine Funktion (wie eigentlich in diesem Fall als Bereichszeichen) haben soll.
14.3 Suchen mit regulären Ausdrücken
Buchstabenmuster
Tab. 14.2
243
Statt der Buchstaben können Sie auch Ziffern oder andere Zeichen verwenden. Wenn diese in RegEx eine besondere Funktion haben, so müssen sie mit einem vorangestellten Backslash „entschärft“ werden. Nun können Sie beispielsweise Links auf Filme und Audiodateien im TWiki suchen: \.mp[g3] Anzahl bestimmen
Tab. 14.3
Interessant wird das Ganze, wenn man zusätzlich noch angeben kann, wie oft ein bestimmter Zeichenbereich hintereinander vorkommen kann: Zeichen * + ? {n} {n,} {n,m}
Vorkommen Gar nicht, einmal oder öfters Mindestens einmal Höchstens einmal Genau n mal Mindestens n mal Zwischen n und m mal
Die angegebenen Zeichen werden hinter den Ausdruck gestellt, dessen Größe festgelegt werden soll. Nun können wir die Suche nach ein- und mehrzahligen Wörtern folgendermaßen darstellen: Page(s)? Information(en)? URL suchen
Eine normale URL finden Sie mit dem folgenden Muster: http://[a-zA-Z0-9._%-]+\.[a-zA-Z]{2,4}
E-Mail-Adressen suchen
Es wird nach einer Zeichenfolge gesucht, die mit http:// beginnt, gefolgt von einer beliebigen Folge alphanumerischer Zeichen und Ziffern und mit einem Punkt sowie einer zwei- bis vierstelligen Buchstabenfolge endet. Der nächste reguläre Ausdruck sucht nach E-Mail-Adressen und funktioniert ganz ähnlich: [a-zA-Z0-9._%-]+@[a-zA-Z0-9._%-]+\. [a-zA-Z]{2,4}
↵
Beachten Sie, dass die Suche über RegEx immer den gesamten Artikel liefert, der das Suchmuster enthält.
244
14 Die Suche im TWiki
14.4 Eingebettete Suche Eine ausgeklügelte Suche wie die nach E-Mail-Adressen wird möglicherweise nicht nur einmal durchgeführt. Außerdem möchte man das Ergebnis vielleicht auf einer gesonderten Seite zur Verfügung stellen. Diesen Zweck erfüllt die eingebettete Suche, die eine frei formatierbare Trefferliste an einer beliebigen Stelle im Topic ausgibt. Damit kann man freie und dynamische, weil aus dem jeweiligen Stand des TWikis generierte Zusammenstellungen von Seiten erzeugen. Die eingebettete Suche wird über die Variable %SEARCH% aufgerufen, die eine Reihe von Parametern akzeptiert: Parameter "text" web="..."
topic="..."
excludetopic ="..." type="..."
Funktion Suchstring in Anführungszeichen Name des Webs, das durchsucht werden soll. Mehrere Webs werden durch Kommas getrennt. Wenn Sie alle Webs einbeziehen wollen, setzen Sie all ein. Nur die bezeichneten Topics werden durchsucht. Auch hier können Sie mehrere Angaben – durch Kommas getrennt – machen. Außerdem dürfen Sie den Stern als Platzhalter für eine beliebige Anzahl von Zeichen verwenden. Gegenstück zu topic. Die angegebenen Seiten werden nicht durchsucht. keyword. Normale Suche.
Parameter
Tab. 14.4
regex. Suche mit regulären Ausdrücken. scope="..."
Durchsucht beri topic nur die Titel. text nur die Inhalte. all Text wie Titel.
order="..."
Sortierung bei topic nach dem Titel. created nach dem Erstellungsdatum. modified nach dem Datum der letzten Bearbeitung.
14.4 Eingebettete Suche
245
Tab. 14.4 (Fortsetzung)
Parameter
Funktion editby nach dem letzten Autor.
limit="..." reverse="on"
Begrenzt die Anzahl der angezeigten Treffer. Die Ergebnisse werden in der umgekehrten Reihenfolge ausgegeben. Großschreibung wird beachtet.
casesensitive ="on" nosummary ="on" bookview="on" nosearch="on" noheader="on" nototal="on"
Nur der Titel eines Treffers wird ausgegeben. Der gesamte Text der Topics wird mit angezeigt. Der Suchstring wird nicht noch mal mit ausgegeben. Der Suchtitel wird nicht ausgegeben. Die Anzahl der Treffer wird nicht ausgegeben.
Nehmen wir also an, die Götter wollen den Überblick über alle Einstellungen im Wiki behalten und dazu alle Preferences-Seiten schnell zugänglich haben. Da immer wieder neue Projekte mit neuen Webs hinzukommen, ist eine statische Seite wenig sinnvoll. Abb. 14.2
Man erstellt sich daher eine Seite EinstellungsÜberblick und legt dort eine Überschrift und folgende Suche an:
246
14 Die Suche im TWiki
---++ Alle Einstellungen %SEARCH{"Preferences" scope="topic" web="all" nosummary="on" nosearch="on" nototal="on"}%
↵ ↵
Es werden also Seiten in allen Webs gesucht, die Preferences im Titel haben. Sonderangaben werden bis auf die Einteilung in Webs weggelassen. Wen das stört, der kann auch diese Ausgabe mit noheader="on" unterdrücken. Die Integration der Suche in eine Seite kann aber noch viel weiter gehen. Mit der formatierten Suche können Sie festlegen, welche Angaben einer Seite angezeigt werden. Dies geht so weit, dass man aus den gefundenen Seiten nur bestimmte Passagen ausgeben lassen kann. Dazu dient der Parameter format, in dem die gewünschte Ausgabe festgelegt werden kann. Wenn Sie sich beispielsweise die obige Liste der Einstellungsseiten als Aufzählung ausgeben wollen, so brauchen Sie nur diesen Parameter mit einfügen:
Ergebnis formatieren
format="···*·$web: $web.$topic " Es werden das Web und der Link auf das Topic angezeigt. Beachten Sie, dass nun automatisch der Header weggelassen wird. Dieser kann gesondert eingestellt werden (s. u.). Wie Sie sehen, wurden das Web und der Topictitel durch Variablen ersetzt, die jeweils passend vom System ergänzt werden. Es gibt eine ganze Liste dieser Variablen, einige sind in Tab. 14.5 abgedruckt. Variable $web $topic
$parent $text $rev $date $wikiname
Funktion Name des Webs, in dem das gefundene Topic liegt. Name des gefundenen Topics. Mit dem Formalismus $topic(n, ...) werden die ersten n Zeichen des Topictitels und dann drei Punkte ausgegeben. Statt der drei Punkte können Sie auch eine beliebige Zeichenfolge, z. B.
, angeben. Diese werden jeweils nach n Zeichen in den Topicnamen eingefügt. Name des Eltern-Topics. Formatierung wie bei $topic. Der formatierte Text des Topics. Nummer der letzten Version des Topics. Datum der letzten Bearbeitung. Name des letzten Autors.
14.4 Eingebettete Suche
Tab. 14.5
247
Tab. 14.5 (Fortsetzung)
Variable $creatdate, $createwiki name $summary $pattern(re g-ex) $percnt, $dollar, $n
Funktion Datum und Autor der ersten Version des Topics. Die ersten 162 Zeichen des Topics als Zusammenfassung. An dieser Stelle kann ein regulärer Ausdruck eingesetzt werden, um einen bestimmten Text aus der gefundenen Seite zu extrahieren. Das Prozentzeichen, Dollarzeichen bzw. neue Zeile.
Der folgende Suchstring gibt alle Skin-Dateien, deren Web und deren Elternelement in eine Tabelle aus: | *Name* | *Parent* | %SEARCH{ "Skin" scope="topic" web="all" nosummary="on" nosearch="on" nototal="on" header = "| *$web* ||" format="| $topic | $parent |"}%
Einzelergebnisse anzeigen
Zunächst wird die Kopfzeile der Tabelle in zwei Spalten manuell eingetragen. Das Suchergebnis wird ebenfalls in zwei Spalten eingetragen. Pro Web wird eine Zwischenzeile ausgegeben, die sich über beide Spalten erstreckt. Diese ist im Parameter header angegeben. Mit der formatierten Suche lassen sich sehr schön Daten aus den Artikeln extrahieren. Dies geht mit regulären Ausdrücken, die über die Variable $pattern verarbeitet werden. Genau genommen enthält diese den Text, der auf einen bestimmten Ausdruck passt. Um beispielsweise die E-Mail-Adressen im TWiki zu finden und nur diese ausgeben zu lassen, reicht es, das oben angegebene Muster für Mail-Adressen einzusetzen. Da wir alle Seiten suchen, in denen diese Adressen vorkommen und gleichzeitig aus diesen die Adressen extrahieren wollen, muss der reguläre Ausdruck in der Suche und als Pattern vorkommen. Also nicht erschrecken, das sieht wüster aus, als es ist. Der Einfachheit halber haben wir die möglichen Adressen auf Kleinbuchstaben ohne Sonderzeichen beschränkt. %SEARCH{ "[a-z.]+@[a-z]+\.[a-z]{2,4}" scope="text" nosearch="on" nototal="on" web="all"
248
↵ ↵ ↵
14 Die Suche im TWiki
↵ ↵ ↵
regex="on" separator=", " multiple="on" ↵ format=" ↵ $pattern(.*?([a-z.]+@[a-z]+\.[a-z]{2,4}).*) ↵ " ↵ }% Wie Sie sehen, sind drei Parameter dazugekommen. regex aktiviert die Suche mit regulären Ausdrücken und separator gibt an, mit welchem Zeichen die einzelnen Ergebnisse getrennt werden. multiple sorgt dafür, dass eine Seite mehrfach verarbeitet wird, wenn es mehr als einen Treffer des Suchmusters gibt. Ansonsten könnten Sie pro Seite nur eine E-Mail-Adresse finden. Die zusätzlichen Zeichen, die am Anfang und Ende des Ausdrucks in $pattern eingefügt worden sind, werden für die interne Verarbeitung benötigt. Der Ausdruck .*? bewirkt, dass das erste und nicht das letzte gefundene Ergebnis verwendet werden soll. Übernommen wird, was in der inneren Klammer steht. Oft kommt es vor, dass man Text ausgeben will, der zwischen zwei bekannten Zeichenfolgen steht. Dafür gibt es einen feststehenden regulären Ausdruck:
Suchmuster
$pattern(.*?(von hier.*?bis hier).*) Start- und Endpunkt sind dabei inklusive. Soll das Zeilenende der Endpunkt sein, so setzen Sie den Ausdruck [^\n\r]+ ein. Eine häufige Anwendung dieser Art von Suche ist die Ausgabe von Daten, die in Listen gespeichert sind, wie z. B. auf den User-Seiten. Der dafür verwendete Ausdruck hat folgende Form: $pattern(.*?\*.*?Beschriftung\s*([^\n\r]+).* Wie Sie sehen, hat sich die Position der inneren Klammer verändert. Damit wird nur noch das ausgegeben, was nach der Beschriftung kommt. Der Ausdruck \s* ersetzt beliebig viele Leerzeichen. Es gibt auch die Möglichkeit, in den Suchergebnissen eine weitere Suche durchführen zu lassen. Im Prinzip wird die innere Suche als Teil des Parameters format angegeben. Sie muss allerdings etwas umformatiert werden, damit die Befehle nicht zu früh ausgeführt werden:
14.4 Eingebettete Suche
Verschachtelte Suche
249
Ersetzen Sie das führende % durch $percnt. Maskieren Sie die Anführungszeichen: \". Ersetzen Sie alle $ durch $dollar. Entschärfen Sie die Schlusssequenz: }$nop%. Wir haben jetzt an verschiedenen Stellen das Wort „Feuer“ versteckt. Eine Suche aller Seiten, die auf Seiten zeigen, die das Wort „Feuer“ enthalten, würde dann so aussehen: %SEARCH{ "feuer" nosearch="on" nototal="on" format="···*·$topic:$n······*· $percntSEARCH{ \"$topic\" format=\"$dollartopic\" nosearch=\"on\" nototal=\"on\" separator=\", \" }$nop%" }%
↵ ↵ ↵ ↵ ↵ ↵ ↵
Abb. 14.3
Man sieht nun die Seiten, die Feuer enthalten, und davon abgesetzt jene Seiten, die auf die Trefferseiten verweisen. Man kann Suchanfragen bis zu sechzehnmal ineinander verschachteln. Aber trösten Sie sich, dafür gibt es weder ein Beispiel, noch eine Anwendungsmöglichkeit.
250
14 Die Suche im TWiki
15 Strukturierte Daten mit Forms
Üblicherweise handelt es sich bei den Artikeln, die im Wiki verfasst werden, um so genannten Freitext. Dieser ist zu unterscheiden von Informationen, wie sie in Datenbanken zu finden sind. Solche strukturierten Daten zeichnen sich dadurch aus, dass für die einzelnen Informationseinheiten mit angegeben wird, um welche Art von Einträgen es sich handelt. Ein Beispiel: Nehmen wir eine Adresse. Im Wiki sieht diese folgendermaßen aus: Versteinerter Weg 23 0816 Höhlenberg Stellen Sie sich nun vor, wir haben eine ganze Reihe solcher Einträge. Dann liegt nahe, dass man nach bestimmten Daten auch suchen will. Dazu haben wir uns im vorhergehenden Kapitel ja bereits Gedanken gemacht. Die Suche mit den bekannten Mitteln stößt jedoch schnell an ihre Grenzen. Die an sich einfache Anfrage, alle bekannten Orte ausgeben zu lassen, kann nur mit einem aufwändigen regulären Ausdruck gelöst werden. Wesentlich leichter wird die Aufgabe, wenn man die vorhandenen Daten bereits einordnet: Strasse Hausnummer PLZ Ort
-> -> -> ->
Strukturierte Daten
Versteinerter Weg 23 0816 Höhlenburg
Damit ist es möglich, direkt nach allen Datensätzen zu suchen, die die Beschriftung „Ort“ haben. Wozu benötigt man strukturierte Daten in Wikis? Neben der eben skizzierten Variante, ein Wiki zu einer Art Datenbank umzufunktionieren, kann man diese Einträge auch nutzen, um so genannte Metainformationen über eine Seite zu speichern. Das kann beispielsweise
14.4 Eingebettete Suche
Anwendungen
251
der Bearbeitungsstatus sein: work in progress vs. stabile Version. Oder eine Zuordnung der Seite zu vorgegebenen Kategorien.
15.1 TWiki Forms
Form Template
Metadaten im Topic
Im TWiki werden strukturierte Daten über so genannte Forms – Formulare – realisiert. Dabei trennt das System zwischen der Beschreibung der Daten und den eigentlichen Einträgen. Das ist sinnvoll, damit ein einmal festgelegter Datensatz in verschiedenen Topics verwendet werden kann. Im Beispiel der Kategorien müssen also die zur Verfügung stehenden Gruppen nicht jedesmal neu erfunden werden, sondern können zentral gelagert werden. Die separate Beschreibung der Daten führt also zu einer Vereinheitlichung der Datensätze. Um TWiki Forms verwenden zu können, muss also zunächst ein Form Template angelegt werden, in dem festgelegt wird, welche Daten gespeichert werden und welche möglichen Werte diese Daten haben. Gibt es ein oder mehrere dieser Templates, können diese mit einzelnen Topics verbunden werden. Bei der Bearbeitung erscheint dann unterhalb des Edit-Bereichs ein zusätzliches Feld, in dem die entsprechenden Daten eingetragen werden können. Ist man im Ansichtsmodus, werden die Formulardaten am Ende des Topics angezeigt. Die Speicherung der Daten erfolgt technisch im Topic selbst, in speziellen Variablen: %META:FIELD{name="Kategorie" value="Person"}% Wie Sie sehen, bestehen die Daten hier aus einer Klassifizierung (name) und dem eigentlichen Wert (value). Metadaten brauchen Sie aber nicht von Hand eintragen und können es auch nicht. Das Formular übernimmt das für Sie. Die Variablen werden aus dem normalen Ansichts- und Bearbeitungsbereich ausgeblendet, werden aber mit versioniert. Das bedeutet, dass Sie auch eine neue Seitenrevision erhalten, wenn Sie nur die Metadaten verändern.
252
15 Strukturierte Daten mit Forms
15.2 Ein Formular anlegen Der erste Schritt zur Verwendung von strukturierten Daten ist das Anlegen einer Beschreibung derselben. Dazu benötigen Sie ein eigenes Topic im TWiki. Dieses Topic können Sie in dem Web erstellen, in dem es verwendet wird, oder Sie stellen es in einem allgemeinen Web, z. B. TWiki zur Verfügung. In unserem Beispiel soll das Template im Main Web liegen. Erstellen Sie also eine Seite KategorieForm. Die Struktur der Daten wird in einer einfachen TWiki-Tabelle beschrieben. Diese hat sechs Spalten mit festgelegter Benennung (vgl. Tab 15.1). Spalte Name
Type Size Values Tooltip message Attributes
Verwendung Name des Feldes. Unter diesem Namen werden die Daten später angesprochen. Dieser Name muss eindeutig im Formular sein. Art des Eingabefeldes im Formular. Größe des Eingabefeldes im Formular oder Anzahl der vorgegebenen Einträge. Mögliche Werte des Feldes. Dieser Text wird angezeigt, wenn man mit der Maus auf das Feld zeigt. Kennzeichnet ein Feld als „versteckt“ (H) oder „verpflichtend“ (M).
Metadaten beschreiben
Tab. 15.1
Das Type-Feld definiert, auf welche Art die Daten im Formular eingegeben werden können. Hier gibt es verschiedene Möglichkeiten (vgl. Tab 15.2). Typ checkbox
checkbox+buttons
date
Art der Anzeige Ein oder mehrere Kästchen zum Anhaken. Es können mehrere Werte ausgewählt werden. Wie checkbox, nur dass zusätzlich Knöpfe für das Setzen und Entfernen der Haken angezeigt werden. Eingabefeld für ein Datum. Daneben
15.2 Ein Formular anlegen
Tab. 15.2
253
Tab. 15.2 (Fortsetzung)
Typ
radio
label select
text textarea
Art der Anzeige gibt es einen Kalenderknopf, über den das Datum ausgewählt werden kann. Ein oder mehrere „Radioknöpfe“. Nur eine Option kann ausgewählt werden. Reine Beschriftung, nur lesbar. Eine Liste mit Auswahlmöglichkeiten, entweder als Drop-Down-Box oder als scrollbare Liste. Ein einzeiliges Textfeld. Ein mehrzeiliges Textfeld.
Je nach Typ haben auch die Felder Size und Values unterschiedliche Bedeutungen (vgl. Tab.15.3). Tab. 15.3
Typ checkbox
checkbox + buttons date radio label select
text textarea
Ein Formular für Kategorien
254
Size Values Anzahl der Einträge pro Kommagetrennte Liste Zeile der auswählbaren Einträge vgl. checkbox. vgl. checkbox. Breite des Eingabefeldes. vgl. checkbox. Wird ignoriert 1: Drop-Down. 2: Mehrzeilige Liste.
Datums-Vorbelegung.
vgl. checkbox. Text der Beschriftung. Eine kommagetrennte Liste der auswählbaren Einträge Breite des Textfeldes in Text-Vorbelegung. Zeichen. Spalten x Zeilen des Text-Vorbelegung. Textfeldes, z.B. 20x5. Standardeinstellung ist 40x5.
Ein Formular, welches das Zuordnen von Kategorien ermöglicht, kann auf verschiedene Arten dargestellt werden. Ist die Anzahl der Kategorien überschaubar, so bietet sich eine Lösung mit checkbox
15 Strukturierte Daten mit Forms
oder radio (wenn nur ein Element ausgewählt werden kann) an. Geht es um sehr viele Möglichkeiten, dann ist es besser, mit select zu arbeiten. Versuchen wir beides in einem Formular unterzubringen. Mithilfe eines Kästchens soll angegeben werden, ob die Seite schon in einem guten Zustand, also „stable“ ist, oder noch bearbeitet werden soll. Die Kategorien selbst werden über ein Auswahlfeld ausgewählt. Der Code sieht dann folgendermaßen aus: | *Name* | *Type* | *Size* | *Values* | *Tooltip message* | *Attributes* | | Zustand | radio | 2 | beta, stable | Bearbeitungszustand der Seite | | | Kategorie | select | 3 | Steine, Gesellschaft, Jagd | Zuordnung der Seite | |
↵ ↵ ↵ ↵
Der Datensatz besteht aus zwei Feldern. Das erste wird als Kontrollschalter mit den Beschriftungen „beta“ und „stable“ dargestellt, das zweite ist eine Liste mit den vorgegebenen Einträgen, von denen einer ausgewählt werden kann. Bei Kategorien besteht jedoch häufig die Anforderung, einer Seite mehrere zuzuordnen. Das lässt sich relativ leicht realisieren, indem man den Typ zu select+multi ändert. Achtung: Dieses Feature wurde erst ab Version 4.1 eingeführt. Von den Feldern der Formulardefinition sind nur die Spalten Name, Type und Size verpflichtend anzugeben. Die anderen Spalten sind optional. Gerade, wenn es sich wie bei Kategorien um sehr lange Listen handelt, erleichtert es die Übersichtlichkeit und Wartbarkeit, wenn man diese Listen auf separaten Seiten verwaltet. So kann man diese Seiten beispielsweise nur von einer Struktur-Gruppe bearbeiten lassen und das Formular selbst einer Techniker-Gruppe übertragen. Solch eine Aufteilung ist leicht zu erreichen. Erinnern Sie sich noch an die Suche aus dem vorherigen Kapitel? Genau diese wird uns hier helfen. Legen Sie sich zunächst ein Topic Kategorien an. Das soll folgenden Inhalt haben:
Auslagern der Daten
Steine, Gesellschaft, Jagd
15.2 Ein Formular anlegen
255
Nun ersetzen Sie in der Spalte Values des Form-Templates die Werte durch eine Suchanfrage: %SEARCH{ "Kategorien" scope="topic" ↵ nosearch="on" nototal="on" format="$text" }% Damit wird der gesamte Text aus Kategorien an dieser Stelle eingefügt. Eine zweite, einfachere Variante besteht darin, als Beschriftung für ein Feld den Namen eines anderen Topics zu wählen und die Spalte values einfach leer zu lassen. TWiki übernimmt dann automatisch den Inhalt dieses Topics komplett als Wertliste. Der Nachteil ist in diesem Fall aber, dass der Name des Feldes festgelegt ist und nicht, beispielsweise, internationalisiert werden kann.
15.3 Topics mit Formularen
Formular im Web aktivieren
Nachdem nun mit dem Form Template eine einheitliche Datenhaltung festgelegt wurde, ist der nächste Schritt, diesen Datensatz an einzelne Topics anzuhängen. Dazu muss das Formular zunächst in den Webs aktiviert werden, in denen es verwendet werden soll. Ohne die Aktivierung kann es nicht verwendet werden. Gehen Sie also in unserem Fall in die WebPreferences des Main-Webs. Dort finden Sie eine Variable WEBFORMS, die eine Liste mit den aktiven Formularen enthält. Hier tragen wir nun zusätzlich unser eben erstelltes Formular ein: ···*·Set WEBFORMS = UserForm, KategorieForm Diesen Eintrag müssen Sie für jedes Web erstellen, in dem das Formular eingesetzt werden soll. Hinweis: Eine automatische Aktivierung mithilfe der Suche ist an dieser Stelle leider nicht möglich.
Ein Formular zuordnen
256
Jetzt sind wir bereit, mit den strukturierten Daten zu arbeiten. Erstellen Sie dazu ein Test-Topic im Main-Web, z. B. FormTest. Wenn Sie sich im Bearbeitungsmodus befinden, sehen Sie unterhalb des Textfeldes einen Link Formular hinzufügen.
15 Strukturierte Daten mit Forms
Abb. 15.1
Folgen Sie diesem, so gelangen Sie zu einem Auswahlfeld, das die im aktuellen Web verfügbaren Formulare auflistet. Abb. 15.2
Wählen Sie hier über die Radiobuttons KategorieForm aus. Achtung: Wenn Sie auf den Titel des Formulars klicken, wird der Eintrag nicht ausgewählt, sondern Sie gelangen direkt zur Definition, also zur Seite des Form Templates. Bestätigen Sie nun die Auswahl mit Auswählen. Damit kehren Sie in den Bearbeitungsmodus zurück. Unterhalb des Editierfeldes befindet sich nun eine Maske mit zusätzlichen Eingabeelementen, die dem Muster entsprechen, das Sie im Form Template angegeben hatten.
15.3 Topics mit Formularen
257
Abb. 15.3
Formular ändern
Hier können Sie nun die Daten entsprechend Ihren Vorstellungen eingeben. Beim Speichern des Topics werden auch die Metadaten mit gespeichert, so dass auch eine Änderung dieser Daten der Versionierung unterliegt und in der History gespeichert wird. Sie finden im Formular auch einen Knopf Formular auswechseln. Damit können Sie dem Topic ein neues Form Template zuordnen. Hinweis: Pro Topic kann nur ein Formular zugeordnet werden. Bei einem Wechsel des Formulars werden die Daten des alten Formulars nicht in neue Revisionen übernommen. Sie sind ab diesem Zeitpunkt nur noch über die alten Versionen zugänglich. Im Ansichtsmodus der Seite finden Sie nun am Ende des Topics eine Tabelle, die die eingetragenen Daten enthält. Eine Ausnahme davon sind Felder, bei denen als Attribut ein H für „versteckt“ eingetragen wurde.
15.4 Mit strukturierten Daten arbeiten Metadaten im Topic anzeigen
Ein wesentlicher Vorteil strukturierter Daten ist der einfache und gezielte Zugriff. Sie können die Daten beispielsweise innerhalb des Topics über Variablen abrufen. Verwenden Sie dazu FORMFIELD: %FORMFIELD{"Zustand"}%
Nach Metadaten suchen
An Stelle der Variable wird Ihnen im Text der aktuelle Wert des Feldes angezeigt. Damit können Sie die Daten formatiert darstellen und auch die Felder, die versteckt wurden, auslesen. Viel interessanter ist natürlich die Frage, wie man aus der Suche heraus auf die Daten zugreifen kann. Dabei ist zwischen zwei Arten zu unterscheiden. Einerseits geht es um die Frage, wie man die Me-
258
15 Strukturierte Daten mit Forms
tadaten von gefundenen Topics ausgeben kann, andererseits wollen wir nach Topics suchen, die bestimmte Werte in ihren Metadatensätzen haben. Die Darstellung von Formulardaten in Suchergebnissen wird über eine Variable im Format-Attribut der Suche gehandhabt. Dieses heißt bezeichnenderweise $formfield: %SEARCH{"*" web="Main" scope="text" format="$topic:$formfield(Zustand)$n"}%
↵
Diese Suchanfrage listet Ihnen alle Seiten im Main-Web auf und gibt hinter einem Doppelpunkt den Wert des Formularfeldes Zustand aus. Wie Sie jedoch sehen, werden auch die Topics aufgezählt, die gar kein Formular zugeordnet haben. Wir müssen also in einem zweiten Schritt die Suche auf diese Topics eingrenzen. Nachdem die Metadaten intern direkt im Text einer Seite gespeichert werden, ist es möglich, einfach nach Schlüsselbegriffen aus dem Formular zu suchen. Mit %SEARCH{"name=\"Zustand\"" web="Main" scope="text" format="$topic:$formfield(Zustand)$n"}%
Topics nach Metadaten auswählen
↵ ↵
Bei einer Suche nur nach dem Wort „Zustand“ wäre die Gefahr zu groß, dass dieser Begriff auch irgendwo im Fließtext auftaucht. „name=“ ist ein Teil der Metadaten-Variable, wie sie in Kap. 15.1 besprochen wurde. Beachten Sie, dass die Anführungszeichen um „Zustand“ mit einem \ maskiert wurden, weil sie sonst als Ende des Suchbegriffs interpretiert würden. Wenn Sie jetzt zusätzlich nach einem bestimmten Wert des Formularfeldes suchen wollen, können Sie dies mit value= tun: %SEARCH{"Zustand.*value\=.*stable" regex="on" web="Main" scope="text" format="$topic:$formfield(Zustand)$n"}%
↵ ↵
Wie Sie sehen, wurde der Suchbegriff in diesem Beispiel etwas modifiziert. Wir verwenden jetzt einen regulären Ausdruck. Das gibt uns mehr Flexibilität und erlaubt es, den gesuchten Wert auch dann zu finden, wenn mehrere Einträge im Formular ausgewählt wurden. Zwischen den wichtigen Worten verwenden wir den Platzhalter .*, der für beliebige Zeichen steht. Beachten Sie auch, dass bei dieser Methode die Auswertung regulärer Ausdrücke mit regex="on" aktiviert werden muss.
15.4 Mit strukturierten Daten arbeiten
259
Eine zweite, etwas leichtere Variante der Suche in Metadaten lässt sich mit der Variable %METASEARCH{}% darstellen: %METASEARCH{type="field" name="Kategorie" value="Steine" format="$text"}%
↵
Diese hat drei neue Parameter: type legt fest, in welchen Metadaten gesucht werden soll. In unserem Fall ist das immer field. Das Attribut name bestimmt, welches Feld ausgelesen werden soll. Mit value können Sie dann noch den Wert festlegen, nach dem gesucht werden soll. Die Treffer werden normalerweise als leerzeichengetrennte Liste von Topics ausgegeben, mit dem Parameter format haben Sie jedoch wie bei der Suche die Möglichkeit, die Darstellung zu beeinflussen. Hinweis: Der Format-Parameter wird bei der Metasuche erst ab Version 4.1 interpretiert.
260
15 Strukturierte Daten mit Forms
16 Userrechte im TWiki
Bisher konnte jeder auf alle Seiten zugreifen. Dies ist nicht immer wünschenswert, insbesondere bei Projektarbeit, wo dringend ein Raum für interne Besprechungen und Informationsaustausch benötigt wird. Das TWiki zeichnet sich unter den anderen Wikis dadurch aus, dass es eine relativ vernünftige Benutzerverwaltung besitzt, über die der Zugriff auf einzelne Seiten detailliert geregelt werden kann. Diese ist in der Standardinstallation noch nicht aktiviert, kann aber mit wenigen Handgriffen eingeschaltet werden. Achtung: Für die Userverwaltung benötigt TWiki das zusätzliche Perl-Modul Digest::SHA1.
16.1 Authentifikation vs. Autorisierung Grundsätzlich gibt es bei der Arbeit mit Usern zwei Konzepte: Authentifikation und Autorisierung. Das erste bedeutet, festzustellen, wer sich gerade im System befindet. Dazu ist eine namentliche Anmeldung, ein Login, notwendig. Sie sind dann identifiziert und Aktionen, die Sie im Wiki vornehmen, werden mit Ihrem Namen assoziiert. Eine Authentifikation bedeutet aber nicht zwangsläufig, dass das System für die Öffentlichkeit geschlossen ist. Zum einen kann man einen Gastzugang anbieten und bekannt machen, über den sich jeder zum Testen einloggen kann. In der Standardinstallation des TWiki ist das TWikiGuest mit Passwort guest. Andererseits kann man jedem Besucher der Seite eine Registrierung als User im System freistellen. Dafür gibt es in diesem Fall eine öffentlich zugängliche Registrierseite, über die man sich einen Usernamen und ein Passwort zulegen kann.
16.1 Authentifikation vs. Autorisierung
Konzepte der Userverwaltung
261
Zugangskontrolle
Wenn nun ein User im System bekannt ist, kann man ihm bestimmte Dinge erlauben oder verbieten. Das ist mit Autorisierung gemeint. Man sperrt beispielsweise manche Bereiche im Wiki für normale User, so dass sie diese gar nicht sehen können (z. B. Einstellungsseiten). Oder man beschränkt die Bearbeitung öffentlichkeitswirksamer Seiten (z. B. der Titelseite) auf einen bestimmten Nutzerkreis. Wie Sie sehen, tut sich hier ein großer Kreis möglicher Kombinationen der User- und Zugriffskontrolle auf. Wir werden uns zunächst ansehen, wie man Authentifikation und Autorisierung aktiviert und einstellt. Daraufhin sollten wir uns einige Gedanken über Zugriffsmodelle und deren Sinn oder Unsinn im Wiki machen.
16.2 Useranmeldung aktivieren Registrierungsseite
Bevor Sie die Authentifikation aktivieren, ist es ratsam, sich einen eigenen Nutzer anzulegen und als Administrator zu registrieren. Gehen Sie dazu auf die Seite TWiki.TWikiRegistration.
Abb. 16.1
Achtung: Hier sollten Sie ein Formular sehen, das unter anderem ein Feld zur Eingabe des Passworts enthält. Ist dies nicht der Fall, so sind Sie bei der Anmeldung für Intranet-User gelandet. Verschieben Sie in diesem Fall die Seite nach TWikiRegistrationIntranet.
262
16 Userrechte im TWiki
Suchen Sie die Seite TWikiRegistrationPub und verschieben Sie diese nach TWikiRegistration. Gewöhnlich ist es im TWiki Konvention, echte Namen zu verwenden. Wenn Sie das nicht wollen, steht es Ihnen selbstverständlich frei, sich ein Pseudonym zuzulegen. Ob die Registrierung geklappt hat, sehen Sie, wenn Sie sich die Seite Main.TWikiUsers ansehen. Hier müsste nun Ihr neuer Username mit aufgeführt sein. Hinweis: Wenn Sie die E-Mail-Funktion noch nicht eingerichtet haben (s. Kap. 17.5) erhalten Sie möglicherweise eine Fehlermeldung, die besagt, dass das Senden der Bestätigungsmail fehlgeschlagen ist. Diese Meldung beeinträchtigt nicht die Funktion der Registrierung. Machen Sie sich jetzt zum Administrator. Dazu rufen Sie das Topic TWikiAdminGroup auf. Ändern Sie die Zeile, in der die Mitglieder der Gruppe gesetzt werden, indem Sie Ihren Namen einsetzen:
Administrator festlegen
···*·Set GROUP = IhrUserName In einer Gruppe werden mehrere Nutzer zusammengefasst, die dann die gleichen Rechte im TWiki haben. Mehr zu Gruppen finden Sie in Kap. 16.4. Sie können die Vorlage, aus der die User-Seite erstellt wird, auch verändern. Diese ist im Topic TWiki.NewUserTemplate gespeichert und kann wie jede normale Seite bearbeitet werden.
16.3 Passwortschutz einrichten Damit nun die Anmeldung ermöglicht wird, müssen Sie diese im Konfigurationstool aktivieren. Gehen Sie dazu in die Sektion Security setup und öffnen Sie diese. Wichtig ist zunächst die Einstellung der Authentifizierungsmethode. Dazu dient das Feld Login Manager. Hier haben Sie drei Möglichkeiten zur Auswahl: None. Es gibt keinen Login. Jeder Benutzer hat die Möglichkeit, Seiten zu bearbeiten. Eine Ausnahme bilden die Seiten, die explizit gesperrt wurden (s. u.). Die können überhaupt nicht verändert werden.
16.3 Passwortschutz einrichten
263
TWiki::Client::ApacheLogin. Die Benutzer werden über den Webserver authentifiziert. Apache kann einige oder alle Scripts vor unerlaubtem Zugriff schützen. TWiki::Client::TemplateLogin. Die Benutzer werden über eine Login-Seite identifiziert und in eine Session eingeloggt. TWiki übernimmt die Verwaltung. Die Wahl der Authentifizierungsmethode hat praktische Auswirkungen. Übernimmt der Webserver die Anmeldung, so ist es zwar möglich, sich einzuloggen, eine Abmeldung wird jedoch von Apache nicht unterstützt. Die Anmeldung ist also gültig, solange das Browserfenster offen ist. Das ist zum einen ein Sicherheitsrisiko in Internetcafés, zum anderen erschwert es den Wechsel zwischen zwei Benutzern, den man gerade als Administrator häufig benötigt. Des Weiteren kann der Server nur auf der Ebene von Skripts überprüfen. Sperren Sie beispielsweise das edit-Skript, so müssen sich alle Benutzer vor dem Bearbeiten anmelden. Eine Lösung, die Teile des Wikis für den anonymen Gebrauch freigibt, ist hier nicht oder nur sehr schwer zu erreichen. Warum, so werden Sie fragen, sollte man dann überhaupt auf die ApacheLogin-Methode zurückgreifen. Hier gibt es zwei mögliche Gründe: Erstens gilt die Authentifizierung mittels Webserver als sehr zuverlässig, es ist also nicht mit unerwarteten Sicherheitslücken zu rechnen. Zweitens hat man, Kenntnisse der Apache Konfiguration vorausgesetzt, so die Möglichkeit, die Benutzerdaten gegen einen bereits in der EDV-Landschaft vorhandenen Authentifikationsserver zu testen und so eine zentrale Benutzerverwaltung vorzunehmen. Wir verwenden im Weiteren die TemplateLogin-Methode, da sie größtmöglichen Spielraum für die Zugriffskontrolle bietet. Um diesen voll auszunutzen, ist allerdings noch eine Einstellung im Konfigurationsskript nötig: Löschen Sie alle Einträge aus der Zeile „AuthScripts“ in der Sektion „Security setup“. Ansonsten verhält sich TemplateLogin in Bezug auf die Skripts genauso wie ApacheLogin, und das wollen wir ja gerade vermeiden. Wenn Sie jetzt ins TWiki gehen, so sehen Sie links in der Navigationsleiste zwei Links: Einloggen und Registrieren. Letzteren kennen Sie bereits. Über den ersten werden Sie aufgefordert, Benutzernamen und Passwort einzugeben. Tun Sie das und klicken Sie dann auf Einloggen. Jetzt sind Sie im System angemeldet. Das können Sie erkennen, wenn Sie wiederum in die Navigationsleiste sehen. Sie werden dort mit den Worten „Hallo “ begrüßt. Vielleicht haben Sie auch bemerkt, dass der Name also Link hervorgehoben ist. Dahinter verbirgt sich Ihre persönliche Benutzerseite im
264
16 Userrechte im TWiki
TWiki, die unter anderem einen Link zum Ändern des Passworts enthält.
16.4 Zugangskontrolle Der Zugang zu den Daten im TWiki kann sehr fein geregelt werden. Die User werden dabei über ihren Benutzernamen identifiziert, der dem System ja durch die Authentifizierung bekannt ist. Da es sehr mühsam wäre, für jede mögliche Aktion ständig alle erlaubten Nutzer aufzuzählen, kann man mehrere User zu einer Gruppe zusammenfassen. Gemäß der TWiki-Logik sind dies wiederum nur Topics, auf denen die zugehörigen User aufgezählt sind. Eine Liste aller bestehenden Gruppen finden Sie unter TWikiGroups. Hier sollten Sie bei einem neuen System nur die NobodyGroup und die TWikiAdminGroup sehen. Die erste hat keine Mitglieder, und das ergibt durchaus Sinn. Sie können damit nämlich bestimmte Aktionen komplett verbieten (so dass niemand mehr das Recht hat, sie auszuführen), da sie potentiell gefährlich sind. Dazu zählt beispielsweise das Umbenennen von TWikiPreferences oder TWikiAdminGroup. Dies bietet keinen vollständigen Schutz, da, wie wir sehen werden, diese Rechte von allen geändert werden können, die Bearbeitungsrechte an einer Seite haben. Es ist jedoch ein wirksamer Schutz gegen versehentliche Aktionen. Die zweite Gruppe ist die der Administratoren. Diese haben standardmäßig auf allen Seiten Bearbeitungsrechte und dürfen neue Webs einrichten. Auch das kann natürlich geändert werden. Die Mitglieder einer Gruppe werden mit der Variable GROUP festgelegt. In der Standardinstallation sehen Sie, dass die Entwickler des TWikis noch als Admins eingetragen sind. Sie sehen auch, dass mehrere User einfach durch Kommata getrennt hintereinander geschrieben werden. Hier sollte auf alle Fälle auch Ihr Benutzername stehen, falls Sie für das TWiki verantwortlich sind. Eine neue Gruppe fügen Sie am besten hinzu, indem Sie das Formular auf TWikiGroups ausfüllen. Hier müssen Sie nur einen passenden Namen angeben. Achten Sie darauf, dass er mit „Group“ endet. Es wird eine neue Seite erstellt, die bereits alle Elemente besitzt, die eine Gruppe braucht. Insbesondere sind Sie als registrierter Nutzer bereits in der GROUP-Variable eingetragen. Sie sehen hier auch noch eine zweite Variable, ALLOWTOPICCHANGE. Diese bestimmt, wer die Einträge auf der Seite ändern kann. Es würde zugegebenermaßen wenig Sinn haben,
16.4 Zugangskontrolle
NobodyGroup
TWikiAdminGroup
Neue Gruppen erstellen
265
allow vs. deny
Einzelne Seiten schützen
beispielsweise bestimmte Aktionen auf die Admin-Gruppe zu beschränken, gleichzeitig aber jedem die Gelegenheit zu geben, sich selbst zum Admin zu machen. Damit sind wir bei den Zugangsberechtigungen. Es gibt zwei Möglichkeiten, diese zu definieren. Entweder, man gibt explizit an, wer eine Aktion nicht ausführen darf, dann ist sie für alle anderen Nutzer erlaubt. Dies ist eine offene Sicherheitsstrategie, mit der man gezielt Leute ausschließen kann, beispielsweise, weil sie durch Vandalismus aufgefallen sind. Die andere Variante ist, anzugeben, wer bestimmte Aktionen ausführen darf. Damit sind alle anderen ausgeschlossen. Dies ist bei sicherheitskritischen Aktionen sinnvoll, wo man den Kreis der autorisierten Personen gerne namentlich kennen möchte. Die beiden Schlüsselwörter sind „DENY“ für die exklusive bzw. „ALLOW“ für die inklusive Strategie. Die beiden häufigsten Einschränkungen betreffen die Aktionen Bearbeiten und Umbenennen. Die zugehörigen Variablen sind ···*·Set ···*·Set ···*·Set ···*·Set
Zugriffsvariablen verstecken
Lesezugriff einschränken
266
ALLOWTOPICCHANGE = User, Gruppen DENYTOPICCHANGE = User, Gruppen ALLOWTOPICRENAME = User, Gruppen DENYTOPICRENAME = User, Gruppen
Selbstverständlich müssen Sie nur die Angaben machen, die Sie benötigen. Wollen Sie nur inklusiven Zugriff ermöglichen, so brauchen Sie keine Angaben zu DENY machen. Die ersten beiden Variablen beziehen sich auf die Bearbeitung eines Topics und enthalten auch die Möglichkeit, Dateien anzuhängen. Wem es also verboten ist, Änderungen an einer Seite vorzunehmen, der kann zu dieser Seite auch nichts hochladen. Das zweite Variablenpaar betrifft das Umbenennen oder Verschieben einer Seite. Wenn Sie nicht wollen, dass jeder sofort sehen kann, wer Zugriff auf die Seite hat und wer nicht, so setzen Sie die Angaben in HTML-Kommentare, die in der Zeile über den Variableneinstellungen beginnen und in der Zeile darunter enden. Damit können Sie nicht verhindern, dass versierte Nutzer sich den HTMLQuelltext ansehen und die Information trotzdem bekommen. Es ist jedoch auch eine Frage der Ästhetik, solche technischen Angaben nicht jedem aufs Auge zu drücken. Den lesenden Zugriff auf einen Artikel können Sie ebenfalls beschränken, die Variablen heißen ALLOWTOPICVIEW und DENYTOPICVIEW. Die TWiki-Dokumentation beschreibt diese Art der Zugriffskontrolle als „nicht sicher“, die dort aufgeführten Einwände konnten von uns jedoch nicht reproduziert werden.
16 Userrechte im TWiki
DENY und ALLOW können auch kombiniert werden, um einzelne User aus einer Gruppe für eine bestimmte Seite auszuschließen. Nehmen wir an, der Nutzer UlrikUrmensch ist Mitglied der Gruppe SteinZeitGroup. Dieser Nutzer hat sich aber in letzter Zeit im Wiki auf einer bestimmten Seite, die ihm wohl am Herzen liegt, ziemlich daneben benommen und die Gemeinschaft beschließt, dem kurzzeitig einen Riegel vorzuschieben. Dies macht sie, indem sie folgende Rechte setzt:
Kombination der Strategien
···*·Set DENYTOPICCHANGE = UlrikUrmensch ···*·Set ALLOWTOPICCHANGE = SteinZeitGroup Damit ändert sich für die übrigen Mitglieder der Gruppe nichts, und man muss auch nicht grundsätzlich an der Gruppenstruktur herumbasteln, um die Rechte für eine bestimmte Seite festzusetzen. Im Prinzip wird hier die Schnittmenge der beiden Einstellungen durchgelassen. Achtung: In der Standardeinstellung haben Mitglieder der TWikiAdminGroup überall Zugang (s. u.). Wenn Sie die Rechtevergabe testen wollen, sollten Sie dies also mit Usern tun, die nicht in dieser Gruppe sind. Den Zugriff für jedes Topic einzeln zu regeln, ist nicht nur mit einem erheblichen Mehraufwand bei der Erstellung verbunden, sondern führt leicht zu sehr uneinheitlichen Einstellungen, wenn verschiedene Leute daran arbeiten. Daher besteht die Möglichkeit, auf Web-Ebene ebenfalls anzugeben, wer welche Aktionen in diesem Web durchführen darf. Dies geschieht über die jeweiligen WebPreferences. Die entsprechenden Variablen für Verändern, Umbenennen und Ansicht heißen: ···*·Set ···*·Set ···*·Set ···*·Set ···*·Set ···*·Set
Zugriffskontrolle auf Web-Ebene
ALLOWWEBCHANGE = User, Gruppen DENYWEBCHANGE = User, Gruppen ALLOWWEBRENAME = User, Gruppen DENYWEBRENAME = User, Gruppen ALLOWWEBVIEW = User, Gruppen DENYWEBVIEW = User, Gruppen
Sollten Sie Ihr Web vor unerlaubter Betrachtung schützen wollen, so empfiehlt es sich auch, den Parameter
16.4 Zugangskontrolle
267
···*·Set NOSEARCHALL = on
Prioritäten bei der Rechtevergabe
Rechte für das gesamte Wiki
zu setzen. Ansonsten wird das Web mit in die Volltextsuche eingebunden. Beim Betrachtungsschutz ist zu beachten, dass die Suche eine Anmeldung verlangt, sobald gesperrte Inhalte angezeigt werden. Wenn der Besucher keinen Usernamen hat, so kann er in diesem Fall die Suche nicht benutzen. Selbiges gilt für die Anzeige der Topics und der Änderungen. Wenn Sie sich entscheiden, ein Web vor unerlaubtem Zugriff zu schützen, dann sollten Sie auch die Rechte der Einstellungsseite festlegen. Dies geschieht wie üblich mit ALLOWTOPICCHANGE, da es sich hier um eine einzelne Seite handelt. Damit wird auch klar, dass es eine Prioritätenliste für den Fall geben muss, dass sich die Seiten- und die Webeinstellung unterscheiden. Im Normalfall setzt sich die Seiteneinstellung durch. Sie sehen also, dass die Entscheidung über den Zugang zu den einzelnen Seiten jeweils bei den Autoren liegt. Die einzige Einstellung, die sich über das ganze TWiki erstreckt, ist die Erlaubnis, neue Webs zu erstellen. Diese wird über TWikiPreferences festgelegt. Wenn Sie es vorziehen, keine Zugangsbeschränkung zu Ihrem TWiki zu haben, sollten Sie hier die Einträge ···*·Set ALLOWWEBMANAGE = User, Gruppen ···*·Set DENYWEBMANAGE = User, Gruppen entfernen, da Sie sonst keine weiteren Webs hinzufügen können.
SuperAdminGruppe
268
Nun gibt es noch ein gravierendes Sicherheitsproblem: Ein unbedarfter User, der sich an den Einstellungen versucht, ändert die ALLOWTOPICCHANGE für ein Topic. Dabei macht er aus Versehen einen Tippfehler oder gibt, wenn er bösartig ist, absichtlich einen nicht existierenden User an. Von da an kann keiner mehr den Artikel ändern! Man müsste für kurze Zeit den Passwortschutz aufheben und den Fehler von Hand korrigieren. Damit käme es aber für die gerade eingeloggten Nutzer zu erheblichen Problemen, weil deren Rechteüberprüfung nur über authentifizierte Seiten funktioniert. Um solchen Problemen aus dem Weg zu gehen, ist es vorgesehen, eine SuperAdmin-Gruppe einzurichten, die immer Bearbeitungsrechte an den Seiten hat. Diese ist standardmäßig aktiviert und auf die TWikiAdminGroup eingestellt. Wenn Sie keine solche Gruppe wollen oder eine andere Gruppe mit diesen Rechten ausstatten möchten, müssen Sie Änderungen im Konfigurationsskript configure im Bereich Security setup vornehmen. Der relevante Parameter ist SuperAdminGroup. Damit legen Sie den Namen der Super-Gruppe fest.
16 Userrechte im TWiki
16.5 Strategien für Nutzerrechte An dieser Stelle sollten wir uns kurz Gedanken zu möglichen Strategien bei der Zugangskontrolle und deren Implikationen machen. Generell liegt der Reiz eines Wikis gerade darin, dass es möglichst wenige Hürden beim Zugang und bei der Bearbeitung gibt. Dem steht eine Zugangskontrolle natürlich diametral entgegen. Andererseits sind wir im TWiki mit der Tatsache konfrontiert, dass viele Einstellungen des Systems aus diesem selbst heraus festgelegt und verändert werden können. Da ist es verständlich, wenn man nicht will, dass diese Seiten von jedem geändert werden können, weil damit für den Rest der Community viel auf dem Spiel steht (z. B. bei den Seiten für die Skins). Ein komplett geschlossenes System bietet den Vorteil, dass man eine genaue Kontrolle darüber hat, wer Inhalte sehen und ändern darf. Darüber hinaus gibt es hier keinen Gastnutzer, so dass auch immer nachvollziehbar ist, welche Person bestimmte Änderungen vorgenommen hat. Abgeschlossene Bereiche im Netz wirken jedoch immer sehr unfreundlich und daher unschön. Ein solches Wiki ist beispielsweise dann sinnvoll, wenn es ausschließlich um interne Angelegenheiten einer Gruppe geht. Andererseits werden diese Wikis oft im Intranet betrieben, so dass ein Ausschluss der Öffentlichkeit ohnehin gegeben ist. Allgemeine, also per bekannter URL erreichbare Wikis sollten zumindest eine zugängliche Startseite haben, die den Zweck des Wikis erklärt. Die Standardeinstellung der TWiki-Userverwaltung ist, das Betrachten von Seiten für jedermann freizugeben und für Änderungen einen Login zu verlangen. Damit besteht, wie wir gesehen haben, die Möglichkeit gezielt einzelne Seiten zu beschränken oder einzelne Nutzer/Gruppen zu privilegieren. Obwohl in dieser Version über den Gastzugang im Prinzip Allen das Bearbeiten von Seiten ermöglicht wird, sendet die Aufforderung zum Login doch eine klare Botschaft: „Hier ist ein abgeschlossener Bereich, hier dringen Sie in unser Wiki ein.“ Dies ist oftmals die entscheidende Hürde für eine Beteiligung an der gemeinsamen Arbeit. Da wir oben festgestellt haben, dass nicht jeder Nutzer alle Seiten ändern können sollte, ist es sinnvoll, das im TWiki nur die Seiten einen authentifizieren Benutzer verlangen, für die eine Zugriffsbeschränkung besteht. Diese Einstellung haben wir über die Wahl des LoginManagers hergestellt.
16.5 Strategien für Nutzerrechte
Geschlossenes System
Lesen erlaubt, Schreiben mit Anmeldung
Schreiben teilweise erlaubt
269
17 TWiki administrieren
Sind Sie als Administrator verantwortlich für den Betrieb des TWikis, so kommen einige Aufgaben auf Sie zu, die den „normalen“ User nicht direkt betreffen. So sollten Sie insbesondere für den reibungslosen Betrieb des Systems sorgen. Das umfasst den Nutzern bei Passwort-Problemen zu helfen, für die Sicherheit zu sorgen und Nutzer bei bevorstehenden größeren Änderungen zu benachrichtigen. Um Adminrechte zu erlangen, müssen Sie Mitglied der TWikiAdminGroup sein (s. Kap. 16.4). Eine Zusammenstellung der wichtigsten Seiten, die zur Administration benötigt werden, finden Sie im Topic TWiki.AdminTools.
17.1 Webs verwalten Wenn Sie in Ihrem TWiki verschiedene Gruppen haben, kommen Sie nicht umhin, diesen jeweils eigene Webs zur Verfügung zu stellen. Aber auch zur inhaltlichen Trennung kann eine Aufteilung in verschiedene Bereiche nützlich sein, da die einzelnen Webs vollständig gekapselt sind. Die Rechte zum Erstellen neuer und Ändern bestehender Webs hat in der Standardeinstellung nur ein Mitglied der TWikiAdminGroup. Diese Einstellung finden Sie unter ALLOWWEBMANAGE auf TWikiPreferences.
17.1.1 Einrichten Um ein neues Web zu erstellen, brauchen Sie bloß das Formular auf TWiki.ManagingWebs auszufüllen. Das ist in Abb. 17.1 dargestellt.
17.1 Webs verwalten
Name
271
Abb. 17.1
Geben Sie zunächst den Namen des neuen Webs ein. Hier kann auch ein WikiWord verwendet werden. Hinweis: Dies kann zu unerwünschten Nebeneffekten führen, da ein WikiWord auch als solches interpretiert wird. Es gibt jedoch in der Regel in einem Web keine Seite mit dem gleichen Namen, so dass der Webname mit einem Fragezeichen angezeigt wird. In SeitenTemplates umgehen Sie dies, indem Sie ein <nop> vor den Webnamen setzen. Vorlage
Als nächstes müssen Sie ein Template-Web aussuchen. Dabei handelt es sich um die Vorlage für das Web. Im Normalfall werden Sie die Vorlage „_default“ verwenden, die mit dem Web auch eine Grundausstattung an Seiten mitliefert. Das sind alle Seiten, die mit „Web“ beginnen, also WebHome, WebChanges, WebIndex, WebNotify, WebPreferences, WebSearch, WebStatistics und WebTopicList. Tipp: Sie können sich auch ein eigenes Template-Web erstellen. Richten Sie dafür ein Verzeichnis in data ein, das mit einem Unterstrich beginnt und kopieren Sie alle Topics dorthin, die Sie gerne in der Vorlage hätten. Die andere Möglichkeit ist, das neue Web auf einem bereits bestehenden aufzubauen. Dann werden aus dem alten Web alle Seiten
272
17 TWiki administrieren
übernommen, die mit „Web“ beginnen. Beachten Sie aber, dass etwaige Attachments nicht mit kopiert werden. Die Angabe der Farbe des Webs wirkt sich je nach Skin unterschiedlich aus. Im Pattern-Skin wird der Titel der Navigationsleiste mit dem entsprechenden Hintergrund angezeigt. Im Classic-Skin sehen Sie die Titelleiste mit den Funktionslinks in der jeweiligen Farbe. Die Inhalte der beiden Beschreibungsfelder Description und Used to… werden in der Übersicht im Topic SiteMap angezeigt, das u. a. auch auf der Startseite des Main-Webs eingebunden ist. Zuletzt können Sie bestimmen, ob das neue Web auch mit der Suchfunktion durchsucht werden soll. Im Normalfall sollten Sie das erlauben. Wenn das Web jedoch versteckte Seiten enthält, so ist es besser, es von der Suche auszuschließen, da die Suche eventuell auf die versteckten Seiten zugreifen kann. Wenn Sie nun auf Create new web klicken, wird das Web erstellt und Sie können es von nun an mit Inhalt füllen. Sollten Sie einen Skin verwenden, der auf die WIKIWEBLIST zugreift (z. B. Classic), dann müssen Sie das neue Web in TWikiPreferences manuell zu dieser Variable hinzufügen.
Farbe und Beschreibung
Suche
Erstellen
17.1.2 Umbenennen, Löschen, Archivieren Für das Umbenennen oder Löschen von Webs gibt es ein Tool. Das finden Sie im jeweiligen Web auf der Seite WebPreferences. Dort gibt es ganz unten einen Link Dieses Web umbenennen/verschieben/löschen…. Es erscheint eine Seite, auf der Sie einen neuen Webnamen und ein neues Ober-Web eingeben können. Sie löschen ein Web, indem Sie als Ober-Topic Trash wählen. Ansonsten wird es umbenannt. Darunter finden Sie eine Liste der betroffenen Topics. Sie können nun mit dem Haken vor jedem Topic wählen, ob Sie dort die Änderungen aktualisieren wollen. Wenn Sie das Web umbenennen, sollten Sie alle Topics markieren. Wollen Sie stattdessen löschen, so ist es ratsam, alle Markierungen zu entfernen, da sonst im gesamten TWiki die entsprechenden Links in den Papierkorb verweisen würden. Mit Umbenennen/Verschieben werden die Änderungen vorgenommen. Um Webs zu archivieren, brauchen Sie nur die Inhalte der jeweiligen Webverzeichnisse aus data, pub und templates in eine Archivdatei zu packen. Unter Linux können Sie dazu folgenden Befehl verwenden: tar czvf archivpfad/archivname.tar.gz
Verweise finden
Webs archivieren
↵ ↵
17.1 Webs verwalten
273
twikipfad/data/web twikipfad/templates/web twikipfad/pub/web
↵ ↵
In regelmäßigen Abständen sollten Sie auch den Inhalt des TrashWebs, in das die gelöschten Seiten verschoben werden, zuerst archivieren und dann leeren.
17.1.3 RSS-Feeds Auch das TWiki bietet die Möglichkeit, die letzten Änderungen per RSS zu verfolgen. Dieser Nachrichtendienst wird durch die Seite WebRss zur Verfügung gestellt, die in jedem Web vorhanden ist. Wenn Sie sich diese Seite im TWiki ansehen, so finden Sie nur eine Sammlung von URLs und einigen Anmerkungen. Um das eigentliche RSS-Dokument zu erhalten, müssen Sie sich die Seite im RssSkin ausgeben lassen. Dies ist also die URL, unter der ein RSSReader seine Informationen abholen kann: Web/WebRss
Angepasste Feeds
Dieser Feed enthält alle Seiten, die auch in WebChanges vorkommen, samt einer kurzen Beschreibung. Die neuesten Seiten bzw. jüngsten Bearbeitungen kommen zuerst. Sie können sich auch einen angepassten Feed erzeugen, der nur eine Auswahl von Seiten verfolgt, die ein bestimmtes Stichwort enthalten. Hängen Sie dazu an die URL noch einen weiteren Parameter search an: Web/WebRss&search=stichwort Jetzt werden nur noch die Änderungen der Seiten angezeigt, die auch mit der normalen Text- und Titelsuche unter diesem Stichwort gefunden werden. Es bietet sich natürlich an, eine Seite mit Links zu spezialisierten Feeds zu erstellen. Einen solchen Verweis binden Sie mit folgender Anweisung in eine Wiki-Seite ein: [[%SCRIPTURL%/view%SCRIPTSUFFIX%/Web/ WebRss?skin=rss&search=stichwort] [Feed zu Stichwort]]
274
17 TWiki administrieren
↵ ↵
17.2 Topic-Vorlagen Wenn Sie eine neue Seite erstellen, sehen Sie, dass darauf schon Text eingefügt ist, nämlich Ihr Username und die aktuelle Zeit. Dieser Text wird in einem Topic-Template festgelegt und bei der Erstellung einer neuen Seite übernommen. Vorlagen dieser Art sind für verschiedene Zwecke angelegt, eine Übersicht finden Sie in Tab. 17.1: Name TWikiGroupTemplate NewUserTemplate WebTopicEdit Template WebLeftBarPersonal Template TWikiFaqTemplate ATasteOfTWiki Template
Verwendung Einrichten neuer Gruppen. Einrichten eines neuen Users. Erstellen einer neuen Seite. Einrichten des UserNavigationsbalkens. Erstellen eines neuen Eintrags in TWiki.TWikiFAQ. Vorlage für die Slideshow ATasteOfTWiki (vgl. Abschnitt IV.5.3)
Außer dem TWikiGroupTemplate befinden sich alle Vorlagen im TWiki-Web. Sie können diese Musterseiten natürlich entsprechend Ihrer Wünsche verändern wie jede andere Seite des Wikis. Es gibt jedoch einen kleinen Unterschied. Die Variablen, die Sie in Tab. 17.2 aufgelistet sehen, werden nicht übernommen, sondern durch ihren Wert bei der Erstellung der Seite ersetzt: Variable %DATE% %USERNAME% %WIKINAME% %WIKIUSER NAME% %URLPARAM {"name"}% %NOP% %NOP{...}%
Tab. 17.1
Funktion Aktuelles Datum. Loginname über den Browser. Wiki-Name des Nutzers, z. B. TestUser. Username mit Webangabe, z. B. Main.TestUser.
Spezielle Variablenbehandlung
Tab. 17.2
Der Wert des Parameters name, der in der URL übergeben wurde. Variable wird einfach entfernt. Kann benutzt werden, um andere Variablen zu maskieren. Wie oben, nur über mehrere Zeilen.
17.2 Topic-Vorlagen
275
Eigene Templates
Sie können Templates auch für Ihre eigenen Zwecke nutzen, um beispielsweise eine vereinheitlichte Agendaseite für jede Projektgruppe zu haben. Erstellen Sie sich dazu zunächst eine eigene Vorlagenseite, z. B. ProjektAgendaTemplate. Um daraus nun neue Seiten zu erstellen, brauchen Sie ein Formular, über das das EditSkript aufgerufen wird. Das sieht beispielsweise folgendermaßen aus:
↵ ↵ ↵
↵ ↵ ↵ ↵
Das Formular ist hier abgebildet: Abb. 17.2
Wie Sie sehen, wird dem User bereits ein Name vorgeschlagen, den er nur noch anpassen muss. Drückt er auf Erstellen, wird die Seite eingerichtet. Die möglichen Parameter des Formulars sind in Tab. 17.3 erklärt. Tab. 17.3
276
Parameter topic templatetopic topicparent onlywikiname onlynewtopic
Funktion Name des Topics Name des Templates, das verwendet wird Name des Elterntopics Erlaubt nur WikiWords als Seitennamen Erlaubt nur Seitennamen, die noch nicht existieren.
17 TWiki administrieren
Die Formularparameter können mit Wiki-Variablen belegt werden, da diese beim Darstellen der Seite, also auch der Anzeige des Formulars, durch die entsprechenden Werte belegt werden. Wollen Sie onlywikiname oder onlynewtopic ausschalten, so müssen Sie die Zeilen entfernen. Es reicht nicht, den Wert auf off zu setzen.
17.3 Interwiki-Links Ähnlich wie im MediaWiki sind auch im TWiki vereinfachte Verweise zwischen verschiedenen Wikis und anderen Webseiten vorgesehen. Setzen Sie dafür vor den eigentlichen Verweis einfach das Kürzel für das entsprechende Wiki oder die Seite. Folgender Link ruft beispielsweise eine Google-Suche auf: Google:Wiki Nachdem die Schreibweise eigentlich für Wikis gedacht ist, dürfen keine Leerzeichen verwendet werden. Sie können sich aber behelfen, indem Sie Leerzeichen durch %0E ersetzen, also beispielsweise Google:Ward%0ECunningham Eine Liste aller verwendbaren Kürzel finden Sie auf der Seite TWiki.InterWikis. Sie ahnen sicher schon, dass man auf diesem Topic auch eigene Interwiki-Kürzel definieren kann, und haben natürlich Recht. Erweitern Sie einfach die jeweilige Tabelle. Diese hat drei Spalten: Das Kürzel, die URL, die aufgerufen werden soll sowie eventuell den anzuzeigenden Tooltip-Text. Den variablen Teil der URL können Sie mit $page einsetzen. Als Beispiel sei ein Link zu Wikipedia.de gesetzt: | WP | http://de.wikipedia.org/wiki/ | $page auf Wikipedia |
Selbst erstellen
↵
Wie Sie sehen, kann $page auch weggelassen werden, wenn der variable Teil am Schluss der URL steht. Hinweis: Die Tooltipp-Funktion ist standardmäßig abgeschaltet. Sie wird aktiviert, indem in TWikiPreferences die Variable LINKTOOLTIPINFO = on gesetzt wird.
17.3 Interwiki-Links
277
17.4 Nutzer verwalten
Neue Passwörter
User löschen
Als Verantwortlicher für die Zugangskontrolle ist man auch mit der Verwaltung der Nutzer konfrontiert. Einige Aktionen, wie registrieren und Daten ändern, können die Nutzer selbst machen. Andere, wie das Verwalten der Gruppen, wird von einer Gemeinschaft von Nutzern in Eigenregie erledigt. Damit bleiben noch Fragen, die von einem Administrator geklärt werden müssen: Wie kann man vergessene Passwörter zurücksetzen und User löschen? Dem wollen wir uns kurz zuwenden. Das Zurücksetzen von Passwörtern funktioniert in zwei Schritten. Auf der Seite TWiki.ResetPassword geben Sie den Usernamen und das neue Passwort ein. Dies kann auch der Nutzer selber machen. Als Ergebnis bekommt der Benutzer eine E-Mail mit dem neuen Passwort zugesandt. Hat ein User die TWiki-Gemeinschaft dauerhaft verlassen oder will sich einfach einen anderen Namen zulegen, so kann es erwünscht sein, diesen User auch aus der Datenbank zu entfernen. Dazu ist es in erster Linie nötig, den Account aus der Passwortliste zu nehmen. Der Ort dieser Liste ist in Twiki.cfg angegeben, normalerweise liegt sie in data und heißt .htpasswd. Löschen Sie dort die Zeile, die mit dem zu entfernenden Usernamen beginnt. Die restlichen Spuren können Sie direkt im TWiki herausnehmen. Auf der Seite Main.TWikiUsers werden alle registrieren Benutzer aufgelistet. Hier ist der entsprechende Eintrag zu entfernen. Das Topic des Users können Sie auch löschen, falls Sie das wollen. Wenn der Nutzer jedoch im Wiki aktiv war, führen dann viele Verweise, die seine Bearbeitungen markieren, ins Leere. Sie sollten auch noch ein Auge auf die Rechteverwaltung werfen. Sind dem User Sonderrechte zugestanden worden, so sollten Sie die entsprechenden Einträge auf den Seiten entfernen. Ansonsten könnte sich jemand unter gleichem Namen anmelden und hat automatisch die gleichen Rechte. Diese Einträge finden Sie am besten mit der Suche (s. Kap. 14).
17.5 E-Mail Kontaktdaten
278
E-Mails werden als Benachrichtigungen über Seitenänderungen und als Bestätigung bei der Registrierung neuer User versandt. Die entsprechenden Parameter finden Sie auf der Konfigurationsseite unter
17 TWiki administrieren
der Überschrift Mail and Proxies. Stellen Sie WebMasterEmail auf die E-Mail-Adresse des Administrators des Wikis. Auf alle Fälle sollten Sie sicherstellen, dass die angegebene Adresse erreichbar ist, da sie als Rückfrage-Kontakt bei der Userregistrierung angegeben wird. Sie können auch den Namen des Verantwortlichen in WebMasterName angeben. Für das Versenden von E-Mails aus dem TWiki heraus muss natürlich spezifiziert werden, auf welche Art bzw. über welchen Server die Mails verteilt werden sollen. Dafür gibt es prinzipiell zwei Möglichkeiten, über das Perl-Modul Net::SMTP oder über ein externes Mailprogramm wie sendmail. Wenn Sie wollen, dass über Perl geschickt wird, so tragen Sie im Parameter Mailhost den Namen eines Mailservers ein. Sollte sich dieser auf demselben Rechner befinden, so reicht localhost. Der Aufruf eines externen Mailprogramms wird über Variable MailProgram bestimmt. In diesem Fall muss der Mailhost leer bleiben. In Senderhost können Sie noch angeben, von welcher URL aus die E-Mail gesendet wurde. Sollten sie für die Verbindung ins Internet einen ProxyServer verwenden, so tragen Sie die entsprechenden Daten in die Variablen Host und Port ein. Nun ist Ihr TWiki für den automatischen Versand von Mails konfiguriert. Ob die Einrichtung erfolgreich war, können Sie auf zwei Arten testen. Entweder Sie registrieren sich als neuer Teilnehmer im Wiki. Das kann leider zu einer Reihe von ungebrauchten Dummy-Usern führen, wenn die E-Mail nicht auf Anhieb funktioniert. Besser ist es daher, die Änderungsbenachrichtigung zu testen. Um sich dafür anzumelden, reicht es aus, Ihren Namen in die Liste auf der Seite Main.WebNotify einzutragen:
Mailprogramm
E-Mail Benachrichtigung
···*·Main.Username - ihre@email Diese Seite existiert für jedes Web separat. Wenn Sie sich eingetragen haben, ändern Sie eine Seite im Main-Web. Gehen Sie nun auf die Kommandozeilenebene Ihres Servers, wechseln Sie in das Verzeichnis bin und führen Sie folgende Zeile aus: mailnotify -q Damit haben Sie die E-Mailbenachrichtigung manuell gestartet. Wenn die Maileinstellungen korrekt waren, sollten Sie jetzt eine EMail mit den letzten Änderungen im TWiki an die angegebene Adresse bekommen haben.
17.5 E-Mail
279
Benachrichtigung automatisieren
Für einen ordentlichen Benachrichtigungsservice müssen Sie die Ausführung des Skriptes natürlich automatisieren. Dafür gibt es unter Linux so genannte Cron-Jobs. crontab -e 0 2 * * * (cd pfad/twiki/bin; mailnotify –q)
↵
Mit diesem Befehl wird jede Nacht um 2 Uhr (Server-Zeit!) eine Mail abgeschickt. Die Reihenfolge der Zeitangaben ist Minute, Stunde, Tag, Monat und Wochentag. Ein Stern bedeutet „jedes Mal“. Wenn Sie also jeden Tag eine Benachrichtigung herausgeben wollen, so muss im „Tag“-Feld ein Stern stehen, wie im obigen Beispiel. Unter Windows gibt es eine Reihe von Programmen von Drittanbietern, die Cron simulieren. Microsoft listet einige unter der URL http://www.microsoft.com/ntserver/partners/findoffering/serversolutions/Maintnce.asp auf. Tipp: Eine Möglichkeit, allen Usern (ob angemeldet oder nicht) allgemeine Informationen zukommen zu lassen, sind so genannte Broadcasts. Das sind Mitteilungen, die auf jeder TWiki-Seite über der Funktionsleiste zu sehen sind. Deren Inhalt können Sie in TWikiPreferences festlegen, indem Sie einen Eintrag in die Variable BROADCASTMESSAGE machen. In den darauf folgenden Zeilen finden Sie zwei Beispiele, die Sie einfach kopieren und entsprechend anpassen können. Das zweite Schema ist nur bei der Nutzung des Pattern-Skins möglich. Broadcasts sind insbesondere nützlich, wenn Sie größere Wartungsarbeiten oder Veränderungen am TWiki vornehmen und die Nutzer darüber informieren wollen.
17.6 Sicherheitsaspekte
Lücke in der Suchfunktion
280
Generell ist zu sagen, dass das TWiki relativ sicher ist, wenn Sie die Zugriffsrechte zu den Skripten und den Rohdatendateien genau setzen. Die Skripte sollten nur vom System ausführbar sein. Außerdem sollte außer dem Skripte-Verzeichnis keins von außen über den Webbrowser abrufbar sein. Wenn Sie das TWiki im Einsatz haben, sollten Sie dennoch ab und an auf der Seite http://twiki.org/cgi-bin/view/Codev/SecurityAlerts vorbeischauen. Hier werden die bekannten Sicherheitsprobleme der jeweiligen TWiki-Version dokumentiert und Lösungen dafür angeboten. Sie finden auf der Seite auch eine Mai-
17 TWiki administrieren
ling-Liste, über die Sie sich immer auf dem aktuellen Stand halten lassen können. Ein Problem, das eher lästig als gefährlich werden kann, ist die Verwendung von HTML und Skriptsprachen. Freies HTML kann mit den Tags aus den Templates Wechselwirkungen auslösen und die Seite undarstellbar machen. Damit kommt man über den Browser nicht mehr in den Bearbeitungsmodus und kann die Fehler nicht mehr rückgängig machen. Natürlich kann man den Edit-Modus immer manuell über die URL starten, dazu ist aber ein Level an technischem Know-how nötig, das man dem unbedarften User nicht zumuten sollte. Mit JavaScript kann man natürlich auch unangenehme Effekte hervorrufen. So könnten Sie ein Skript einbauen, das den Browser beim Aufruf der Seite automatisch schließt. Gleiches Problem wie oben, der normale Nutzer hat die Seite verloren. Klar ist auch, dass diese Dinge nicht gefährlich sind. Aber sie können den Spaß am TWiki schon vermiesen. Daher gibt es in der Konfiguration im Bereich „Security Setup“ eine Variable AllowInlineScript. Hier sollten Sie den Haken entfernen, wenn Sie mit einem offenen TWiki operieren und nicht sicher gehen können, dass alle Benutzer mit freundlicher Absicht unterwegs sind. Das TWiki führt Protokoll über Anforderungen, die über das Web gestellt werden. Welche Aktionen dabei im Protokoll aufgenommen werden, können Sie in der Konfiguration im Bereich „Log files“ festlegen. Hier finden Sie eine Liste mit Aktionen, die geloggt werden. Die Logfiles finden Sie in twiki/data, sie werden monatsweise angelegt und nach dem Schema
Freie Verwendung von HTML und Skripten
Logfiles
logJJJJMM.txt entsprechend dem Jahr und Monat benannt. Ein Eintrag im Logfile enthält tabellarisch folgende Informationen (durch | getrennt): Datum und Uhrzeit, User, aufgerufenes Skript, Web und Seite, verschiedene Angaben, z. B. dass die Speicherung „quiet“ war, eine angefragte Seite nicht existiert oder eine Seite erneuert wurde, und die IP-Adresse. Diese Informationen können Ihnen Aufschluss über Auffälligkeiten und Fehler bei der Verarbeitung geben.
17.7 Backup der Daten Bei allen Computersystemen kann es dazu kommen, dass die Technik versagt. In diesem Fall ist auch ein Totalverlust der Daten nicht
17.7 Backup der Daten
281
Alle Seiten sichern
auszuschließen. Daher ist auch beim TWiki anzuraten, in regelmäßigen Abständen einen Abzug der Daten zu machen und separat zu speichern. Die Seitendaten sind alle im Verzeichnis data gespeichert. Um diese zu sichern, kopieren Sie einfach das gesamte Verzeichnis oder packen es in eine Archiv-Datei. Dabei werden sowohl die aktuellen Versionen, als auch die History gesichert. Hochgeladene Dateien werden im Verzeichnis pub gespeichert, das Sie ebenfalls sichern sollten. Unter Unix ist der Befehl zum Sichern der Daten: tar czvf backup_data.tar.gz */*
Daten wiederherstellen
Dazu müssen Sie sich im jeweiligen Verzeichnis befinden. Formulardaten müssen nicht extra gesichert werden, da sie in den jeweiligen Topics als Metadaten gespeichert und dadurch mit diesen im Backup enthalten sind. Um die Daten wieder aufzuspielen, entpacken Sie die beiden Archive wieder in die Verzeichnisse data und pub. Wenn Sie ganz sicher gehen wollen, sollten Sie diese Verzeichnisse zuvor leeren. Dies gilt insbesondere, wenn Sie einen älteren Zustand des Wikis wieder herstellen wollen, weil sich in der Zwischenzeit beispielsweise ein Vandale herumgetrieben hat. Nur so können Sie sicherstellen, dass sich keine ungewollten Reste in den Webs befinden.
17.8 Upgrade und Deinstallation Da von Zeit zu Zeit eine neue Version von TWiki veröffentlicht wird, kann es leicht passieren, dass Sie in die Situation kommen, auch Ihre Installation zu erneuern. Dafür gibt es leider kein allumfassendes Rezept. Sie finden aber detaillierte Informationen für jede Kombination von Versionen unter http://twiki.org/cgi-bin/view /TWiki/TWikiUpgradeGuide. Um von TWiki 01-Sep-2004 auf TWiki-4.x aufzurüsten, sind die folgenden Schritte notwendig: Installieren Sie die neue Version von TWiki in ein neues Verzeichnis. Installieren Sie im neuen Wiki die Erweiterungen, die sie auch im alten Wiki verwendet haben. Denken Sie daran, hier auch die jeweils aktuellsten Versionen zu nehmen.
282
17 TWiki administrieren
Kopieren Sie die alten Webs aus den Verzeichnissen data und pub ins neue TWiki. Achten Sie bei den Standard-Webs (insbesondere beim TWiki-Web) darauf, dass keine Standard-Seiten aus dem neuen Web überschrieben werden. Hier könnten sich neue Einstellungen oder Templates verstecken, die im neuen Wiki gebraucht werden. Kopieren Sie die Benutzer. Die Seite TWiki.TWikiUsers müssen Sie händisch anpassen. Kopieren Sie die alte .htpasswdDatei ins data-Verzeichnis. Übertragen Sie die Änderungen der Skins und Einstellungen. Hierbei ist Handarbeit angesagt. Sollten Sie tatsächlich in der Situation sein, das TWiki deinstallieren zu müssen, weil Sie beispielsweise von einem Server zum anderen umziehen, so müssen Sie dies von Hand vornehmen, es gibt keine Deinstallationsroutine. Das ist jedoch weiter nicht tragisch, da das TWiki alle seine Daten im Verzeichnis twiki ablegt. Wenn Sie also dieses Verzeichnis löschen, dann sind alle TWiki-Daten entfernt. Sie sollten nun noch die Anpassungen der Apache-Konfigurationsdatei httpd.conf rückgängig machen. Entfernen Sie dazu einfach den Verweis auf twiki.conf. Damit haben Sie alle Spuren des TWikis entfernt.
17.8 Upgrade und Deinstallation
283
18 Gestaltung des TWikis
Gerade in eigenen Webauftritten, die der Öffentlichkeit zur Verfügung stehen, ist es unbefriedigend, wenn man nur das vorgegebene Standard-Layout verwenden kann. Dies gilt insbesondere, wenn man das Wiki als Teil einer eigenen Homepage einbinden will oder schon mit einer bestimmten „Corporate Identity“ in der Öffentlichkeit steht. Zum Glück bietet das TWiki einfache Möglichkeiten, in das Layout einzugreifen. Auch eine funktionale Anpassung an die Anforderungen der Community ist mittels Plugins zu realisieren.
18.1 Das Erscheinungsbild gestalten Wie schon das MediaWiki, so bietet auch das TWiki die Möglichkeit, das Erscheinungsbild der Seite über Skins zu steuern. Standardmäßig ist in der von uns verwendeten Version der Pattern-Skin aktiviert. Das können Sie natürlich ändern, die Einstellung ist wie so vieles im TWiki wieder über ein Topic geregelt. Der entsprechende Eintrag befindet sich in TWikiPreferences im Abschnitt „Skin Settings“ unter dem Namen SKIN. Wie die installierten Skins aussehen werden, können Sie sich im TWikiSkinBrowser ansehen. Um eine der Vorlagen aus dem Skinbrowser zu aktivieren, ändern Sie SKIN in den Namen der Vorlage ohne das Wort „Skin“, also für ClassicSkin:
Skins einstellen
···*·Set SKIN = classic Vielleicht wollen Sie sich aber erst eine einzelne Seite im neuen Skin ansehen, bevor Sie sich entscheiden. Dafür reicht es, wenn Sie an die URL der Seite, die Sie gerade betrachten, den Parameter &skin=skinname anhängen und die Seite damit aufrufen. Sie wird nun im gewählten Layout angezeigt.
18.1 Das Erscheinungsbild gestalten
285
Abb. 18.1
Neue Skins installieren
Die Auswahl an Skins in der Standardinstallation ist zugegebenermaßen etwas spärlich. Sie können sich jedoch zusätzliche Skins installieren. Eine Auflistung aktueller Layoutvorlagen finden Sie unter http://twiki.org/cgi-bin/view/Plugins/SkinPackage. Von dort aus können Sie auf die jeweilige Seite der Vorlage gehen und sich eine gepackte Datei, die dort als Anhang beigefügt ist, herunterladen. Entpacken Sie diese Datei im Verzeichnis twiki. Hinweis: Die hier dargestellte Vorgehensweise kann bei einzelnen Skins etwas variieren. Sie sollten sich daher auf alle Fälle die jeweiligen Installationsanweisungen durchlesen. Achtung: Bevor Sie einen neu installierten Skin einstellen, sollten Sie ihn zunächst an einer einzelnen Seite testen, um unangenehme Überraschungen zu vermeiden. So müssen unter Umständen die Bearbeitungsknöpfe erst festgelegt werden. Haben Sie das vergessen, können Sie die Einstellungsseite nur noch direkt über die URL in den Bearbeitungsmodus versetzen (edit statt view).
Menüleiste anpassen
Im Pattern-Skin ist es relativ einfach, eine eigene Menüleiste zusammenzubasteln. In jedem Web gibt es ein Topic mit dem Namen WebLeftBar, das als Vorlage links vom eigentlichen Artikel eingebunden wird. Wenn Sie die Seite aufrufen, sehen Sie, dass sich hier eine komplette Kopie der Menüleiste befindet. Diese können Sie
286
18 Gestaltung des TWikis
genauso verändern, wie jede andere Seite im TWiki. Wenn Sie beispielsweise einen Link zu unserer Homepage anbringen wollen, so fügen Sie einfach die Zeile *[[http://www.wikitools.de][WikiTools]]* ein. Damit wird der Link in Fettschrift eingefügt. Nach dem Speichern sehen Sie, dass die Änderung gleich übernommen wurde. Tipp: In der mitgelieferten Vorlage sind alle Einträge Elemente einer Aufzählung. Dies ist für die Darstellung in der linken Leiste nicht relevant und kann auch weggelassen werden.
18.1.1 Funktionselemente Die wichtigste Frage, die sich beim Erstellen eigener Layouts aufdrängt, ist die nach den Funktionslinks. Wie kann man also die verschiedenen Ansichten eines Topics über Links ansprechen? Sie ahnen vielleicht schon, dass die Skripte im Verzeichnis bin dabei eine entscheidende Rolle spielen. Diese Skripte werden mit der jeweiligen Seite als Parameter aufgerufen. Bei einigen Funktionen sind noch weitere Angaben nötig. Eine Auflistung der Skripte und ihrer Funktionen finden Sie in Tab. 18.1: Skript view
Funktion Anzeige
Parameter skin: Darstellung der Seite mit einem bestimmten Skin.
Tab. 18.1
raw: „on“ zeigt den Quellcode, „debug“ gibt zusätzlich die Metainformationen aus. topic: Name des anzuzeigenden Artikels edit
Bearbeiten
t: Zeigt die Zeit zum Beginn der Bearbeitung.
search
Suche
scope: Bereich, in dem gesucht werden soll. Möglich ist „topic“ für Suche im Titel, „text“ für Volltextsuche und „all“ für beides. search: Eigentlicher Suchstring.
18.1 Das Erscheinungsbild gestalten
287
Tab. 18.1 (Fortsetzung)
Skript rdiff
Funktion Versionen
Parameter Alle alten Versionen anzeigen: keine Parameter angeben. Alte Version zeigen: rev: Nummer der Version, die angezeigt werden soll. Versionen vergleichen: rev1: Nummer der ersten Version. rev2: Nummer der zweiten Version.
View-Skript aufrufen
Da wir unsere Layout-Vorlagen für alle Seiten konzipieren, empfiehlt es sich, so allgemeingültig wie möglich vorzugehen. Dies bedeutet vor allem, soweit dies geht, alle statischen Angaben durch die entsprechenden Variablen zu ersetzen. Das View-Skript wird dann beispielsweise so aufgerufen: %SCRIPTURL%/view%SCRIPTSUFFIX% Der Pfad zum Skript sowie eine eventuell in configure definierte Dateiendung werden aus den TWiki-Einstellungen abgeleitet. Der Name des aufrufenden Artikels ist durch folgende Variablen eindeutig festgelegt: %INCLUDINGWEB%/%INCLUDINGTOPIC% Beachten Sie, dass die Skin-Dateien eigentlich in den Artikel eingebunden werden. Daher reicht es nicht aus, die Platzhalter %WEB% und %TOPIC% zu verwenden, da diese immer auf die Vorlage selbst zeigen würden. Die Liste der Parameter beginnt mit einem ?, mehrere Parameter werden durch ein & getrennt. Wenn Sie also einen Link auf jeder Seite haben wollen, der die Seite im classic-Skin anzeigt, dann verwenden Sie folgende Zeile: [[%SCRIPTURL%/view%SCRIPTSUFFIX%/ %INCLUDINGWEB%/%INCLUDINGTOPIC% ?skin=classic] [im Classic-Skin]]
↵ ↵ ↵
Die Druckansicht lässt sich ebenfalls mit diesem Verweis erzeugen, da sie im Prinzip die gleiche Seite mit dem Print-Skin aufruft. Sie müssen in obiger Anweisung also nur das classic durch print ersetzen und die Beschriftung ändern.
288
18 Gestaltung des TWikis
Das Bearbeitungsskript benötigt als Parameter zusätzlich die aktuelle Zeit. Diese können Sie sich aus der Variable GMTIME holen: [[%SCRIPTURL%/edit%SCRIPTSUFFIX%/ %INCLUDINGWEB%/%INCLUDINGTOPIC% ?t=%GMTIME {"$year$mo$day$hours$minutes$seconds"}%] [bearbeiten]]
Edit-Link
↵ ↵ ↵ ↵
Für ein aufwändigeres Layout ist es – wie in allen TWiki-Seiten – durchaus möglich, direkt in HTML zu schreiben. Leider ist es mit Skins, die über TWiki-Seiten gesteuert werden, nicht möglich, den Versionenaufruf anzuzeigen, wie Sie ihn aus dem Pattern-Skin kennen. Sie können sich nur alle Änderungen gleichzeitig ausgeben lassen. Dazu rufen Sie einfach das Rdiff-Skript mit der jeweiligen Seite auf.
Versionen
Tipp: Den Versionenaufruf können Sie aber über die Templates einbinden. Die Vorlagen für die Anzeige sind im Ordner template und heißen view.[skinname].tmpl. In diesen Dateien ist eine Variable %REVISIONS% verfügbar, die die Versionenanzeige ausgibt. Eine Liste mit Querverweisen („Backlinks“) können Sie sich mit Hilfe der eingebauten Suchfunktion generieren (mehr dazu in Kap. 14). Verwenden Sie hierfür folgenden Befehl: [[%SCRIPTURL%/search%SCRIPTSUFFIX%/ %INCLUDINGWEB%/SearchResult ?scope=text ®ex=on &search=%SPACEDTOPIC%%5B%5EA-Za-z%5D] [Eingehende Links]]
Backlinks
↵ ↵ ↵ ↵ ↵
Wundern Sie sich nicht über die vielen kryptischen Zeichen. Das sind Umschreibungen für die Sonderzeichen & (&), [ (%5B), ^ (%5E) sowie ] (%5D), die ansonsten die Verarbeitung der WikiSeite stören würden. Im Prinzip sucht dieser Befehl alle Seiten, auf denen der Seitenname in eckigen Klammern, also als Link, vorkommt. Das sind genau die eingehenden Links. Die Funktion zum Anhängen von Dateien wird über ein eigenes Skript aktiviert. Sie müssen die Seite nur mit attach statt view aufrufen und schon wird der Upload-Dialog gestartet. Um die erweiterten Funktionen (Umbenennen, Löschen, etc.) einzubinden, müssen Sie das Oops-Skript aufrufen. Das produziert
18.1 Das Erscheinungsbild gestalten
Anhänge
Erweiterte Funktionen
289
eigentlich die (Fehler-)Meldungen des TWikis. Da es sehr unterschiedliche Meldungen ausgeben muss, wird es mit eigenen Vorlagen aufgerufen, die die jeweilige Nachricht enthalten. Dies wird auch für die Anzeige der erweiterten Funktionen genutzt: [[%SCRIPTURL%/oops%SCRIPTSUFFIX%/ %INCLUDINGWEB%/%INCLUDINGTOPIC% ?template=oopsmore] [Erweiterte Aktionen]]
↵ ↵ ↵
Als letzten Funktionslink nehmen wir noch ein Feld für den direkten Einstieg in unseren Skin auf. Das View-Skript kann mit einem Parameter topic aufgerufen werden, der uns direkt zur angegebenen Seite bringt oder, falls es diese nicht gibt, einen Suchdialog ausgibt. topic kann auch über ein Formular übergeben werden. Damit reicht folgender HTML-Code, um den Direkteinstieg anzuzeigen:
Liste aller Webs
Das ist natürlich nur die Minimalversion. Das Formular wird dadurch abgeschickt, dass die <ENTER>-Taste gedrückt wird. Größere Benutzerfreundlichkeit erreicht man dadurch, dass zusätzlich zumindest ein Button eingefügt wird. Nun wollen wir uns noch zwei dynamische Bestandteile der Navigationsleiste ansehen. Wie Sie sehen können, wird im PatternSkin eine Liste der Webs angezeigt, die im Wiki angelegt sind. Diese Liste kann über die Variable %WEBLIST{""}% ausgegeben werden. Ohne weitere Formatierungsangaben werden die Namen der Webs einfach hintereinander geschrieben. Daher haben Sie die Möglichkeit, in der geschweiften Klammer nähere Angaben zur Ausgabe zu machen. Sie können hier jeden beliebigen Text einsetzen. An die Stelle, wo der Name des jeweiligen Webs ausgegeben werden soll, setzen Sie ein $name. So können Sie die Webs beispielsweise als verlinkte Aufzählung darstellen: %WEBLIST{"···*·[[$name.%HOMETOPIC%]· [$name]]"}%
↵
Beim Zusammensetzen der Seite durch das Skript wird für jedes Web einmal die angegebene Zeile ausgegeben, wobei jeweils der entsprechende Name eingesetzt wird. %HOMETOPIC% zeigt dabei jeweils auf die Startseite des Webs.
290
18 Gestaltung des TWikis
Die %WEBLIST%-Variable bietet zudem die Möglichkeit, ein bestimmtes Web zu markieren. Dazu müssen Sie zuerst mit $selected festlegen, welches Web hervorgehoben werden soll. Dann bestimmen Sie mit $marker, wie die Markierung aussieht. Nun müssen Sie $marker nur noch an die richtige Stelle in der Ausgabe setzen. Um beispielsweise das aktuelle Web (in %WEB% gespeichert) in Fettschrift auszugeben, verwenden Sie folgenden Code: %WEBLIST{ "···*·$marker[[$name.%HOMETOPIC%] [$name]]$marker" selection="%WEB%" marker="*" }%
↵ ↵ ↵ ↵ ↵
Der Stern, der den Fettdruck veranlasst, wird nur dann ausgegeben, wenn das gerade verarbeitete Web ($name) dem aktuellen entspricht. TWikis, in denen viele Gruppen gleichzeitig arbeiten und die daher viele Webs haben, können schnell unübersichtlich werden, wenn man immer die gesamte Liste aller Webs ausgibt. Eine elegante Lösung ist es, die Aufzählung als Drop-Down-Element einzubinden. Dazu benötigen wir ein HTML-Formular, das mit einem <SELECT>-Element gefüllt ist: <select size=1 name="Auswahl"> %WEBLIST{ " $name"}%
Aktuelles Web hervorheben
Als Drop-DownElement
↵ ↵ ↵
Leider haben wir noch eine weitere Hürde zu überwinden: Es passiert nichts, wenn Sie ein Web auswählen. Das liegt daran, dass das Formular nicht abgeschickt wird. Ein kleines JavaScript kann uns hier helfen. Das folgende Attribut lädt die in value angegebene URL, sobald sich in der Auswahlbox etwas ändert: onChange= "document.location.href= this.form.Auswahl.options[ this.form.Auswahl.options.selectedIndex
↵ ↵ ↵ ↵
18.1 Das Erscheinungsbild gestalten
291
].value" Fügen Sie die Zeile im <SELECT>-Element hinter name="Auswahl" ein. Nun haben wir noch das Problem, dass immer das Main-Web angezeigt wird. Es wäre jedoch wünschenswert, wenn das aktuelle Web, in dem wir uns befinden, auch vorselektiert wäre. Dazu muss der HTML-Befehl selected in der entsprechenden Option eingefügt werden. Die %WEBLIST% sieht dann so aus: %WEBLIST{ " $name" selection="%WEB%" marker="selected"}% Liste der Topics
↵ ↵ ↵ ↵ ↵
Analog zur Liste der Webs können Sie sich auch eine Liste der Topics ausgeben lassen, die einen sehr schnellen Zugriff auf die vorhandenen Artikel eines Webs ermöglicht, sofern nicht zu viele Einträge vorhanden sind. Die Variable, in der alle Topics gespeichert sind, heißt %TOPICLIST%. Den Quellcode für eine Drop-DownListe haben wir hier abgedruckt: <select size=1 name="aw" style="width:100px;" onChange="document.location.href= this.form.aw.options[ this.form.aw.options.selectedIndex ].value"> %TOPICLIST{ " $name " selection="%TOPIC%" marker="selected"}%
↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵
Die Änderungen gegenüber der Aufzählung der Webs sind fett hervorgehoben. Nachdem die Länge der Einträge in der Topic-Liste
292
18 Gestaltung des TWikis
stark variieren kann, ist es sinnvoll, die Breite der Drop-Down-Liste zu beschränken. Daher wurde im <SELECT>-Element ein styleAttribut eingefügt.
18.1.2 Weitergehende Möglichkeiten Sollten Ihnen die bisherigen Möglichkeiten der Anpassung nicht reichen, so bleibt für eine Komplettlösung nur, sich eigene Templates zu schreiben. Diese befinden sich auf dem Server im Verzeichnis twiki/templates. Sie folgen alle der gleichen Namenskonvention:
Templates
skriptname.skinname.tmpl Für Skripte, denen im aktuellen Skin keine Vorlagen zugeordnet wurden, werden Standardtemplates verwendet, so dass Sie nicht zwingend alle Vorlagen erstellen müssen. In den Template-Dateien können Sie ganz normales HTML schreiben, aber auch bestimmte Variablen verwenden. Das System ist in zwei Ebenen unterteilt. Zum einen gibt es das Standard-Template twiki.tmpl. Hier werden Elemente definiert, auf die dann in anderen Vorlagen zurückgegriffen werden kann. Bereits einige dieser vordefinierten Elemente sind in Tab. 18.2 eingetragen: Name sep htmldoctype standardheader simpleheader
Inhalt Element-Trennzeichen. Standardisierter -Bereich. Kopfzeile des Standard-Layouts. Vereinfachte Kopfzeile des StandardLayouts z. B. für Edit- und Attach-Skript. standardfooter Fußzeile des Standard-Layouts. oops Gerüst der Fehleranzeige.
StandardTemplate
Tab. 18.2
Sie binden diese Elemente mit dem Befehl %TMPL:P{"variablenname"}% ein. Wenn Sie ganze ausgelagerte Dateien mit übernehmen wollen, so können Sie dies mit folgendem Code tun: %TMPL:INCLUDE{"dateiname"}%
18.1 Das Erscheinungsbild gestalten
293
Die Erweiterung .tmpl kann weggelassen werden. Wie bei den anderen Templates wird das Standard-Mastertemplate ersetzt, wenn es eine zum Skin passende Datei twiki.[skinname].tmpl gibt. In dieser „Urvorlage“ haben Sie selbstverständlich auch die Möglichkeit, eigene Elemente zu definieren: %TMPL:DEF{"elementname"}% elementtext %TMPL:END% SkriptTemplates
Die zweite Ebene ist die der konkreten Skripte. Diese bestimmen letztendlich, welcher HTML-Code ausgegeben wird. Um die Elemente aus der Mastervorlage verwenden zu können, müssen Sie diese mit %TMPL:INCLUDE{"TWiki"}% einbinden. Es reicht, wenn Sie als Dateinamen „TWiki“ angeben. Die jeweilige SkinVersion wird automatisch gesucht. Tipp: Wenn Sie in den Skript-Templates eigene Elemente definieren, können Sie in der eingebundenen Mastervorlage darauf verweisen. Dies gibt Ihnen die Möglichkeit, die Urvorlagen zu parametrisieren. Ein Beispiel: In der Standardvorlage wird die Funktionsleiste in die Fußzeile gestellt. Diese ist im Mastertemplate definiert. Die Befehle, die aber dort stehen sollen, werden in der jeweiligen Skriptvorlage als %TMPL:DEF{"topicaction"}% definiert. So kann man für alle Skripte im Prinzip die gleiche Fußzeile verwenden.
Text platzieren
Tab. 18.3
Eine wichtige Frage ist natürlich, wie Sie den eigentlichen Seitentext platzieren. Dieser ist in der Variablen %TEXT% gespeichert. Daneben gibt es noch verschiedene weitere Variablen, die Inhaltsbausteine enthalten. Eine Auswahl ist in Tab. 18.3 aufgezählt: Name %TEXT%
%EDITTOPIC% %REVISIONS% %TOPICPARENT% %PREVIEW BGIMAGE%
294
Inhalt Eigentlicher Inhalt der Seite. Im Edit und Preview-Modus in Rohform. Achtung, das zugehörige Textfeld wird nicht in der Variable mitgeliefert. Edit-Link. Link zu den letzten drei Versionen der Seite. Name des Artikels, von dem aus die Seite erstellt wurde. Pfad zum Hintergrundbild des Vorschaumodus.
18 Gestaltung des TWikis
Beachten Sie, dass nicht alle Variablen immer mit Inhalt gefüllt sind. Wenn Sie sich an die Erstellung eigener Templates machen, sollten Sie immer von der Kopie einer bestehenden Vorlage ausgehen und diese anpassen. So sehen Sie auch, welche Variablen die für Sie nötigen Funktionen enthalten. Zusätzlich zum Quelltext der Seiten speichert das TWiki noch so genannte Metainformation ab. Dabei handelt es sich um Angaben über die Seite selbst, ihre Attachments, die Parent-Seite, eventuelle Verschiebungen und Formulare. Diese werden beim Aufbereiten einer Seite in der Regel nicht mit angezeigt.
Metainformation
Tipp: Sie haben aber die Möglichkeit, sich die Metadaten mit dem Quelltext mit ausgeben zu lassen. Rufen Sie dazu die Seite mit dem URL-Parameter ?raw=debug auf. Die Metainformationen werden in Metavariablen gespeichert. Diese sind in Tab. 18.4 aufgelistet: Name %META {"parent"}%
Inhalt Name der Seite, von der aus die aktuelle erstellt wurde. Im Gegensatz zu %TOPICPARENT% können Sie hier weitere Optionen angeben: dontrecurse=“on“. Es wird jeweils nur der unmittelbare Vorgänger ausgegeben.
Tab. 18.4
nowebhome=“on“. Die WebhomeSeite wird nicht mit ausgegeben. prefix=““ und suffix=““. Text, der vor bzw. nach der Ausgabe angezeigt werden soll. separator=““ Trennzeichen, falls mehrere Vorgänger da sind. %META {"moved"}% %META {"attachments"}%
Wurde die Seite verschoben, so findet sich hier ein Protokoll der Bewegungen. Anzeige der Dateien, die an eine Seite angehängt sind. all=“on“ zeigt auch die versteckten Anhänge.
Diese Variablen können Sie nicht auf normalen Seiten verwenden. In Ihren Vorlagen (z. B. WebLeftBar) sowie in den Templates
18.1 Das Erscheinungsbild gestalten
295
Eigene Parameter
werden sie jedoch nach dem gleichen Prinzip wie alle anderen Variablen verwendet. Sie haben in Templates sogar die Möglichkeit, vier eigene Parameter aus der URL zu übernehmen. Diese müssen in der Adresszeile mit ¶m1 bis 4 übergeben werden und können dann im Skript mit %PARAM1% bis 4 abgerufen werden.
18.2 Plugins und Add-ons
Plugins
Seine besondere Stärke und Flexibilität erreicht das TWiki durch den Einsatz von so genannten Plugins. Das sind kleine Zusatzmodule, die Sie zu Ihrer bestehenden Software installieren können. Ein großer Vorteil ist, dass das Kernwiki relativ schlank ist, was bedeutet, dass es keinen unnötigen Programmcode mit sich herumschleppt. Jeder TWiki-Betreiber kann dann diejenigen Module einbinden, die auch wirklich benötigt werden. Des Weiteren können die Programmierer von Plugins das TWiki einfach und sauber erweitern und an ihre Bedürfnisse anpassen, ohne die Stabilität des Kernwikis zu gefährden. Plugins werden oft aus einer konkreten Notwendigkeit beim Einsatz des TWikis heraus entwickelt, so dass sich hier eine ganze Reihe sehr nützlicher Zusatzfunktionalität findet. Zudem erlauben Plugins, relativ schnell auf neue Entwicklungen zu reagieren, ohne eine komplett neue Version des TWikis herausgeben zu müssen. Es lohnt sich daher, in gewissen Abständen einen Blick auf die Seite http://twiki.org/cgi-bin/view/Plugins zu werfen3. Wie Sie sehen, gibt es dort zwei Arten von Erweiterungen: Addons sind in der Regel unabhängig von der bestehenden Funktionalität und werden als eigenständige Skripte oder kleine Programme ausgeführt. Plugins hingegen erweitern die Möglichkeiten bestehender Skripte, indem sie beispielsweise zusätzliche TWiki-Formatierungselemente ermöglichen. Contributions können Sie nicht direkt verwenden, sie werden von Plugins genutzt. In Tab. 18.5 haben wir eine Liste besonders nützlicher und interessanter Plugins aufgeführt, um Ihnen einen Überblick zu geben, was diese leisten können. Um ein Plugin auf twiki.org zu finden, müssen Sie an jeden Namen noch „Plugin“ anhängen:
3
Die im Buch besprochenen Plugins finden Sie auch auf der CD unter /wikis/twiki/plugins.
296
18 Gestaltung des TWikis
Name Calendar ActionTracker Database TWikiDraw
Funktion Anzeige eines Kalenders und Terminen. Aufgabenverwaltung für eine Projektgruppe. Datenbankzugriff aus dem TWiki heraus. Gemeinsames Erstellen und Bearbeiten von Zeichnungen (benötigt Java). SpreadSheet Tabellenkalkulation im TWiki. SlideShow Präsentationen erstellen und zeigen. Toc Inhaltsverzeichnisse von TWiki-Webs. Pdf Generiert ein PDF-Dokument aus einer TWikiSeite. Comment Anfügen von Kommentaren zu einer Seite, ohne diese erst zu bearbeiten. Peer Erlaubt das Bewerten von Seiten. Poll Umfragen im TWiki durchführen. ProjectPlanner Zeit- und Ablaufplan für Projekte verwalten. SectionalEdit Gezieltes Bearbeiten von Sektionen (vgl. MediaWiki). Session Sessionbasierte Authentifizierung, um den Mechanismus des Browsers zu umgehen. TagMe Social Tagging fürs TWiki
Tab. 18.5
Wie werden diese Plugins nun aufgerufen? Im Prinzip fügen sie einfach neue Variablen zu den bestehenden hinzu. Diese werden in den Topic-Quelltext eingefügt wie ganz normale TWiki-Variablen. In der Standardinstallation sind schon einige mitgeliefert, so dass wir das gleich mal am konkreten Objekt testen können. Die Liste der installierten Plugins finden Sie auf der Seite TWiki.InstalledPlugins. Hier sollten Sie auch das Smilies-Plugin sehen. Bearbeiten Sie eine beliebige Seite und fügen Sie :cool: und :) ein. Sie sehen, dass die Zeichen vom Smilies-Plugin in Smilies umgewandelt wurden. Eine genauere Auflistung der möglichen Grafiken finden Sie auf der Erklärungsseite mit dem Namen TWiki.SmiliesPlugin. So eine Dokumentation wird mit jedem Plugin mitgeliefert und es ist empfehlenswert, sie sich anzusehen, bevor man die Erweiterung einsetzt. Nachdem es eine Vielzahl von Zusatzprogrammen für das TWiki gibt (aktuell über 250), können wir an dieser Stelle natürlich nicht alle einzeln besprechen. Einige werden wir im Abschnitt IV benötigen und dort ausführlicher behandeln. Was hier jedoch im Vordergrund steht,
18.2 Plugins und Add-ons
Installation von Plugins
297
ist der Weg, sich neue Plugins zu installieren. Dies ist relativ einfach. Auf der Überblicksseite http://twiki.org/cgi-bin/view/Plugins/PluginPackage finden Sie die ganze Liste der installierbaren Erweiterungen. Zu jedem davon gibt es ein eigenes Topic. Dort finden Sie die Anleitung zum Plugin, aktuelle Hinweise und vor allem die Installationsanleitung. In der Regel reicht es, sich die Archivdatei, die am Ende des Topics als Anhang beigefügt ist, herunterzuladen und im TWiki-Installationsverzeichnis zu entpacken. Dadurch werden die Dateien automatisch in die richtigen Verzeichnisse kopiert. Vorsichtige Webmaster können die Dateien auch in einem temporären Ordner entpacken. Dort entsteht eine Verzeichnisstruktur, die der im TWikiVerzeichnis gleicht und man weiß, welche Dateien in welches Verzeichnis kopiert werden müssen. Achtung: Einige Plugins müssen zusätzlich auf der Dateiebene konfiguriert werden. Lesen Sie daher aufmerksam die jeweilige Installationsanleitung.
FirefoxExtension
298
Alle Plugins werden automatisch aktiviert, sobald sie installiert sind. Sie können jedoch die Ausführung einer Erweiterung verhindern, indem Sie diese in die Liste der DISABLEDPLUGINS auf TWiki.TWikiPreferences aufnehmen. Für die Installation von Add-ons kann leider kein allgemeingültiges Rezept gegeben werden. Oft sind es einfach Programme, die Sie entweder von Ihrem Computer oder vom Server aus ausführen können. Für einige dieser Programme müssen Sie Java J2EE auf Ihrem Computer installiert haben. Sie können es unter der URL http://java.sun.com herunterladen. Folgen Sie dann den Installationsanweisungen. Ein Add-on möchten wir jedoch herauspicken, da es die Arbeit im TWiki sehr erleichtern kann. Dies ist das FirefoxExtensionAddOn, zu finden unter der URL http://twiki.org/cgi-bin/view/Plugins/FirefoxExtensionAddOn. Wenn Sie Firefox als Browser verwenden, haben Sie damit die Möglichkeit, viele TWiki-Formatierungsbefehle über eine Symbolleiste oder das Kontextmenü einfügen. Sie können die Erweiterung direkt aus dem Firefox heraus von der angegebenen Seite installieren. Daraufhin müssen Sie den Browser neu starten und sollten dann die TWiki-Leiste sehen. Nun können Sie im Editier-Modus entweder formatierten Text einfügen (Tabellen, Bilder, Listen), oder markierten Text formatieren.
18 Gestaltung des TWikis
IV. TWiki als Projektbaukasten
19 Vorüberlegung: Was ist ein Projekt?
Was können Wikis heute zur besseren Organisation von Gruppen beitragen? Nehmen wir an, wir möchten ein Projekt organisieren. Was würde uns ein Wiki bringen? Wie müssten wir damit umgehen? Wir wollen am Beispiel von TWiki zeigen, dass Wikis als integrative Organisations- und Diskussionsmedien im Vergleich zu anderen Systemen (z. B. CMS) zahlreiche Vorteile bieten. Dies ist für Unternehmen ebenso von Interesse, wie für politische, soziale und kulturelle Organisationen. Gleichzeitig möchten wir einige interessante TWiki-Features vorstellen. Mit den Prinzipien des klassischen Projektmanagements und der Wiki-Philosophie treffen zwei gegensätzliche Prinzipien aufeinander: Vorgegebenes Ziel, klare Festlegung der Arbeitsschritte, der Ressourcen und Beteiligten einerseits; selbstbestimmte Zieldefinition, Eigenverantwortung für Arbeitsweise und Arbeitsschritte und offene Anzahl der Beteiligten andererseits. Doch bei genauer Betrachtung zeigen sich viele Berührungspunkte. Es lohnt sich, Erfahrungen des klassischen Projektmanagements für Projekte mit Wikis und Wiki-Philosophie nutzbar zu machen. Die Literatur über Projektmanagement versucht, ein Projekt mit drei Merkmalen zu definieren:1
Projektmanagement
1. Es ist ein einmaliges Ereignis mit einem vorher festgelegten Ergebnis. 2. Es gibt einen vorher festgelegten, terminlichen Anfang und ein vorher festgelegtes Ende des Projekts. 3. Es ist festgelegt, welche Mengen an Personen, Finanzmitteln, Produktionsmitteln und Ausrüstung zur Verfügung stehen.
1
Vgl. z. B. Portny 2001, 26.
20.1 Arbeitsgrundlagen festlegen 19 Vorüberlegung: Was ist ein Projekt?
301
Taylorsche Arbeitsteilung
Projekt als Entwurf
Mit dieser Definition ist jedoch fast alles als Projekt beschreibbar: Ein milliardenschweres Bauprojekt ebenso wie das Umräumen der Möbel im Büro. Die scheinbare Eindeutigkeit führt in der Alltagssprache zur Verwendung des Begriffs für jede beliebige menschliche Handlung. Schließlich beschreibt es nur die Tatsache, dass der Mensch seine Tätigkeit im Kopf vorwegnimmt („plant“), umsetzt und die veränderte Wirklichkeit für das weitere Vorgehen bewertet. Doch die heutige Nutzung des Begriffs kommt nicht von ungefähr. „Egal, wie Ihr Projekt aussieht, Sie definieren es auf der Grundlage immer der gleichen drei Elemente: Output, Start- und Endtermin und Ressourcen“, setzt Portny fest.2 Der Projektbegriff des Projektmanagements steht im Zusammenhang mit dem taylorschen Prinzip der innerbetrieblichen Arbeitsteilung. Dabei werden alle Arbeitsschritte in ihre Einzelteile (im Projektmanagement in „Projekte“ und „Arbeitspakete“) zerlegt und standardisiert. Die einzelnen Arbeitsschritte können dadurch zeitlich umverteilt und der Ressourceneinsatz genauer geplant werden. Die Effizienz und Produktivität der Massenproduktion steigert sich immens. Voraussetzung ist hierbei jedoch die genaue Einhaltung von Zeiten und das weitgehende Ausschalten des Zufalls. Das Projekt und das Personal unterstehen einer zentralen Kontrolle.3 Der Projektbegriff, wie er auch der Wiki-Philosophie zu Grunde liegt, stellt dem die ursprüngliche Bedeutung von „Projekt“ entgegen. Der ältere Begriff „Projekt“ aus dem 17. Jahrhundert, der aus frz. „projet“ hervorging, ist in der Zielsetzung wesentlich offener und weit weniger technokratisch. Er bedeutet soviel wie „entwerfen“, „forttreiben“, „hinaustreiben“, „vorwärtswerfen“ und „vorstrecken.“4 Auch der Wiki-Philosophie geht es um die Reformulierung systematischen Handelns, doch mit der Absicht, vom bloßen Reagieren und Optimieren zum Planen, Ausprobieren und Gestalten zu kommen. Dabei spielen auch Wirtschaftlichkeit und KostenNutzen-Fragen eine Rolle. Aber der Wiki-Philosophie liegt eine Vorstellung von „Menschen in freier Kooperation“ (Christoph Spehr) zu Grunde. Und das bedeutet, sich nicht scheinbaren Systemzwängen auszusetzen, sondern den Aufbau selbstverwalteter Strukturen und eine direkte Kontrolle zentraler Entscheidungen durch die 2
Portny 2001, 27. Der Boom von „Projekten“ in der Arbeitswelt passt in den Umbau der Produktion hin zu einer Flexibilisierung der Beschäftigungsverhältnisse mit dem Ziel der Reduktion der Lohnkosten bei gleichzeitiger Einbindung der unmittelbaren Produzenten mit mehr verantwortlicher Autonomie (Vgl. Candeias 2004, 179). 4 Vgl. Kluge 2002, 722. 3
302
19 Vorüberlegung: Was ist ein Projekt?
Masse der Beteiligten voranzutreiben. Die Beteiligten entscheiden selbst über Ziele, Meilensteine und Deadlines – mit dem Risiko, dass Bereiche nicht bearbeitet werden und der Produktionsprozess weniger direkt verläuft. Entsprechend kommt mit einem Wiki-Projekt durchaus der Wunsch zum Ausdruck, zielgerichtet zu handeln und konkrete Ergebnisse zu erreichen. Doch gleichzeitig soll über den Projektverlauf möglichst demokratisch und ergebnisoffen entschieden werden. Die Wiki-Philosophie fordert Freiräume und die Freiheit, sich für oder gegen die Beteiligung an einem Projekt entscheiden zu können. Die Wiki-Software kann nun in einzelnen Projektphasen (Tab. 19.1) Hilfestellung geben oder ergänzend zu bestehenden Systemen eingesetzt werden. Sie kann aber auch das zentrale Medium sein, um alle Phasen zu managen. Phase 1 Konzept
Ziel
Konkret (Beispiele)
Die Idee wird entwickelt.
2 Abgrenzung Ausarbeitung des Projektplans. 3 Start
Das Team wird zusammengestellt.
4 Durchführung
Die Arbeit wird erledigt.
5 Abschluss
Das Projekt wird abgeschlossen.
Projekt: freies Planen?
Projektphasen
Tab. 19.1
Startgruppe gründen. Ideen sammeln. Projektskizze schreiben. Ziele festlegen. Arbeit planen. Kosten planen. Ablauf planen. Verteilung wichtiger Aufgaben (Admin, Moderation, Finanzen, Öffentlichkeitsarbeit…). Regeln festlegen. Sponsoren anfragen. Werbung machen. Räume belegen. Abrechnungen. Dokumentation. Übergabe an Nachfolgeprojekte. Evaluation.
20.1 Arbeitsgrundlagen 19 Vorüberlegung: Was ist einfestlegen Projekt?
303
Phasenüberschneidung in der WikiPhilosophie
304
Die Phasen sind im herkömmlichen Projektmanagement relativ streng voneinander getrennt. Wendet man dagegen die WikiPhilosophie an, dann gibt es zwischen den Phasen eins und drei und zwischen den Phasen vier und fünf Überlappungen. Die Zusammenstellung des Teams beginnt schon mit der Ideenfindung und der Kreis der Involvierten bleibt nicht statisch, sondern kann und soll größer werden. In der Wiki-Philosophie steht Freiwilligkeit an erster Stelle. Es gilt das „Gesetz der zwei Füße“: Daher können in einem solchen Projekt auch Teammitglieder abspringen. Trotzdem bleibt es sinnvoll, spätestens nach der zweiten Phase Verantwortlichkeiten und klare Regeln festzulegen. Auch gegen Ende des Projekts gibt es Überlappungen. So müssen für die abschließende Dokumentation Materialien nicht mehr zusammengetragen werden, da im Idealfall alle notwendigen Informationen im Wiki-Netz verfügbar sind.
19 Vorüberlegung: Was ist ein Projekt?
20 Konzeptionsphase: Ideen sammeln und Projekt skizzieren
20.1 Arbeitsgrundlagen festlegen Am Anfang eines Projekts steht Ihre Idee oder ein externer Auftrag. Erhalten Sie den Projektauftrag von außen, klären Sie möglichst genau ab, was das Ziel des Projekts ist, welche Erwartungen der Auftraggeber an Sie stellt und warum das Projekt vergeben wurde. Klären Sie auch frühzeitig die zur Verfügung stehenden Ressourcen und seien Sie mutig, einen Auftrag auch abzulehnen, wenn Sie den Eindruck haben, dass die finanzielle oder ideelle Unterstützung nicht gewährleistet ist. Die Möglichkeiten von Wikis möchten wir nun anhand einer Tagungsvorbereitung zeigen. Nehmen wir einfach mal an, unsere Steinzeitmenschen möchten eine Zukunftskonferenz einberufen, um über das Leben im Neolithikum zu beraten. Um die Tagung zu organisieren, will man sich an den allgemeinen Phasen des Projektmanagements (s. Tab. 19.1) anlehnen. Da der Einsatz eines Wikis für den Charakter der Tagung eine Grundsatzentscheidung darstellt, sollte die Gruppe bereits zu Beginn der Konzeptionsphase entscheiden, ob und wieweit sie mit einem Wiki arbeiten möchte. Ausschlusskriterien sind, wenn die Mehrheit der Beteiligten oder Vorgesetzten – etwa der alte Schamane − aus Angst, „die Zügel zu verlieren“, sich nicht auf das Verfahren einlassen und die Ergebnisse nicht mittragen wollen, sie aber wichtig für die Umsetzung der Ergebnisse sind. Entscheidend ist, dass „von unten“ entwickelte Ideen Chancen haben, am Ende im gemeinten Sinne umgesetzt zu werden.
20.1 Arbeitsgrundlagen festlegen
Aufgabenstellung definieren
Beispiel: NeolithikumKongress
Wiki einsetzen?
305
TWiki auswählen
Wiki vorstellen
TWiki vorab aufbereiten
Konstruktive Kritik
306
In der Frage, welchen Wiki-Klon wir verwenden, haben wir uns fürs TWiki entschieden. Unser wichtigstes Kriterium war die Vielfalt der Anwendungsmöglichkeiten. Hier stechen TikiWiki, bitweaver und TWiki heraus. Wie schon im Vorwort erwähnt, stellt TWiki technisch die größere Herausforderung für Admins dar. Wir haben uns hier dennoch dafür entschieden, da dieser Klon der WikiTechnologie verpflichtet bleibt, während TikiWiki das Wiki nur als eine von mehreren Kommunikationsanwendungen enthält. Deswegen sollte unbedingt vor oder gleich zu Beginn der Konzeptionsphase ein eigenes Wiki-Einführungstreffen arrangiert werden. Hier wird in unserem Fall das TWiki vorgestellt und die Beteiligten mit der Wiki-Philosophie vertraut gemacht. Es geht bei diesem Treffen um die Einbindung des Wikis. Weiter dient das Treffen dazu, bestehende Berührungsängste abzubauen und schon einmal mit dem TWiki ganz praktisch zu experimentieren. Dabei kommen natürlich auch die klassischen Fragen zu Wikis – zum Vandalismus etc. – zur Sprache. Es soll deutlich werden, dass das Wiki keine Wundertechnik ist, sich aber der Umstieg lohnen kann, und dass diese Entscheidung bei den Betroffenen liegt. Gerade das TWiki, das in der ausgelieferten Version den Nutzern noch wenig Hilfestellungen gibt, muss aber vorher etwas aufbereitet werden; beispielsweise, indem eine HTML-Startseite Übersicht schafft, einzelne Webs und Seiten angelegt sind und über erste Inhalte verfügen. Weiter sollte die Sandbox aktiviert und die wichtigste Syntax auf einen Blick verfügbar sein. Computer-Kenntnisse können nie als selbstverständlich vorausgesetzt werden, daher empfiehlt es sich auch, offen zu erörtern, was die einzelnen Teilnehmerinnen und Teilnehmer bereits an Erfahrungen mitbringen. Sinnvoll ist, eine Ansprechpartnerin zu bestimmen, die bei einfachen technischen Problemen Hilfestellung leisten kann. Eine Einführungsveranstaltung ist schon deshalb hilfreich, weil einige Menschen davor zurückschrecken, Gedanken schriftlich zu fixieren, den Inhalt zu verdichten und sich der Kritik auszusetzen. Viele ziehen es vor, mündlich zu kommunizieren; zum Beispiel weil sie dann sicher sind, dass die Information auch bei der richtigen Person angekommen ist. Solche Bedürfnisse sind grundsätzlich ernst zu nehmen und können hier entsprechend erörtert werden. Aber auch gegenseitige konstruktive Kritik und partnerschaftliche Diskussion will gelernt sein. Konstruktiv meint nicht konfliktvermeidend und harmoniebetont, sondern Kritik immer mit Vorschlägen für Alternativen zu verbinden. Es handelt sich um eine Haltung des Respekts vor der Arbeit anderer, da diese sich damit auch identifizieren.
20 Konzeptionsphase: Ideen sammeln und Projekt skizzieren
Zurück zu den Jägern und Sammlern. Grundsätzlich müssen sie einige wenige Regeln für den Umgang miteinander festlegen. Sie sollte auf jeden Fall überlegen:
Regeln festlegen
Gibt es einen Überprüfungsmechanismus, wenn z. B. der Zeitplan an einer Stelle in Verzug gerät, weil bestimmte Inhalte nicht erstellt werden? Wer ist zuständig? Es muss festgelegt werden, wie und nach welchen Regeln das Projekt moderiert werden soll. Welche Verfahren gibt es zur Bewältigung interner Konflikte? Wie regelt man das Machtgefälle von Admins, Maintainern und Moderatoren zu den normalen Benutzern? Wie wird man z. B. Admin? Auf jeden Fall sollte eine eigene Seite eingerichtet werden, die für derartige Diskussionen offen steht. Um zu verhindern, dass jemand das Projekt blockieren kann, sollte automatisch in bestimmten Abständen eine Sicherungskopie auf einen neutralen Server abgelegt werden. Zudem bedarf es mindestens einer weiteren Person, die mit der Technik vertraut ist und volle Zugangsrechte besitzt. Die Einrichtung zentraler Anlaufpunkte wurde schon angesprochen. Dazu gehört auch eine Seite „Aktuelles“ oder „Konventionen“. Tipp: Setzen Sie zu Beginn keine zu großen Erwartungen in Wikis. Nicht alles „funktioniert“ sofort. Vergessen Sie nie, dass Sie es bei aller Spontaneität mit Gruppen- und längerfristigen Lernprozessen zu tun haben. Assoziatives Denken, kreatives Aufgreifen von Ideen und kooperatives Arbeiten sind in unserer Gesellschaftsform nicht verbreitet. Einblick und Verständnis in Organisationsfragen ebenso wenig.
20.2 Kooperativ Ideen sammeln und Projektskizze verfassen Die Jäger und Sammler müssen zunächst Ideen sammeln und schließlich ein Konzeptpapier (Projektskizze) formulieren. Es gibt schon zahlreiche Vorschläge. Ein möglicher Titel wäre „Raus aus der Höhle. Zukunftsperspektiven im Neolithikum.“ Die Vorteile des Sesshaft-Werdens könnten thematisiert werden, oder neue Techniken des Querfeldeinpflügens. Workshops zu Bandkeramiktöpfern sollen die Konferenz auch kulturell abrunden.
20.2 Kooperativ Ideen sammeln und Projektskizze verfassen
Projektskizze
307
Das Konzeptpapier beschreibt Anfang und Ende, den Titel, Ziel und möglichen Inhalt der Konferenz. Die Konkretisierung und Komprimierung der Ideen soll für uns selbst mehr Klarheit schaffen und das Papier kann Sponsoren zur Entscheidung vorgelegt werden. Schon hier kann man zwei Vorteile des Wikis nutzen. Auch zwischen den einzelnen Treffen können weiter Ideen für das Papier gesammelt werden. Diese werden unmittelbar eingearbeitet und sind für alle Beteiligten sofort online verfügbar. Das Papier kann kooperativ weiterentwickelt werden. Das kooperative Schreiben wird auch später bei den Organisationsplänen, Anträgen, Zielbeschreibungen, Aufgabenplanungen und Einladungstexten angewendet. Ideen sammeln
Brainstorming
Jetzt können wir bereits für das nächste Treffen auf einer Wiki-Seite Ideen sammeln oder Erwartungen abfragen, um diese auf einer neuen Seite in einem Text zusammenzufassen. Das Einbinden der Betroffenen in den Formulierungsprozess eröffnet die Chance, dass Konzeptpapiere auch gelesen und Absprachen von allen besser verstanden und akzeptiert werden. Die Änderungen können sehr unterschiedlich sein und kleinere Tipp- und Grammatikfehler, aber auch ganze Passagen betreffen. Wikis können auch als private Notizzettel dienen, auf dem in unregelmäßigen Abständen Eindrücke, Ideensplitter, Hinweise, Fragen etc. notiert werden. Die Hypertextstruktur kann dabei ansatzweise vernetztes Denken widerspiegeln und fördern. Sie können das Wiki aber auch für kooperative Schreibformen nutzen; zum Beispiel für ein gemeinsames Brainstorming und andere spielerische Formen der Ideensammlung. Eine bekannte Variante ist: Der erste schreibt einen Satz, ein anderer schreibt möglichst spontan einen anderen dazu etc. Beim Brainstorming sind für die Ideenfindung auch „phantastische“ oder „irreale“ Ideen erwünscht, damit die Beteiligten angestiftet werden, gewohnte Denkroutinen zu verlassen und ihre Gedanken neu zu kombinieren. „Essen, das nicht davonläuft“, war möglicherweise eine dieser „irrealen“ Ideen vor dem Übergang zum Neolithikum. Erst wenn sie geäußert werden, Reibungsfläche bieten oder Widerspruch hervorrufen, können sie von anderen aufgegriffen und umgearbeitet werden.5 Wir führen solche allgemeinen Überlegungen soweit aus, weil sie erfahrungsgemäß sehr wichtig sind und im Alltag schnell unberücksichtigt bleiben. Viele Wiki-Projekte scheitern 5
Nicht auszuschließen, dass der Gedanke nur eine Weiterentwicklung des Wunsches nach Essen war, das nicht zurückbeißt.
308
20 Konzeptionsphase: Ideen sammeln und Projekt skizzieren
eben nicht an den technischen Problemen, sondern an den Kommunikationsformen. Genauer: am Nicht-Kommunizieren. Gefragt ist also kooperatives und assoziatives Denken. Anfängliche Unschärfen sind dabei kein Hindernis. Ganz im Gegenteil: Selbst wenn man eine Auffassung nicht teilt, kann ein wichtiger Gedankenanstoß davon ausgehen, da bisher Missachtetes ins Zentrum rückt. Dazu bedarf es einer Haltung, die danach fragt, was das Gegenüber wirklich hat sagen wollen. Eine lockere Atmosphäre führt dazu, dass auch Ungewöhnliches, noch nicht zu Ende Gedachtes geäußert wird, das Ausgangspunkt für neue Kombinationen oder auch „Kritik“ sein kann. Kooperatives Schreiben verlangt gelegentlich Spontaneität und Kreativität. Es ist ein gestalterischer Prozess, der in den beiden Hemisphären des Gehirns Interaktionen von rationalem Denken und emotionalem Empfinden auslöst. Viele Menschen halten sich grundsätzlich nicht für kreative und kooperative Schreibformen nicht für „ihr Ding“. Dabei wird übersehen, dass Menschen grundsätzlich nicht anders als assoziativ denken können. So ist auch jeder in irgendeinem Bereich kreativ: beim Gartenbau, beim Musikmixen oder auch in der Destruktion (zum Beispiel manche Wiki-„Motten“). In der Kreativitätsforschung und in der Pädagogik hat sich mittlerweile die Erkenntnis durchgesetzt, dass Kreativität erlernt wird und beispielsweise mit Kombinatorikspielen und Mindmaps gefördert werden kann. Schreiben hat immer auch eine psychosoziale Komponente. Hierzu nur drei Hinweise:
Gedanken aufgreifen und neu kombinieren
Kreativität ist lernbar
Blockaden
1. Individuen geht es nicht zuletzt um Beachtung von anderen. Die Tatsache, dass die eigenen Ideen wahrgenommen und diskutiert werden, spielt eine wichtige Rolle für Interaktivität, Dynamik, Kreativität und Motivation. Deswegen wird in zahlreichen Managementratgebern das berühmte Schulterklopfen empfohlen, um die Beschäftigten mehr oder weniger zu manipulieren. Geht es um Kooperation und Kreativität, so ist nicht nur offene, zielführende Kritik notwendig, sondern auch ehrliche Aussagen, was einem gefallen oder weitergeholfen hat. 2. Kreativitätshemmend wirkt ein feindseliges Klima, in dem man Angst vor Blamage hat. Offenes assoziatives Denken in einer Gruppe wird zudem von sozialen Blockaden unterbunden. Die Höhlenmalerin Hanna wird sich überlegen, was sie sagt, wenn sich ihr Lehrer, oder der Vorsteher der Kultgemeinde in Hörweite befindet – und umgekehrt.
20.2 Kooperativ Ideen sammeln und Projektskizze verfassen
309
3. Schreibstörungen hat jeder. Die Vorstellung, dass ein Text erst fertig sein muss, bevor er veröffentlicht wird, lähmt. Hier kann es hilfreich sein, möglichst früh mit dem Schreiben und erst einmal mit kleinen Beiträgen zu beginnen. Die Wiki-Philosophie geht davon aus, dass anzufangen wichtiger ist als auf die perfekte Fassung zu warten.6 „Ignoriere alle Regeln“, fordert Wikipedia neue Autoren auf, um deutlich zu machen, dass sie vor dem Berg der mittlerweile erarbeiteten Konventionen nicht zurückschrecken, sondern Texte auch möglichst schnell zum Weiterarbeiten aus der Hand geben sollten. Visualisierung
Einschränkend muss gesagt werden, dass Computer nicht die besten Werkzeuge für kreative Prozesse sind, da sie technisch durchaus Handlungsmuster vorgeben und Grenzen setzen. Bestehende Freiräume zur Gestaltung bei kreativen Prozessen sollten Sie dennoch nutzen. Die Gestaltungsformen können gerade bei der Ideenfindung sehr unterschiedlich sein und den klassischen Aufbau bewusst sprengen, etwa wenn auch Bilder eingebunden werden, weil Kollegen ihre Ideen und Utopie über Bilder oder andere Datenformate vermitteln. Fügen Sie also Bilder und Grafiken ein und übertragen Sie Skizzen und Mindmaps aus Teamsitzungen, sofern sie ihre Ideen konkretisieren. Bevor Sie nun aber loslegen und zahllose Bilder in die Seite integrieren, sollten Sie sich immer wieder fragen, ob die Visualisierung wirklich passt und welche Funktion sie erfüllen soll. Zu viele Bilder können bekanntlich auch erschlagen.
20.3 Protokollieren mit Wikis Protokollieren mit Wiki
Auf kooperative Weise können nun alle möglichen Textsorten entstehen: Projektskizzen, Einladungstexte, Klappentexte oder Berichte. Eine wichtige Rolle bei Projekten spielen natürlich Protokolle. Nach dem Treffen können die Protokolle der Arbeitssitzungen im Wiki hinterlegt werden. Entweder als Datei zum Download, noch besser aber als normale Texte. Wikis bieten hier den Vorteil, dass Änderungen nachträglich noch eingefügt werden können. Die Teammitglieder haben noch einmal eine Woche Zeit, um nachzudenken. Wurde beispielsweise vereinbart, dass die Gruppe „Finanzen“ den Kostenvoranschlag des Höhlenbetreibers noch nachliefert, gibt sie dies direkt ins Wiki auf einer 6
Erinnert sei auch an Linus Torvalds Methode, früh und häufig Code freizugeben.
310
20 Konzeptionsphase: Ideen sammeln und Projekt skizzieren
eigenen Seite ein. Ebenso können ungenaue Formulierungen nachgebessert oder noch bestehende Unklarheiten anhand des allen vorliegenden Textes verhandelt werden. Die Diskussion darüber kann frühzeitig Missverständnisse aus dem Weg räumen, die sonst erst während der Durchführung des Projekts auftreten und den Erfolg gefährden können. Dabei kann es sinnvoll sein, Neueinträge farblich zu kennzeichnen und die Projektleitung gegebenenfalls gesondert zu informieren. Natürlich können die Sitzungsprotokolle schon während der Sitzung in das Wiki eingegeben werden, sofern die technischen Voraussetzungen gegeben sind. Ein Beamer würde zudem eine Visualisierung gestatten. Erfahrungen aus Moderation und Dozententätigkeit legen nahe, darauf zu verzichten. Erstens setzt dies bereits einen geübten Umgang mit dem TWiki durch den Protokollanten voraus. Technikprobleme können schnell den Diskussionsfluss unterbrechen und Spontaneität, produktive Stimmung und den inhaltlichen Zusammenhang zerreißen. Zweitens verstecken sich Protokollanten hinter ihren Laptops und ziehen sich damit umso leichter aus der Diskussion heraus. Dies wird von anderen Diskussionsteilnehmern schnell als Respektlosigkeit interpretiert, da man nicht sicher ist, ob die Person noch an der Diskussion beteiligt ist. Drittens darf man nicht die Macht des Formulierens vergessen. Sofern mehr als nur die harten Fakten notiert werden, hat dies großen Einfluss auf den Diskussionsverlauf und die Gedankenführung. Im Gegensatz zu anderen Moderationstechniken können die übrigen Teilnehmer die Visualisierung nicht direkt beeinflussen. Einzelne Teilnehmer werden durch Protokollanten auch schnell verunsichert. Viertens sind Wikis ohne WYSIWYG-System für solche Beamer-Präsentationen ungeeignet.7
Während der Treffen
7
Für Präsentationen gibt es ein sehr brauchbares SlideShowPlugin. Siehe Kap. 23.3
20.3 Protokollieren mit Wikis
311
21 Ausarbeitung des Projektplans
21.1 Arbeitspakete schnüren Haben sich die Initiatoren der Konferenz „Raus aus der Höhle“ mit Freunden, Kollegen und Stakeholdern grundsätzlich über die Durchführung des Projekts verständigt, geht es endlich an die konkrete Einzelplanung. Im klassischen Projektmanagement wird im nächsten Arbeitsschritt erst einmal die Projektstruktur entwickelt: In den Planungssitzungen werden die einzelnen Aufgaben benannt, in Teilaufgaben und Einzelschritte (Arbeitspakete) unterteilt (vgl. Abb. 21.1 und Abb. 21.2). Diese detaillierte und hierarchische Aufteilung hilft anschließend bei der Einschätzung, wie viel Zeit für die einzelnen Projektschritte benötigt wird und wann welche Tätigkeiten erledigt werden müssen. So werden die Organisatoren gezwungen, ein klares Bild vom Gesamtprojekt zu entwickeln.8 Unsere Jäger und Sammler definieren zunächst sehr grob, welche Teilaufgaben sie im Verlauf des gesamten Projekts abarbeiten müssen. Ihr Strukturplan für die Konferenz sieht so aus:
Projektstrukturplan
8
Hilfe und Anregungen zur Planung von Arbeitsschritten finden Sie in der jeweiligen Fachliteratur, z. B. Portny 2001, 69-91.
21.1 Arbeitspakete schnüren
313
Abb. 21.1
Formulare für Arbeitspakete
Anhand des Projektstrukturplans wird anschließend das Projekt Schritt für Schritt durchgedacht und alle notwendigen Arbeitsschritte im Detail notiert. Die Teilaufgaben werden weiter in Einzelaufgaben, in die so genannten Arbeitspakete, unterteilt:
Abb. 21.2
314
21 Ausarbeitung des Projektplans
Am Ende haben sie mit den Arbeitspaketen kleine zu bearbeitende Einzelschritte für die gesamte Konferenz. Um sich die Arbeit zu erleichtern, haben sie vorher ganz einfache Formulare entworfen und kopiert. Je ein Formular pro Arbeitspaket. In diese schreiben sie nun
Formulare
die genaue Tätigkeitsbeschreibung, welche Arbeitsergebnisse aus anderen Tätigkeiten notwendig sind, die betreffende Aufgabe auszuführen (Inputs), Produkte und Ergebnisse, die mit dieser Teilaufgabe produziert werden (Outputs), Rollen und Verantwortlichkeiten für das Paket, der Zeitrahmen der Einzelaufgabe und die benötigten Ressourcen. Häufig werden auch die unmittelbaren Vorgänger und Nachfolger des jeweiligen Vorgangs notiert. Die Papierformulare eignen sich gut, um sie an einer Wand zu sortieren um daraus jeweils Ablauf-, Termin- und Finanzpläne zu entwickeln. Aus diesen Formularen lassen sich viele Informationen filtern: die Gesamtkosten, der Materialbedarf, der zeitliche Ablauf etc. Nun kommt wieder das TWiki zum Einsatz. Als Erstes übertragen die Jäger und Sammler die Arbeitspakete in eine detaillierte To-doListe, die im Wiki für alle in die Organisation Involvierten einzusehen ist. Die betroffenen Gruppen können dort den Stand der jeweiligen Teilaufgabe notieren. Damit gibt es einen aktuellen Bericht über den Stand des Projekts. Die Gruppe muss klären, wie detailliert diese Liste sein soll. Bewährt hat sich eine abgestufte Gliederung. Eine Nummerierung kann hilfreich sein, um bei Absprachen exakt zu bestimmen, über welches Arbeitspaket gesprochen wird. Es kann sein, dass sowohl die Werbegruppe, als auch die Inhaltgruppe ein Arbeitspaket „Emails verschicken“ hat.
To-do-Liste
Hinweis: Diese Nummern müssen fest vergeben sein und dürfen daher nicht mit der Funktion nummerierte Liste generiert werden. Am besten richten wir eine eigene Wiki-Seite ein, auf der die Projektnummern übersichtlich verzeichnet sind. Sie könnte in etwa so aussehen:
21.1 Arbeitspakete schnüren
Projektnummernverzeichnis
315
Abb. 21.3
RenderListPlugin
Bei dieser Liste kommt uns das RenderList-Plugin zugute, auf das wir allerdings nur kurz eingehen werden. Das Plugin, das bereits vorinstalliert sein sollte, ermöglicht es, Listen mit bereits vorgefertigten aber auch mit eigenen Icons zu formatieren. Wir haben hier das Standardformat thread gewählt, das wir in der Variablen %RENDERLIST% angeben. Unsere Liste sieht in der Code-Ansicht folgendermaßen aus: %RENDERLIST{"thread"}% B.3.1 Einladung * B.3.1.1 Emails schicken * B.3.1.2 Boten aussenden * B.3.1.3 Höhlen plakatieren * B.3.1.3.1 Text entwickeln * B.3.1.3.2 Kostenvoranschlag einholen * B.3.1.3.3 Plakathelfer anwerben * B.3.1.3.4 Plakate bemalen * B.3.1.3.5 Plakatieren * B.3.1.4 Anzeigen schalten * ... Ab Version 4.0 des TWikis müssen Sie das Plugin auf der Konfigurationsseite unter Plugins aktivieren.
316
21 Ausarbeitung des Projektplans
21.2 Der Projektablaufplan Nun geht es um die Terminplanung. Der Projektstrukturplan gibt uns lediglich eine von der Zeitplanung unabhängige Sicht auf das Projekt. Die Terminplanung ist prinzipiell ein komplexes Unterfangen. Es geht um die Einschätzung der Dauer von Vorgängen und die Reihenfolge der Ereignisse. Die Jäger und Sammler möchten nun die Einzelschritte nicht der Reihe nach abarbeiten. Vielmehr wird überlegt, Aufgaben zeitlich so zu legen, dass Überlastungen vermieden und Leerlaufphasen besser genutzt werden können. Dies ist in der Wiki-Philosophie kein Thema, da hier das Prinzip der Selbstorganisation mobilisierter Gruppen betroffen wäre. Die Jäger und Sammler müssen wieder einmal selbst entscheiden, wie sie weitermachen wollen.
Projektablaufplan
Hinweis: Ein klassischer Fehler ist, dass Projektterminpläne „von hinten“ gerechnet werden und dabei der reale Zeitaufwand oder Ressourcenbedarf falsch eingeschätzt wird. Die Terminpläne werden dann schön gerechnet, anstatt die Projekte zu modifizieren. Lassen Sie sich nicht dazu verführen, den Zeitplan nach dieser „Backing in“-Methode zu entwickeln. Verzichten Sie lieber auf Projektinhalte, da Projekte ohnehin dazu tendieren, zu viele Erwartungen auf einmal erfüllen zu müssen. In unserem Fall wird nun mit einem Balkendiagramm die Zeitplanung visualisiert. Das Balkendiagramm ordnet alle Elemente in ihrer zeitlichen Abfolge über eine Zeitachse, so dass Dauer und Zeitdifferenzen ebenfalls grafisch dargestellt werden. Es sind dieselben Grafiken, wie sie auch bei der Urlaubsplanung im Betrieb verbreitet sind. Leider bietet uns TWiki bislang keine Lösung, um ein solches in der Gruppensitzung erarbeitetes Balkendiagramm auf der Basis des Wiki-Prinzips zu realisieren. Wir könnten es nur in einem anderen Programm nachzeichnen und als fertige Grafik in das Wiki-System laden. Es ist dann über das TWiki nicht veränderbar. Generell werden in Wikis Grafiken und Bilder zur Visualisierung noch zurückhaltend eingesetzt. Der Einbau vorhandener Grafiken ist sinnvoll, um auch die rechte Gehirnhälfte, die für das bildlichräumliche Denken zuständig ist, anzusprechen. Bilder lassen sich schnell rezipieren, wecken Neugier und können die Anschaulichkeit verbessern. In Kombination mit dem Text können sie neue Ideen fördern. Unsere Gruppe bindet zum Beispiel Bilder vom geplanten Ver-
21.2 Der Projektablaufplan
Balkendiagramm
Grafiken einbinden
317
anstaltungsort ein. Auf ihrem Wiki finden sich auch Statistiken. Denkbar ist zudem, dass erarbeitete Ablaufpläne, Workflows oder Mindmaps ins Wiki übertragen werden. Im klassischen Projektmanagement haben sich beispielsweise Vorgangsknotennetzpläne bewährt, um Arbeitspakete mit ihren Abhängigkeiten darzustellen (vgl. Abb. 21.4).9 Wie Sie diese Grafiken direkt im TWiki zeichnen können, wird im nächsten Abschnitt anhand eines Organigramms erläutert. Abb. 21.4
KalenderFunktion
Ebenso bietet weder das MediaWiki noch das TWiki eine hinreichende Kalenderfunktion, in die sich die Zeitplanung übertragen lässt und die von den Arbeitsgruppen selbständig genutzt werden kann. Zwar hat das TWiki ein Kalender-Plugin, der Aufwand der Installation lohnt bei der gebotenen Funktionalität nicht. Deswegen ist man auch hier noch auf andere Programme angewiesen.
9
Dort wird u. a. mit Vorgangsknotennetzplänen eine Projekt-Strategie entwickelt („Netzplantechnik“). Dies sind graphische oder tabellarische Darstellungen von Abläufen und deren Abhängigkeiten. Darauf kann hier nicht näher eingegangen werden. Die Abbildung deutet das Verfahren nur an.
318
21 Ausarbeitung des Projektplans
21.3 Aufgaben verteilen und Gruppen bilden Im nächsten Schritt übernehmen die Beteiligten unterschiedliche Aufgaben (Arbeitspakete) und bilden ggf. Arbeitsgruppen. Weiter ist es sinnvoll, Verantwortliche für Teilaufgaben zu benennen (Finanzen, Technik, Catering, Rahmenprogramm, Inhalt…), die bei Stockungen koordinieren helfen, Fachwissen einbringen und das Gesamtprojekt im Auge behalten. Hier gibt es die unterschiedlichsten Modelle. Die Verantwortung für Teilaufgaben kann, wie auch die Moderation, im Verlauf des Projekts wechseln. Wichtig ist, dass zu bestimmten Zeiten die Verantwortlichkeiten immer wieder festgelegt werden – wie in jedem demokratischen System.10 Am Ende müssen alle Aufgaben und Zuständigkeiten klar verteilt sein, damit das Projekt mit Aussicht auf Erfolg starten kann. Manche Vertreter von Selbstorganisationsprozessen erheben hier wahrscheinlich Einspruch. Sie machen die Übernahme von Aufgaben vom Interesse, der „Leidenschaft“ und Selbstmotivation der Beteiligten abhängig. Bei dieser Herangehensweise werden nichtübernommene Aufgaben auch nicht zugewiesen. Zwar gibt es das Prinzip von Linus Torvalds „delegiere alles, was sich delegieren lässt“, doch liegt hier explizit der Akzent auf der freiwilligen Übernahme der Aufgabe. Pekka Himanen schlägt in dieselbe Kerbe, wenn er die These aufstellt, dass die Hacker-Ethik eine neue Arbeitsethik sei, die er als Gegenentwurf zur „protestantischen Arbeitsethik“ Max Webers begreift.11 Entsprechend werden in selbstorganisierten Zusammenhängen nur die Aufgaben erfüllt, die auch jemand umsetzen will. So kann es sein, dass Teilaufgaben zunächst liegen bleiben. Linux war lange ein weitgehend abgeschottetes Expertensystem, weil die Bedürfnisse der „normalen“ Nutzer völlig unberücksichtigt blieben. Die Open-Source-Gemeinde verweist auf die Erfolge dieser Herangehensweise, da letztlich doch alle zentralen Teilaufgaben gelöst wurden. Wir können an dieser Stelle nicht die Vorzüge und Problematik von Selbstorganisationsprozessen entfalten. Die Gruppe muss im Einzelfall entscheiden, nach welchen Prinzipien Arbeiten und Teilaufgaben verteilt werden sollen. Offenkundig ist, dass unsere Konferenz nicht stattfinden kann, wenn zentrale Aufgaben nicht terminge-
Aufgaben verteilen und Gruppen bilden
Aufgaben delegieren?
10
In selbstorganisierenden Systemen entsteht „Hierarchie“ durch Autorität, die man sich erarbeitet oder es werden Verantwortliche gewählt. 11 Vgl. Himanen 2001, der die Motivation bei Hackern und in freien Softwareprojekten umfassend erläutert.
21.3 Aufgaben verteilen und Gruppen bilden
319
Gruppen-Webs einrichten
recht erledigt werden. Das Ideal der selbstbestimmten Zeit muss dem nicht widersprechen.12 Aber es macht natürlich einen Unterschied, wer die Ziele definiert. Es gibt also auch in selbstorganisierten Projekten ein vieldiskutiertes „Sachzwang“-Problem und Routinearbeiten, die nicht mit Anerkennung verbunden sind. Und es gibt auch hier „Termine“ – wenngleich sie aus anderen Gründen zustande kommen.13 Im TWiki können nun den Arbeitsgruppen, wie oben beschrieben, eigene Webs zur Verfügung gestellt werden, die sie unabhängig von den anderen Gruppen gestalten können. Nehmen wir in unserem Fall ein paar Veranstalter der neolithischen Zukunftskonferenz. Hat sich beispielsweise Wolfgang für das Wasser holen gemeldet, Dieter bereit erklärt, die Mammuts zu fangen und Lea sich für die Bratenspieße verantwortlich gezeigt, können sie sich in einer Arbeitsgruppe „Catering“ zusammenschließen und bekommen auf Wunsch ein eigenes Web, in dem sie ohne Rücksicht auf andere entsprechend ihrem Arbeitsstil und den Anforderungen, ihre Dateistruktur entwickeln können. Zu unterscheiden sind zwei unterschiedliche Arten von Webs: Funktionswebs, z. B. eigene Webs für Anmeldung Gruppenwebs, z. B. Web für die Arbeitsgruppe „Catering“
Rechtevergabe
Während Funktionswebs für alle zugänglich gemacht werden, sofern dies aus Datenschutzgründen möglich ist, sind Gruppenwebs tendenziell nur für deren Mitglieder zugänglich. Klassische Content-Management-Systeme bieten eine sehr detaillierte Rechteverwaltung. Die Rechte werden hier oft an bestehende Funktionen und Hierarchien des Betriebs gebunden. Entsprechend der ursprünglichen Intention kannten die ersten Wikis keine Nutzerverwaltung. Mittlerweile bieten neuere Wiki-Klone Möglichkeiten zur differenzierten Vergabe von Benutzerrechten. Das kann sinnvoll 12
Ob der Artikel „Hacker-Ethik“ heute im Netz erscheint oder in einem Monat, ist ja auch weniger problematisch, als die regelmäßige Versorgung mit Grundnahrungsmitteln („Brötchenfrage“). 13 Vor der Gefahr, romantisch in vorkapitalistische Gesellschaftsutopien zurückzufallen, sei gewarnt. Ausdifferenzierte Arbeitsteilung und systematische Projektkoordination führt nicht automatisch zu Einschränkung der menschlichen Selbstbestimmung oder Entfremdung wie Marx sie verstand, wenn er kritisierte, dass sich vom Menschen geschaffene Verhältnisse über diesen erheben. Genau genommen liefert Arbeitsteilung überhaupt erst die Voraussetzung für Selbstbestimmung.
320
21 Ausarbeitung des Projektplans
sein, da nicht jeder Notizzettel weböffentlich sein muss, oder private Daten geschützt werden müssen. Die Hackerethik hat es so formuliert: Informationen sollten frei sein, aber Persönlichkeitsrechte und private Daten sind zu schützen. Beim Einrichten von Benutzerrechten sollte deren Wirkungsweise berücksichtigt werden: Nutzerrechte können wie ein Türsteher als Zugangshürde verstanden werden. Für andere wiederum ist der Schritt sich anzumelden, auch ein Moment der bewussten Entscheidung für eine aktive Teilnahme an einem Arbeits- und Diskussionszusammenhang. Räume, die einmal geschlossen sind, werden selten wieder geöffnet. Erfahrungsgemäß verlagern sich Diskussionen in die abgeschlossenen Listen und die offenen Listen verlieren an Bedeutung. Auf jeden Fall sollte das Vier-Augen-Prinzip gelten und ein Web nicht nur einem einzigen Admin zugänglich sein. Unterstützer, Beobachter, Helfer und Betroffene des Projekts sollten in einem WikiProjekt so weit wie möglich einbezogen werden.
21.4 Strukturen und Abläufe skizzieren mit dem Zeichen-Plugin (TWikiDraw-Plugin) Auch oder gerade in sehr dynamischen, selbstorganisierten Projekten ist es notwendig, Ansprechpartner und Kontaktpersonen für bestimmte Bereiche zu benennen, damit sich die Gruppen untereinander absprechen können. Wir möchten das Sinnvolle mit dem Nützlichen kombinieren und bei dieser Gelegenheit auf ein einfach zu bedienendes Tool verweisen: das TWikiDraw-Plugin. Mit ihm lassen sich zum Beispiel Strukturen und Abläufe visualisieren. Zu denken ist dabei vielleicht an Workflows oder an Organigramme. Das Plugin basiert auf einem Java-Applet, das von Peter Thoeny aus dem Original JhotDraw entwickelt wurde. Damit können Sie ähnlich wie in MS Powerpoint und MS Word auf einer Zeichenfläche vorgefertigte Linien, Formen und Text platzieren und diese mit Links zu Seiten innerhalb oder außerhalb des TWikis versehen. Zunächst sollten Sie das Plugin installieren, da es nicht standardmäßig im TWiki enthalten ist (s. Abschnitt III.7.3). Wieder müssen Sie das Plugin ab Version 4.0 auf der Konfigurationsseite unter Plugins aktivieren. Wenn Sie die Dateien in die richtigen Ordner ge-
21.4 Strukturen und Abläufe skizzieren mit dem Zeichen-Plugin (TWikiDraw-Plugin)
Organigramm
Funktionsweise
321
schoben haben, wird das Plugin im TWiki-Web an drei Stellen sichtbar: auf der Webhome-Seite unter „User’s Guide“ auf der Seite InstalledPlugins als neues Topic TWikiDrawPlugin. Auf der Seite des Plugins können Sie das Zeichenprogramm testen und – falls gewünscht – andere Einstellungen (s. u.) vornehmen. Syntax
Um nun in einer anderen Seite zeichnen zu können, binden Sie einfach die Variable %DRAWING% an der entsprechenden Stelle des Quelltextes ein. Mit dem Attribut name geben Sie der Zeichnung einen Namen, der jedoch keinen CamelCase enthalten muss, z. B. %DRAWING{name="Zeichnung_eins"}%
Starten
Wenn auf der Seite nur eine einzige Zeichnung geplant ist, genügt die einfache Nennung der Variablen < %DRAWING%. In der Seitenansicht sollte nun folgender Schalter zu sehen sein:
Abb. 21.5
Wenn Sie diesen betätigen, öffnet sich eine Zeichenfläche mit den Werkzeugen, die Sie benötigen, um Ihre Zeichnung zu bearbeiten: Abb. 21.6
Beenden
322
Um das Zeichenprogramm wieder zu verlassen und zur Seite zurückzukehren, betätigen Sie im Menü Drawing entweder Exit wi-
21 Ausarbeitung des Projektplans
thout Saving oder Save and Exit, je nachdem, ob Sie Ihre Arbeit speichern wollen, oder nicht. Die Zeichnung befindet sich nun im Anhang und wird in einem Rahmen in die Seite eingefügt. Wenn Sie sie verändern und dazu das Zeichenprogramm aktivieren wollen, klicken Sie auf die Zeichnung. Für den Fall, dass sich in der Zeichnung Links befinden, die Sie aus Versehen aktivieren könnten, ist es empfehlenswert, auf den Rahmen der Zeichnung oder den EditButton zu klicken. Hinweis: Es befindet sich zwar das gewohnte X-Icon an der rechten oberen Ecke des Fensters, das Fenster können Sie damit allerdings nicht schließen. Dazu müssen Sie auf die Optionen im Menü zugreifen.
21.5 Die Werkzeuge Auf der Oberfläche befindet sich links eine Toolleiste, die Ihnen folgende Funktionen zur Verfügung stellt: Icon
Funktion Selektiert, bewegt und ändert das gewählte Objekt.
Tab. 21.1
Fügt Text ein. Fügt Text ein und verbindet diesen mit dem Objekt. Zeichnet ein Rechteck. Zeichnet ein Rechteck mit abgerundeten Ecken. Zeichnet eine Ellipse. Zeichnet eine Linie. Zieht eine Verbindung zwischen zwei Objekten. Zieht eine Verbindung, aber mit Stufen (Mit linker Maustaste gedrückt Cursor von ersten zum zweiten Element schieben). Zeichnet ein Polygon, mit Mausklicks werden die Ecken erzeugt. Ermöglicht Freihandzeichnen.
21.5 Die Werkzeuge
323
Tab. 21.1 (Fortsetzung)
Icon
Funktion Dekoriert die selektierten Objekte mit einem Rahmen. Verlinkt das gewählte Objekt.
Hot Spots
Die zuletzt genannte Funktion in der Tabelle ist ein wenig erklärungsbedürftig. Um ein Objekt wie z. B. einen Kreis zu einem so genannten Hot Spot zu machen, d. h. den Kreis zu verlinken, klicken Sie auf das URL-Icon in der Werkzeugleiste und markieren dann das gewünschte Objekt. Es öffnet sich ein kleines Eingabefenster, in das Sie die URL oder den Seitennamen eingeben können. Wenn Sie dieses Fenster verlassen, indem Sie einfach an eine andere Stelle der Zeichenfläche klicken, erscheint in roter Schrift der Pfad des Links. Diese Kennzeichnung ist in der Seitenansicht jedoch nicht mehr sichtbar. Hinweis: Möchten Sie den Link ändern oder entfernen, müssen Sie nochmals das URL-Icon aktivieren und danach auf den roten Pfad klicken. Im Eingabefenster können Sie dann die Angabe bearbeiten. Dies gilt im Übrigen auch für Textfelder.
Attribute
Verschieben/ Löschen/ Anordnen
Haltepunkte
Die Eigenschaften eines Objektes wie die Füll- oder Textfarbe oder die Form einer Pfeilspitze können Sie hauptsächlich über die Einträge Fill, Line und Text in der Menüleiste ändern. Die Schalter unter der Zeichenfläche stellen Ihnen nochmals einige wichtige Funktionen, wie Ausschneiden, Kopieren, Duplizieren, Löschen und Gruppieren zur Verfügung, die sich ebenfalls im Menü befinden. Zuvor sollten Sie das oder die entsprechenden Objekte markiert haben. Bei der Markierung der Objekte, werden – abhängig von der Figur – Haltepunkte in verschiedenen Farben sichtbar. Mit der Maus können Sie die Objekte an diesen Punkten manipulieren: Weiß. Verändert die Größe bei Rechtecken, Linien und Ellipsen. Gelb. Ändert die Schriftgröße bei Text und den Rundungsgrad bei Rechtecken mit abgerundeten Ecken. Außerdem kann man damit die stufenförmigen Verbindungslinien gestalten. Grün. Verschiebt einen Verbindungspfeil auf ein anderes Objekt.
324
21 Ausarbeitung des Projektplans
Um Ihnen eine Zeichnung des Plugins präsentieren zu können, haben wir für unsere Konferenz ein Organigramm entworfen. Es zeigt die verschiedenen Arbeitsbereiche der Kongressplanung und wer jeweils für Rückfragen als Kontaktperson zur Verfügung steht.
Beispiel Organigramm
Abb. 21.7
Auf der Seite TWikiDrawPlugin finden Sie einige Variablen, die Sie dort einstellen können und die dann global im TWiki wirksam werden: Variable Bedeutung %EXTRA_ Fasst zusätzliche Farbangaben, die in der Zeichnung COLORS% verwendet werden können. Beispiel: Set EXTRA_COLORS = Aquamarine = #70DB93 %EDIT_ Auf „1“ gesetzt fügt diese Variable einen EditBUTTON% Schalter über jeder eingebunden Zeichnung ein. Beispiel: Set EDIT_BUTTON = 0 %EDIT_ Gestaltet den Anfangslink bei einer noch nicht gespeiTEXT% cherten Zeichnung Beispiel: Set EDIT_TEXT = Zeichnung editieren
21.5 Die Werkzeuge
Voreinstellungen
Tab. 21.2
325
21.6 To-do-Liste mit EditTable-Plugin Stand der einzelnen Aufgaben
Funktionsweise
Eine große Hilfe ist, wenn jede Gruppe den Stand ihrer Arbeiten den anderen Gruppen berichtet. Umgekehrt brauchen Gruppen und Einzelpersonen Informationen, wieweit die jeweiligen ParallelAufgaben fortgeschritten sind. Beispielsweise muss die Gruppe, die für die Anwerbung der Plakatierer zuständig ist, wissen, ob die Produktion der Plakate läuft oder gerade stockt, damit sie die Kleistermischer rechtzeitig über die Verzögerung informieren kann. In einer weiteren Tabelle kann daher der aktuelle Stand der Aufgaben verzeichnet werden. Das bereits vorinstallierte EditTablePlugin ermöglicht es, eine Tabelle zu kreieren, in die ohne große Vorkenntnisse und ohne unübersichtlichen Source-Code geschrieben werden kann. Mithilfe des hier beschriebenen Plugins kann man die Eingabe von Inhalten in Tabellen sehr erleichtern. In der Seitenansicht ändert sich zunächst nicht viel: es taucht lediglich ein Schalter unter der Tabelle auf, die mit dem Plugin verbunden ist. Mit der Betätigung dieses Edit-Schalters wird eine spezielle Bearbeitungsansicht generiert. Sie erhalten dann jedoch keinen in ASCII-Text geschriebenen Tabellencode, in dem man bei einer Eingabe erst einmal die richtige Zelle suchen muss, sondern eine benutzerfreundliche Oberfläche mit Textfeldern, Drop-Down-Menüs und/oder Datumsfeldern. Zusätzlich stehen Schalter zur Verfügung, mit denen Sie bequem weitere Reihen hinzufügen, die Änderung rückgängig machen oder Ihre Eingaben speichern können. Auf einer Seite kann es mehrere editierbare Tabellen geben, allerdings kann nur jeweils eine davon bearbeitet werden.
21.6.1 Formatierung der ganzen Tabelle Tabellenformatierung
Um eine editierbare Tabelle zu kreieren, setzt man zunächst die Variable %EDITTABLE{...}% an die für die Tabelle passende Stelle oder fügt die Variable unmittelbar vor eine bestehende Tabelle ein. Innerhalb der Klammern werden nun die Parameter für die Editieransicht der Tabelle festgelegt. Als Beispiel wollen wir eine ganz einfache Tabelle mit nur zwei Parametern darstellen:
326
21 Ausarbeitung des Projektplans
%EDITTABLE{ format="| row, -1 | text, 20, init | select, 1, eins, zwei, drei, vier | label, 0, %SERVERTIME{"$day $mon $year $hour:$min"}% |" changerows="on" }% |*Nr*|*Textfeld*|*Dropdownmenü* |*Zeitstempel*| | 1 | init | zwei | 07 Jan. 2005 14:55 |
↵ ↵ ↵ ↵ ↵ ↵ ↵
Die Seitenansicht sieht dann so aus: Abb. 21.8
Dasselbe im Edit-Modus der Tabelle: Abb. 21.9
In der %EDITTABLE%-Variable wurden zunächst die Eingabeoptionen unserer Tabelle festgelegt. Danach haben wir die Inhalte zweier Zeilen, nämlich der Kopfzeile und der ersten Zeile direkt in den Code eingegeben. Zwar ist es nicht notwendig, die Tabelle bereits auf Code-Ebene mit Inhalt zu füllen. Allerdings ist es für den Nutzer zumindest erklärungsbedürftig, wenn auf der Seite lediglich ein Edit-Button, jedoch noch keine Tabelle zu sehen ist.
21.6.2 Parameter Der wichtigste Parameter für die Struktur der Tabelle ist der Parameter format. Damit werden Art und Aussehen der Eingabefelder für die ganze Tabelle anhand einer Zeile festgelegt. Alle Zeilen, die neu eingefügt werden, folgen diesem Muster. Mit den übrigen Parametern lassen sich die Bedienoptionen der Editieransicht bestimmen. Hier sind alle Parameter im Überblick:
21.6 To-do-Liste mit EditTable-Plugin
327
Tab. 21.3
Parameter header
format
Beschreibung Legt die Beschriftung der Kopfzeile fest, z. B. |*Stein*|*Gewicht*|; spielt nur eine Rolle, wenn die Tabelle zunächst leer ist und mit dem Edit-Button initiiert werden soll. Folgende Eingabefelder sind möglich (die Angaben in kursiver Schrift sollten durch die entsprechenden Werte ersetzt werden): Textfeld (eine Zeile): | text, größe, standardwert |
Texfeld (mehrere Zeilen): | textarea, reihen x spalten, <Standardwert> |
Drop-Down-Menü: | select, größe, eintrag_1, eintrag_2, etc |
Radio buttons: | radio, anzahl buttons, eintrag 1, eintrag 2, etc | Check boxes: | checkbox, anzahl boxen, eintrag 1, eintrag 2, etc | Feste Beschriftung: | label, 0, beschriftung |
Zeilennummer: | row, offset |
Kalenderfeld: | date, größe, standardwert |
changerows quietsave
328
Bei "on" können Zeilen hinzugefügt und entfernt werden. Das Gegenteil ist „off“. Bei "on" wird ein QuietSave-Button hinzuge-
21 Ausarbeitung des Projektplans
Parameter include
helptopic headerislabel editbutton
Beschreibung fügt. Bindet die %EDITTABLE%-Variable eines anderen Topics ein. Es wird auf die erste Variable der genannten Seite zugegriffen. Verweis auf eine Hilfeseite wird eingefügt. Kopfzeilen sind nur lesbar, d. h. nicht zu ändern, wenn die Variable auf "on" gesetzt ist. Damit kann man den Text auf dem Edit-Schalter festlegen, z. B „Diese Tabelle editieren“.
Noch eine kleine Erklärung zum format-Parameter date: Wenn Sie diese Eingabemöglichkeit einsetzen, kann der Nutzer innerhalb eines Kalenders navigieren, um sich dort das passende Datum auszusuchen. Falls sich Variablen in den Standardwert-Parametern befinden, werden diese bei jeder Speicherung ersetzt. Dies kann man z. B. für einen Zeitstempel nutzen (s. o.). Wenn Sie die Ersetzung nicht wollen, sollten Sie die kritischen Zeichen maskieren. Aus
Tab. 21.3 (Fortsetzung)
Escape-Zeichen
%SERVERTIME{"$day $mon $year $hour:$min"}% wird dann $percntSERVERTIME{$quot$dollarday $dollarmon ↵ $dollaryear $dollarhour: ↵ $dollarmin$quot}$percnt ↵ Nochmals im Überblick: Code $quot $percnt $dollar $nop
Ersetzt: Doppelte Anführungszeichen Prozentzeichen Dollarzeichen Verhindert die Ersetzung der Dollarzeichenvariablen
Tab. 21.4
Zudem ist es möglich, die „wörtlichen“ %-Variablen z. B. in einem Drop-Down-Menü zur Verfügung zu stellen, indem sie nach dem Prozentzeichen durch ein <nop> ergänzt werden, z. B. in select,1,%<nop>X%,%<nop>Y%.
21.6 To-do-Liste mit EditTable-Plugin
329
Wie Sie am oberen Beispiel gesehen haben, werden in der Tabelleneditierung automatisch mehrere Schalter eingefügt, die Sie zum Teil schon vom normalen Editiermodus kennen. Einige können Sie über die format-Parameter beeinflussen: Tab. 21.5
Schalter
Erklärung Tabelle speichern. Speichern ohne andere WebNotify-User zu benachrichtigen. Zeile einfügen. Letzte Reihe beseitigen. Nicht speichern und zur Seitenansicht zurückkehren.
Beispiel: To-do-Liste
Mit diesem Wissen können wir nun unsere To-do-Liste gestalten. Hier führen wir unter der jeweiligen Projektnummer die Aufgabe und die zuständige Kontaktperson auf. Weiter gibt es Eingabefelder für den geplanten Beginn, das geplante Ende, den Status und das geschätzte Ende der Aufgabe. %EDITTABLE{ header="| *Projektnr.* | *zuständig* | *Aufgabe* | *geplanter Beginn* |*geplantes Ende* | *Status* | *erledigt bis* |" format="| text, 10 | text, 15 | textarea, 3x15 | date | date | select, 1, nicht begonnen, begonnen, gestoppt, fertig | date|" changerows="on" }%
Abb. 21.10
330
21 Ausarbeitung des Projektplans
↵ ↵ ↵ ↵ ↵ ↵ ↵
21.6.3 Formatierung für einzelne Zellen festlegen Bisher war es so, dass die Formatierungsangaben, die in %EDITTABLE% getätigt wurden, für die ganze Tabelle und damit für alle Zellen galten. Wenn Sie allerdings eine einzelne Zelle anders formatieren, z. B. ein anderes Eingabefeld definieren wollen, können Sie die Tabellenformatierung mit der Variable %EDITCELL{"..."}% überschreiben. Dazu setzen Sie die Variable direkt nach dem Inhalt der Zelle, z. B. um ein Textfeld zu definieren: | Zellinhalt %EDITCELL{"text, 20"}% | Es werden alle Eingabefelder unterstützt, die Sie schon vom format-Parameter kennen. Achtung: Die %EDITCELL%-Variable funktioniert nur in Verbindung mit %EDITTABLE% . Besonders sinnvoll ist die Zellformatierung, wenn Ihre Tabelle eher vertikal als horizontal ausgerichtet ist und z. B. aus sog. Key/ValuePaaren besteht. Hierzu ein kleines Beispiel: %EDITTABLE{ format="| label | text, 40 |" }% |*Key*|*Value*| | Name: | Erika Mustermensch | | Geschlecht: | W ↵ %EDITCELL{select,1, ,F,M}% | | Beruf | Sammlerin ↵ %EDITCELL{select,1, ,Sammlerin,Jägerin}% | ↵ | Wohnort: | Murmeltal | Tabelleneditieransicht: Abb. 21.11
21.6 To-do-Liste mit EditTable-Plugin
331
Problemzonen
Das Plugin stößt jedoch in einigen Aspekten an seine Grenzen. Ein paar davon wollen wir hier nennen: Es unterstützt einige Formatierungsmöglichkeiten, wie z. B. verbundene Zellen (| ... ||) und Textausrichtungsangaben innerhalb von Zellen (z. B. | centered | right |) nicht. Ab etwa der fünfzigsten Reihe kann es zu Verarbeitungsproblemen kommen. Es ist nicht möglich zwei %EDITTABLE{}%-Ausdrücke innerhalb einer Codezeile unterzubringen.
Voreinstellungen
Wie auch bei allen anderen Plugins üblich, können Sie auf der EditTablePlugin-Seite globale Einstellungen an folgenden Variablen vornehmen: Variable %CHANGEROWS%
%QUIETSAVE%
%EDITBUTTON%
ProjektPlanerPlugin
332
Bedeutung Möglichkeit, Zeilen zu löschen bzw. zu entfernen. Beispiel: Set CHANGEROWS=on Definiert, ob ein QuietSave-Button standardmäßig gesetzt werden soll. Beispiel: Set QUIETSAVE=on Beschriftung des Edit-Buttons Beispiel: Set EDITBUTTON=Tabelle editieren
Das TWiki bietet für den internen Gebrauch ein eigenes ProjektPlaner-Plugin. In einem separaten Web werden zu jedem Projekt und den Teilaufgaben eigene Berichtsseiten angelegt. Die Teammitglieder geben auf ihrer Projektseite Informationen über den Stand der Teilaufgaben und Arbeitspakete ein (Projekt schon begonnen, veranschlagte Dauer, bereits investierte Arbeitszeit…). Aus diesen Informationen wird eine zentrale Überblickseite generiert, die mit einfachen Balkendiagrammen schnellen Überblick über den Stand der einzelnen Aufgaben geben soll. Unter dem gegebenen Entwicklungsstand stellen wir Ihnen das Plugin nicht weiter vor, da wir der Meinung sind, dass der Aufwand der Installation den Nutzen noch nicht rechtfertigt. Sie können die Funktionalität weitgehend mit einfachen zentralen Überblickstabellen selbst erzeugen.
21 Ausarbeitung des Projektplans
21.7 Kosten und Finanzen planen (SpreadsheetPlugin) Aus den Schätzungen zum Ressourcenbedarf der einzelnen Arbeitspakete lässt sich der Gesamtbedarf für das Projekt hochrechnen. Wir können jetzt einen Gesamtkostenplan für unsere Konferenz aufstellen. Ebenso lässt sich der Bedarf der einzelnen Kostenträger ermitteln, das heißt, wir können abschätzen, welche Ausgaben beispielsweise die Gruppe „Catering“ oder die Gruppe „Inhaltsplanung“ haben werden. Am besten verwalten diese dann auch ihre Mittel selbst. Für kleinere Projekte ist ein solcher Gesamtkostenplan, aufgesplittet nach Kostenträgern, völlig ausreichend. Bei größeren Projekten sind weitere zeitliche Übersichten notwendig: Wann fallen welche Ausgaben an? Wann wird welches Personal benötigt? Welche Ausrüstung und welches Material müssen wann und wo zur Verfügung stehen? In der Fachliteratur finden sich dazu unterschiedliche Begrifflichkeiten (Finanzplan, Einsatzmittelplan etc.) und Methodiken. Hier sind freilich die Grenzen zur Verdinglichung menschlicher Beziehungen schnell überschritten. Bürokratische Kontrollvorstellungen über die „Human Ressources“ äußern sich beispielsweise darin, dass letztere nach ihren Arbeitskapazitäten bewertet werden, die es zu optimieren und kontrollieren gilt. Um Übersicht über die Finanzen zu behalten, sind Tabellenkalkulationen eine unschätzbare Hilfe. Wikis können freilich keine hochentwickelten Tabellenkalkulationsprogramme ersetzen. Das Spreadsheet-Plugin erlaubt uns trotzdem, im TWiki sinnvoll mit Tabellen zu arbeiten. Wieder liegt der Vorteil eines Wikis darin, dass die Daten in einem Dokument zentral gesammelt werden, für alle verfügbar sind und von den einzelnen Projektgruppen selbständig aktualisiert werden können. So könnten auch im Bereich der Finanzplanung und –kontrolle in Bezug auf Transparenz und Selbstbestimmung neue Wege eingeschlagen werden. Dieses Plugin ist standardmäßig installiert. Es stattet das TWiki mit den gängigen Möglichkeiten einer Tabellenkalkulation aus. Sie können Berechnungen auf der Basis eingegebener Formeln oder bereits vorhandener Funktionen anstellen, Zeichenketten (Strings) bearbeiten – zum Beispiel aus großen Buchstaben Kleinbuchstaben machen – und logische Abfragen formulieren. Dazu übergeben Sie Ihre Berechnung in der Editieransicht einer Variablen, die in der Seitenansicht durch die Lösung ersetzt wird. Dies funktioniert so-
21.7 Kosten und Finanzen planen (Spreadsheet-Plugin)
Bedarfsermittlung und Kostenplan
Was, wer, wann
Spreadsheet
Funktionsweise
333
wohl innerhalb als auch außerhalb einer Tabelle, was das Plugin grundsätzlich von anderen Kalkulationsprogrammen unterscheidet. Sie können etwa die Einzelposten einer Tabellenspalte als Summe in einem Fließtext anzeigen lassen.
21.7.1 Syntax Die Arbeit des Plugins wird durch die Variable %CALC{"..."}% ausgelöst. Die Variable kann innerhalb einer Tabellenzelle oder in einem ganz normalen Textverlauf stehen, wobei viele Funktionen erst im Zusammenhang mit Tabellen Sinn ergeben. Das Ergebnis der Funktion, die zwischen den Anführungszeichen steht, wird beim Aufruf der Seite ausgegeben. Sie wollen beispielsweise die durchschnittliche Teilnehmerzahl von drei Workshops berechnen, die von 14, 21 und 12 Leuten besucht wurden: %CALC{"$AVERAGE(14,21,12)"}% In der Seitenansicht wird das Ergebnis 9 ausgegeben. Hinweis: Die Berechnungen basieren immer auf Funktionen. Selbst einen so einfachen Ausdruck wie 1+1 müssen Sie in eine Funktion packen: %CALC{"$EVAL(1+1)"}%. Funktionen
Funktionen haben folgenden schematischen Aufbau: $FUNKTIONSNAME(parameter) Die Auswertung erfolgt von links nach rechts. Es ist möglich, mehrere Funktionen ineinander zu verschachteln, z. B.: %CALC{"$AVERAGE(14,21,$SUM(4,8))"}%
Zellbezug
334
wobei hier die Berechnung von der innersten zur äußersten Funktion erfolgt. Die Parameter einer Funktion können durch Text, eine mathematische Formel, einen Zelladresse oder einen Zellbereich dargestellt werden. Dies ist von der Funktion abhängig. So kann etwa die Summenfunktion konkrete Werte oder die Angabe von Zellbereichen verarbeiten. Wenn Sie sich auf die möglicherweise variierenden Inhalte fester Tabellenzellen beziehen wollen, können Sie diese über folgende Koordinaten ansprechen:
21 Ausarbeitung des Projektplans
R1:C1 R2:C1 R3:C1
R1:C2 R2:C2 R3:C2
R1:C3 R2:C3 R3:C3
R1:C4 R2:C4 R3:C4
Abb. 21.12
Das R steht dabei für Row (Reihe) und das C für Column (Spalte). Um nun mit dem Inhalt einer einzelnen dieser Zellen rechnen zu können, müssen Sie die Zellkoordinaten in die Funktion $T einfügen: %CALC{"$AVERAGE($T(R2:C3),$T(R3:C4))"}% Achtung: Die Konvention der Zellbezüge funktioniert nur in PipeTabellen, nicht aber in HTML-Tabellen! Es ist auch möglich, einen ganzen Tabellenbereich mit einzubeziehen, indem Sie jeweils die obere und untere Eckzelle angeben und durch zwei Punkte („..“) voneinander trennen, z. B. würde R1:C1..R3:C3 die drei ersten Spalten der oben abgedruckten Tabelle komplett einschließen. Hier ist es nicht notwendig, die T-Funktion zu verwenden, Sie können den Tabellenbereich direkt als Parameter übergeben:
Tabellenbereich
%CALC{"$SUM(R1:C1..R3:C2, R1:C4..R3:C4)"}% Hinweis: Die Zellangaben in den Formeln können sich nur auf die Zellen in der aktuellen Reihe und die vorherigen Zellen in der Tabelle beziehen. Alle Zellen unterhalb der aktuellen Reihe können in der Formel nicht angesprochen werden. Wenn Sie eine Formel mit Zellenangaben außerhalb einer Tabelle einfügen, beziehen sich diese auf die vorherige Tabelle. Besteht ein Parameter aus mehreren (gleichartigen) Teilen, z. B. bei der Berechnung des Mittelwertes, wird eine Liste der Werte übergeben, deren Bestandteile durch Kommas getrennt werden, z. B. %CALC{"$SUM( 3, 5, 7)"}%. Es gibt außerdem einige Funktionen, die direkt zur Be- und Verarbeitung von Listen konzipiert wurden. So kann z. B. mit der Funktion LIST ein Zellbereich in eine Liste umgewandelt und dann weiterverarbeitet werden. Bei der Nutzung des Plugins macht man gerade am Anfang häufig Fehler, da man sich erst an die Konventionen des Programms gewöhnen muss. Den Ursachen für die nun folgenden, ungewollten Resultaten kommt man jedoch vergleichsweise schnell auf die Spur:
21.7 Kosten und Finanzen planen (Spreadsheet-Plugin)
Listen
Wenn es nicht funktioniert …
335
In der Seitenansicht wird der Code der Formel angezeigt und nicht berechnet: Wahrscheinlich ist das Plugin gar nicht oder falsch installiert worden. Teile der Formel werden angezeigt: Die Syntax der Formel stimmt nicht. Vielleicht wurde ein Dollarzeichen vergessen? Als Ergebnis kommt eine 0 („Null“): Möglicherweise beziehen Sie sich in Ihren Zellbezügen auf eine HTML-Tabelle. Hinweis: Beachten Sie, dass Kommazahlen im Plugin mit einem Punkt versehen werden, nicht mit einem Komma. Also 3.14 statt 3,14.
21.7.2 Wichtige Funktionen Das Plugin enthält ca. 65 Funktionen, die wir hier leider nicht alle besprechen können. Die wichtigsten stellen wir jedoch in der nun folgenden Auflistung vor. Achtung: Bitte vergessen Sie nicht bei der Verwendung der jeweiligen Funktion, das Dollarzeichen vor den Namen zu setzen! Alle Beispiele mit Zellangaben beziehen sich auf die nun folgende Tabelle: Abb. 21.13
ABOVE() Adressierung des Zellbereichs über der aktuellen Zelle. Beispiel: %CALC{"$SUM($ABOVE())"}% Ergebnis: Gibt die Summe der Werte über der aktuellen Zelle aus. ABS(zahl) Absoluter Wert einer Zahl. Beispiel: %CALC{"$ABS(R3:C2)"}% Ergebnis: 1000
336
21 Ausarbeitung des Projektplans
AND(liste) Logisches Und einer Liste. Beispiel: %CALC{"$AND(1, 0, 1, 1)"}% Ergebnis: 0 COLUMN(offset) Rückgabe der Spaltennummer unter Berücksichtigung eines möglichen Offsets. Beispiel: %CALC{"$COLUMN(2)"}% Ergebnis: aktuelle Spaltennummer + 2 EVAL(formel) Berechnung einfacher Operationen, wie Summe, Differenz, Produkt, Division und Modulo. Auch Verschachtelungen sind möglich. Es gelten die allgemeinen Rechengesetze. Beispiel: %CALC{"$EVAL( (5/2) *3 - 1.2 )"}% Ergebnis: 6.3 EXACT(text1, text2) Vergleich zweier Zeichenketten; gibt 1 zurück, wenn diese gleich sind. Beispiel: %CALC{"$EXACT(Höhle, Hölle)"}% Ergebnis: 0 EXISTS(seite) Test, ob Seite existiert oder nicht. Beispiel: %CALC{"$EXISTS(GibtsNicht) "}% Ergebnis: 0 IF(bedingung, falsch)
wert
falls
wahr,
wert
falls
Verzweigung anhand einer Bedingung Beispiel: %CALC{"$IF($T(R2:C2) > 0, Gewinn, Verlust)"}% Ergebnis: Verlust
21.7 Kosten und Finanzen planen (Spreadsheet-Plugin)
337
LIST(bereich) Umwandlung eines Zellbereiches in eine Liste. Beispiel: %CALC{"$LIST(R1:C2..R1:C4) "}% Ergebnis: Inhalt, Catering, Werbung LISTSORT(liste) Alphabetische Sortierung einer Liste. Beispiel: %CALC{"$LISTSORT(R1:C2..R1:C4)"}% Ergebnis: Catering, Inhalt, Werbung MAX(liste) Rückgabe des größten Wertes einer Liste. Beispiel: %CALC{"$MAX(R2:C2..R3:C4"}% Ergebnis: 0 MOD(zahl, teiler) Modulo-Operation; gibt den Rest einer Division zurück. Beispiel: %CALC{"$MOD(15,4)"}% Ergebnis: 3 PROPERSPACE(text) Einfügen von Leerzeichen in ein WikiWort. Beispiel: %CALC{"$PROPERSPACE(WebHome)"}% Ergebnis: Web Home ROUND(zahl, nachkommastellen) Rundung der Fließkommazahl auf die angegebene Anzahl an Nachkommastellen. Beispiel: %CALC{"$ROUND(2.323256, 2"}% Ergebnis: 2.32 SUM(liste) Summe der Liste. Beispiel: %CALC{"$SUM(R2:C2..R4:C2)"}%
338
21 Ausarbeitung des Projektplans
Ergebnis: -5500 T(zellbezug) Rückgabe des Zellinhaltes. Beispiel: %CALC{"$T(R1:C2)"}% Ergebnis: Inhalt TODAY() Rückgabe des aktuellen Datums (Serverzeit). Beispiel: %CALC{"$TODAY()"}% Ergebnis: aktuelles Datum UPPER(text) Umwandlung in Großbuchstaben. Beispiel: %CALC{"$UPPER(Mammut)"}% Ergebnis: MAMMUT Auch im Spreadsheet-Plugin können Sie natürlich Voreinstellungen vornehmen. Hier sind die Variablen dazu: Variable %SKIPINCLUDE%
%DONTSPACE%
Bedeutung In eingebundenen Seiten wird die %CALC%-Variable nicht verarbeitet Beispiel: Set SKIPINCLUDE=1 Genannte Seiten werden bei der PROPERSPACE-Funktion ausgenommen. Beispiel: Set DONTSPACE=WikiWord
Voreinstellungen
Tab. 21.6
21.7.3 Export/Import von Excel-Dateien Wenn man im TWiki mit Tabellen arbeitet, wird sich früher oder später die Frage stellen, ob ein Transfer von Tabellen zwischen Office-Programmen wie MS Office oder OpenOffice und dem TWiki möglich ist. Dafür gibt es mehrere Lösungen. Wir wollen hier ein sehr einfaches Programm vorstellen, mit dem Sie
21.7 Kosten und Finanzen planen (Spreadsheet-Plugin)
339
Tabellen aus Office-Programmen, HTML-Tabellen und durch Tabulatoren strukturierte Texte ins TWiki importieren können, umgekehrt TWiki-Tabellen in Office-Programme exportieren können und innerhalb des Programms Tabellenformatierung und –sortierung vornehmen können. Installation
Funktionsweise
Das in Delphi geschriebene Programm läuft bisher nur unter Windows. Sie finden es unter http://www.twiki.org im Plugins-Web bei den Add-ons als Copy Table from/to Spreadsheet/table Programs Add-On. Laden Sie die Datei CopyTWiki.zip herunter und entpacken Sie diese lokal auf Ihrem Computer. Wenn Sie in dem nun erstellten Ordner die .exe-Datei aufrufen, erscheint die Oberfläche des Programms. Das Tabellenblatt, das Sie nun vor sich haben, fungiert sozusagen als Zwischenablage und ist Schnittstelle zwischen den unterschiedlichen Formaten. Sie kopieren z. B. Ihre Excel-Tabelle in das Blatt, bearbeiten und formatieren sie nach Ihren Wünschen und kopieren sie dann in Ihr TWiki – oder umgekehrt.
Abb. 21.14
Eine wichtige Rolle spielt hierbei das Kontextmenü des Programms, d. h. die Menüleiste, die aufklappt, wenn Sie die rechte Maustaste betätigen. Denn dort sind die unterschiedlichen Transferaktionen und auch einige Formatierungsoptionen zugänglich. Sie haben folgende Möglichkeiten:
340
21 Ausarbeitung des Projektplans
Menüeintrag COPYTOTWIKI COPY PASTEFROM TWIKI PASTE CUT LEFT RIGHT CENTER BOLD ITALIC CLEAN
Funktion Kopiert die markierten Zellen zum Einfügen in das TWiki. Kopiert die markierten Zellen zum Einfügen in ein Office-Programm. Fügt Zellen ein, die im TWiki-Quellcode kopiert wurden. Fügt Zellen ein, die als HTML-Tabelle kopiert wurden (nicht im Quellcode). Ausschneiden. Zellausrichtung links. Zellausrichtung rechts. Zellausrichtung zentriert. Fett. Kursiv. Keine Formatierung.
Tab. 21.7
Auf der linken Seite haben Sie mit der Aktivierung der Table Settings weitere Optionen der Formatierung und Sortierung, wie z. B. Hintergrundfarbe und Zellabstand. Diese sind jedoch weitestgehend selbsterklärend.
21.7 Kosten und Finanzen planen (Spreadsheet-Plugin)
341
22 Veranstaltungsvorbereitung
22.1 Veranstaltungsplanung Die Vorbereitungen für den Kongress laufen bereits auf Hochtouren. Die Referentinnen und Referenten werden eingeladen, das Programm zusammengestellt und die Werbetrommeln werden gerührt. Das TWiki hilft, dass alle Beteiligten auf dem aktuellen Stand des Projektes bleiben. Es fungiert als schwarzes Brett. Die Stärke von Wikis für die Projektorganisation liegt in dieser Phase des Projekts genau in dieser Doppelfunktion: Es ist sowohl Organisationswerkzeug, als auch Basis des Webauftritts und Einbindung der Außenwelt, z. B. indem die Raumplanung zur Ansicht nach draußen freigeschaltet wird. In unserem konkreten Fall hilft es, die Teilnehmerinnen und Teilnehmer frühzeitig als „Kollaborateure“ einzubinden. Entsprechend können Sie zusätzliche Webangebote machen:
Öffentlichkeitsarbeit
Eigene Diskussionsforen Feedbackseiten Mitfahr- und Übernachtungsbörsen Die Doppelfunktion kann auch genutzt werden, indem die Referentinnen und Referenten ihre Abstracts selbst in die Seite einbauen. Und die Teilnehmer können schon hier ihre Fragen und Anregungen darunter schreiben, damit sich die Referentinnen besser auf deren Fragestellung einstellen können.
22.1 Veranstaltungsplanung
Abstracts
343
22.2 Konferenzanmeldung Anmeldeprozedur im TWiki
Einige Wochen vor der Tagung sollen sich die Teilnehmerinnen und Teilnehmer über das Internet für die Tagung anmelden können. Leider fehlt im TWiki eine Art Formular-Plugin samt Datenbankanbindung. Um unseren Besuchern dennoch eine Anmeldung zur Konferenz zu ermöglichen, müssen wir uns auf die bestehenden Features beschränken und diese ein wenig umfunktionieren. Wir werden ein eigenes Anmeldeformular kreieren. Auf Basis der Anmeldedaten können wir dann diverse Abfragen (oder Berechnungen) erstellen, die normalerweise ein Datenbankmanagementsystem übernehmen würde. Die vorgeschlagene Lösung ist nur eine von mehreren Möglichkeiten.
22.2.1 Umbau der Standardanmeldung Ablauf Anmeldung
Bevor wir genauer auf die Erstellung der Registrierung eingehen, sollten wir uns kurz darüber klar werden, welche Vorgänge bei einer ganz normalen Anmeldung im TWiki ablaufen. Diese Abbildung soll den Ablauf ein wenig verdeutlichen:
Abb. 22.1
Zunächst registrieren Sie sich im Main-Web. Die eingegebenen Daten werden in ein Template eingebaut. Diese Kombination wird als Userseite im Main-Web abgelegt. Zusätzlich erfolgt ein Eintrag in der Übersicht aller User (Topic Benutzer im TWiki-Web).
344
22 Veranstaltungsvorbereitung
Da es nicht möglich ist, ein ganz normales Formular mit einer Datenanbindung anhand von PHP/MySQL zu erstellen, werden wir nun das User-Registrierungsformular, das sich standardmäßig im MainWeb befindet, und den dahinter steckenden Anmeldemechanismus für unsere Zwecke „missbrauchen“.
Anmeldemechanismus modifizieren
22.2.2 Gestaltung des Anmeldeformulars Wir gestalten die Registrierungsseite KonferenzAnmeldung (im Main-Web) nach den Anforderungen der Konferenz. Der User registriert sich damit sowohl für die Konferenz als auch für das TWiki selbst, d. h. es wird auch eine Userseite für ihn angelegt. Über das Konferenzanmelde-Formular werden jedoch zusätzliche Daten übermittelt, z. B. welche Gebühren anfallen. Wenn sich ein Besucher zur Konferenz anmeldet, sollen ihm z. B. bei falschen Eingaben etc. entsprechende Fehlermeldungen oder bei erfolgreicher Registrierung eine Bestätigungsseite präsentiert werden. Damit gibt es innerhalb des TWikis zwei Anmeldemöglichkeiten: Bei dem einen handelt es sich um die StandardUserregistrierung im TWiki-Web, die für den User eine Seite anlegt und ihn befähigt, im TWiki Änderungen vorzunehmen. Die andere Anmeldung findet im Main-Web statt und meldet den User sowohl zur Konferenz als auch im TWiki an. Die Standardanmeldung könnte von Usern genutzt werden, die sich zwar im Umfeld der Konferenz bewegen, aber nicht zur Gruppe der offiziellen Besucher gehören und daher auch keine Angaben zu Preisen, Unterkunft etc. machen müssen, z. B. Helfer. Für diese Zwecke ist es sinnvoll, diese Anmeldemöglichkeit zu belassen. Für die Konferenzanmeldung erstellen Sie zunächst ein neues Topic im Main-Web mit dem Namen KonferenzAnmeldung. Eine Möglichkeit ist, den Text aus TWiki.TWikiRegistration in dieses neue Topic zu übertragen. Das so kopierte Formular können Sie nun weitestgehend nach Ihren Wünschen umgestalten. Zunächst kann man in der Editieransicht das Layout durch eine passende Überschrift, mit erklärenden Texten oder über Bilder, z. B. mit einem Logo verändern. Auch die englische Beschriftung der Formularfelder sollte gegebenenfalls geändert werden. Die Formatierung folgt den üblichen TWiki-Regeln. Dann ist es notwendig, die Formularfelder nach den eigenen Anforderungen abzuändern, d. h. nicht benötigte Eingabefelder herauszunehmen und eventuell zusätzliche Felder einzufügen. Wie Sie in der Editieransicht sehen können, handelt es sich bei der Formularsyntax um reines HTML. Die eingegebenen Werte werden in den
22.2 Konferenzanmeldung
Formular kopieren
Allgemeine Gestaltung
Eingabefelder anpassen
345
Obligatorische Eingabefelder einrichten
name-Variablen abgelegt, die Sie in den jeweiligen HTML-Tags angeben. Allerdings gilt es zwei Dinge zu beachten. Zum einen können Sie nicht alle Felder löschen: WikiName, Name, Passwort und die Bestätigung des Passworts sollten auf alle Fälle im Formular vorhanden sein, was bei der Anmeldung ja auch durchaus vernünftig ist. Wenn Sie die Felder löschen oder die vorgegebenen Namen ändern, erhält der Besucher beim Anmelden eine Fehlermeldung und wird nicht registriert. Zum anderen muss man zwischen optionalen und obligatorischen Eingabefeldern unterscheiden. Die optionalen Felder können, müssen aber nicht ausgefüllt werden. Die obligatorischen Felder hingegen sind für gewöhnlich in der Seitenansicht mit zwei roten Sternchen gekennzeichnet und müssen vom User ausgefüllt werden, damit die Anmeldung reibungslos durchgeführt wird. Als Designer des Formulars erreichen Sie diese Unterscheidung, indem Sie den Namen der Variablen mit Twk1 für die obligatorischen Felder und mit Twk0 für die optionalen Felder beginnen. Eine Anmeldeseite zur Konferenz könnte z. B. so aussehen:
↵
Vorname: | =**= |
Nachname: | =**= |
Ihr <nop>WikiName: |
346
22 Veranstaltungsvorbereitung
↵ ↵
↵ =**= | Geheimwort: | ** |
Geheimwort wiederholen: ↵ | ** ↵ |
E-Mail-Adresse: | ** ↵ |
Ihre Organisation: | |
Straße: | |
Postleitzahl und Ort: | |
↵ ↵
↵ ↵
↵ ↵
22.2 Konferenzanmeldung
347
Land: | <select name="Twk1Country" size="1"> ↵ Auswählen... ↵ Euphrat Levante Andalusien Anderes ↵ Land ** |
Gebühr: | 30 Euro (ermäßigt) 50 Euro Freikarte ** |
Kommentare: | |
| (Felder, die mit ** ↵ markiert sind, sind verpflichtend) ↵ |
↵ ↵ ↵ ↵ ↵ ↵
Die optische Kennzeichnung der obligatorischen Felder erfolgt nicht automatisch, sollte also von Ihnen eingefügt werden. Ansonsten sind Sie jedoch in der Gestaltung vollkommen frei. So müssen Sie sich auch nicht auf bloße Texteingabefelder beschränken, sondern können die ganze Palette an Formularfeldern nutzen, die HTML zu bieten hat, z. B. Radiobuttons, Drop-Down-Listen etc. Abb. 22.2
Die Eingabe der E-Mail-Adresse haben wir einfach von der Standard-Registrierung übernommen. In einem versteckten Feld am Schluss haben wir noch den Konferenznamen mit übergeben, das
22.2 Konferenzanmeldung
349
erleichtert die Suche und erlaubt eine Trennung zwischen normalen TWiki-Benutzern und Konferenzteilnehmern. In Abb. 22.2 sehen Sie das fertige Anmeldeformular für unsere Zukunftskonferenz, zu der sich gerade ein Herr Steinkeks anmelden möchte. Die hier vorgestellte Lösung übernimmt nun alle Daten in die UserForm auf der Benutzerseite. Die Gebühren (ein neues Feld) werden allerdings nicht in der Tabelle der Benutzerinformationen, sondern als Aufzählung darunter angezeigt. Um das zu ändern, müsste die UserForm angepasst werden, worauf wir aus Platzgründen leider verzichten müssen.
22.2.3 Navigation Jetzt können wir noch einen Link in der Navigationsleiste auf die die eigene User-Seite legen. Rufen Sie dazu über die Adresseingabe im Main-Web die Seite WebLeftBar auf und geben zum Beispiel [[%WIKIUSERNAME%][Meine Userseite]] ein. Ist der User noch nicht eingeloggt, funktioniert diese Verlinkung natürlich nicht: Der User würde auf die TWikiGuest-Seite weitergeleitet. Daher muss der User zum „Einloggen“ gezwungen werden. Dies erreichen wir indem wir die WebHome des Main-Webs für nicht-angemeldete Personen sperren. Dann öffnet sich automatisch das Einlogfenster. Hier kann sich der User am System anmelden oder wird über einen Link zum Anmeldeformular weitergeleitet. Die Anmeldung ist damit erledigt. Wir kommen im nächsten Kapitel im Rahmen der Teilnehmerverwaltung bei „Einchecken“ darauf zurück.
350
22 Veranstaltungsvorbereitung
23 Veranstaltungsdurchführung und Dokumentation
23.1 Im Veranstaltungsbüro Mit Beginn der Tagung haben die Organisatoren alle Hände voll zu tun, damit die Vorträge, Workshops und Podien reibungslos verlaufen. Sie haben sich dazu vor Ort das übliche Veranstaltungsbüro eingerichtet. Bei aller Vorbereitung ist nun Improvisation und ständiges Krisenmanagement gefragt: Leute finden die Räume nicht, das Wechselgeld geht aus, ein Beamer ist verschwunden und eine Referentin hat die Skripten für ihren Vortrag zu Hause vergessen. Da die Menschen auf der Tagung unmittelbar miteinander sprechen, tritt der Computer als Kommunikationsmedium in den Hintergrund. Wir möchten dennoch auf ein paar Aspekte hinweisen, bei denen das TWiki bei der Durchführung eine Hilfe sein kann. Das Wiki ist zunächst das zentrale schwarze Brett für Organisation wie Teilnehmer. Das Veranstaltungsbüro kann beispielsweise Raumänderungen auch über das Wiki bekannt geben, indem das Programm mit einem Beamer an die Wand projiziert wird. Die Teilnehmer können sich von zu Hause aus oder unterwegs über den aktuellen Veranstaltungsplan informieren. Die Aktualität ist gewährleistet, da das Wiki nicht nur das Publikations- sondern auch das zentrale Organisationsmedium ist. Eine Übersicht über die Raumbelegung, kann mit einem entsprechenden EditTable-Plugin von jedem Helfer ohne größere Probleme verwaltet werden.
Krisenmanagement
Schwarzes Brett
Hinweis: Vergessen Sie nicht, zusätzliche Helferinnen und Helfer – etwa beim Check-In – rechtzeitig mit der Software vertraut zu machen.
23.1 Im Veranstaltungsbüro
351
WorkshopTWikis
Nach den Workshops können die Teilnehmerinnen und Teilnehmer sogleich bestehende Texte ergänzen und ihre Ergebnisse veröffentlichen. Bei „Open Space“-Konferenzen werden beispielsweise im unmittelbaren Anschluss an die Veranstaltung kurze Zusammenfassungen (Protokolle) geschrieben, die an zentraler Stelle aufgehängt werden. Dies erleichtert Ideen aus anderen Veranstaltungen aufgreifen zu können. Weiter bietet sich die Möglichkeit, dass die Teilnehmer zentral über das Wiki ihre Adressen sammeln und austauschen können.
23.2 Teilnehmerverwaltung/Anmeldestand Einchecken
AnmeldeWeb anpassen
Das Nadelöhr einer Tagung ist der Check-In. Die Teilnehmer müssen sich endgültig anmelden, ihren Beitrag bezahlen und erhalten ihre Tagungsunterlagen. Um die Formalitäten des Anmeldebüros weitestgehend im TWiki erledigen zu können, gehen wir ins Main-Web. Nochmals zur Erinnerung: hier liegt das Anmeldeformular und die Userseiten der schon angemeldeten Teilnehmer. Das Web wird nun im Folgenden um drei weitere Seiten ergänzt: InterneVerwaltung, Quittung und TeilnehmerListe. Diese dienen hauptsächlich der Entlastung der Mitarbeiter, um den erwarteten Besucherstrom am ersten Tag möglichst schnell registrieren und trotzdem den Überblick über Teilnehmerzahl und Finanzen behalten zu können. Denn nichts ist für einen Besucher ärgerlicher als schon am Anfang einer Konferenz stundenlang beim Einchecken in einer Schlange stehen zu müssen, weil die Anmeldung unkoordiniert abläuft.
23.2.1 Seite InterneVerwaltung Interne Verwaltung
Identifizierung
Zunächst erstellten wir die Seite InterneVerwaltung. Sie stellt die zentrale Anlaufstelle dar, von der alle Aktivitäten während des Eincheckvorganges ausgehen. Am besten verlinken Sie diese im linken Seitenmenü des Main-Webs. Der erste Schritt ist die Aufnahme des Besuchers in die Datenverwaltung. Die Seite InterneVerwaltung muss nun für zwei Szenarien ausgelegt sein: 1. Ein Besucher ist noch nicht eingetragen, muss also mit all seinen Daten ins TWiki-System aufgenommen werden.
352
23 Veranstaltungsdurchführung und Dokumentation
2. Der Teilnehmer – in unserem Fall Herr Steinkeks – hat sich schon vorher registriert. Für den ersten Fall gibt es auf der Seite einen Link zur Konferenzanmeldung, wo ein Mitarbeiter beim Check-In die Daten des Neulings im Anmeldeformular eintragen kann. Danach kehrt er wieder auf die InterneVerwaltung zurück. Wenn ein Besucher sich schon im Vorfeld angemeldet hat, muss er im TWiki gefunden werden. Dafür wird ein Formular mit einer Suchfunktion erstellt, die schon einige Parameter mitbringt, die Sie sonst in der normalen Suche bei jedem Vorgang neu einstellen müssten, z. B. erfolgt hier die Einstellung im Parameter scope, dass sowohl im Seitentitel als auch innerhalb der Seite gesucht werden soll. So sieht das Formular mit einem Textfeld für die Eingabe des Suchbegriffes und daran anschließend die Suchfunktion aus:
↵ ↵ ↵ ↵
%SEARCH{search="%URLPARAM{"query"}%" scope="topic" type="keyword" noheader="on" web="Main" nosearch="on" excludetopic="%TOPIC%, TWikiUsers" }%
↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵
Suchformular
↵ ↵
Wenn nun am Check-In der Name von Herrn Steinkeks in die Suche eingegeben wird, sollte ein Link zu seiner Userseite erscheinen. Der nächste Abschnitt der Seite leitet zur Quittung, die für den jeweiligen Teilnehmer ausgedruckt werden soll. Natürlich könnte man nun einfach einen Link zu dieser Seite erstellen. Die Quittung soll jedoch gleich individuell mit dem Namen, der Adresse und der
23.2 Seite InterneVerwaltung
Quittung
353
bezahlten Gebühr des jeweiligen Besuchers ausgefüllt sein, daher muss der Link sozusagen bereits die Identität des Teilnehmers anhand der Variablen %URLPARAM{"query"}% mitnehmen. Technisch wird dies durch ein weiteres Formular mit einem Textfeld realisiert, in das der TWiki-Name des Besuchers eingegeben werden soll: Weitere Links
↵ ↵ ↵ ↵ ↵ ↵ ↵
Bevor wir weiterverfolgen, was denn genau auf der Quittungsseite passiert, schauen wir uns noch schnell denn Rest von InterneVerwaltung an: AnmeldeFormular TeilnehmerListe Wie oben bereits erläutert, wird der erste Link hauptsächlich für den Fall benötigt, in dem der Besucher noch nicht im TWiki angemeldet ist. Der zweite Link führt zu der Seite TeilnehmerListe, wo die Mitarbeiter alle Besucher eintragen sollen, die eingecheckt und bezahlt haben. Damit hat die Tagungsleitung einen Überblick, welche Besucher tatsächlich zur Tagung aufgetaucht sind und wie viel Geld in der Kasse sein müsste. Auch bzgl. der Details zu dieser Seite müssen wir Sie noch ein Weilchen vertrösten. Damit wäre nun die InterneVerwaltung komplett. Und so sieht sie in der Seitenansicht aus:
354
23 Veranstaltungsdurchführung und Dokumentation
Abb. 23.1
23.2.2 Quittungen erstellen Die Seite Quittung verfügt – wie oben erwähnt – durch die Angaben in der URL schon über den Wiki-Namen und damit über die Userseite des jeweiligen Teilnehmers. Die Quittung soll nun an den richtigen Stellen mit den Inhalten aus der Userseite gefüllt werden, nämlich oben links die Adresse des Users, in der Anrede sein Nachname und im Text die Tagungsgebühr die er gezahlt hat. Dies wird durch die %SEARCH%-Variable mit den entsprechenden regulären usdrücken realisiert. Sie können hier Ihre frisch erworbenen Kenntnisse aus dem vorherigen Kapitel anwenden oder die drei Ausdrücke einfach übernehmen. Direkt unter der Überschrift „Quittung“, jedoch in derselben Tabellenreihe, wurde das Logo der Tagung eingebunden, das dann in der Seitenansicht rechts erscheint. ---++ Quittung
%PUBURL%/%TWIKIWEB%/ TWikiLogos/wiki-logo-rollen.jpg |
↵
%SEARCH{search="%URLPARAM{"query"}%" scope="topic" web="Main"
↵ ↵ ↵
23.2 Seite InterneVerwaltung
355
noheader="on" nosearch="on" nototal="on" format=" $formfield(FirstName) $formfield(LastName)%BR% $formfield(Address)%BR% $formfield(Location) " }% Sehr geehrte(r) %SEARCH{search="%URLPARAM{"query"}%" scope="topic" web="Main" noheader="on" nosearch="on" nototal="on" format=" $formfield(FirstName) $formfield(LastName)" }%,
↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵
↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵
als Teilnahmegebühr für die "Raus aus der Höhle" vom 15.-17.06. stellen wir Ihnen entsprechend Ihrer Anmeldung in Rechnung: * Tagungsgebühr: %SEARCH{search="%URLPARAM{"query"}%" scope="topic" web="Main" noheader="on" nosearch="on" nototal="on" format=" $pattern(.*?\*.*?Gebühr:\s*([^\n\r]+).*)" }% Mit freundlichen Grüßen, Ihr Tagungsleiter Harry Jäger
356
23 Veranstaltungsdurchführung und Dokumentation
↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵
Tipp: Damit beim Ausdrucken keine störenden Navigationselemente abgebildet werden, können Sie die Quittungsseite im Plain-Skin ausgeben lassen (s. Kap. 18.1). Dieser ist so eingestellt, dass vor und nach dem Seitentext nichts ausgegeben wird. Diese Quittung erhält Herr Steinkeks, nachdem er bezahlt hat: Abb. 23.2
23.2.3 Teilnehmerliste Als letzte Seite wollen wir die TeilnehmerListe erläutern. Diese dient hauptsächlich dazu, intern den Überblick über die bereits eingecheckten Besucher zu bewahren, indem man diese namentlich in einer Tabelle einträgt. Zusätzlich soll auch die bezahlte Gebühr aufgenommen werden, um den Kassenstand überprüfen zu können. Eine große Hilfe stellt hier das EditTable-Plugin (s. o.) dar. Mit ihm kann man eine benutzerfreundliche Eingabemaske für die Tabelle gestalten, die die Arbeit der Mitarbeiter erheblich erleichtert. Danach wird auf die InterneVerwaltung zurückverlinkt. Dies könnte folgendermaßen aussehen:
23.2 Seite InterneVerwaltung
357
%EDITTABLE{header="|*Nr*|*Nachname*| ↵ *Vorname*|*Gebühr|" ↵ format="|row, -1| text,25 | ↵ text,25 |select,1,35,50 |" ↵ changerows=on ↵ }% [[InterneVerwaltung]] Und hier sehen Sie die Tabelle, nachdem schon einige Besucher angekommen sind: Abb. 23.3
23.3 Vorträge mit Präsentation (SlideShow-Plugin) Präsentationen und Vorträge
Funktionsweise
358
Das TWiki bietet eine einfache Unterstützung für die Gestaltung von Vorträgen. Wenn Harry Jäger für die Planungsgruppe die Begrüßungsrede zur Konferenz halten möchte, kann er auf das SlideShowPlugin zurückgreifen, das ihm ähnlich wie Microsoft Power Point ermöglicht, Inhalte zu strukturieren und für eine Präsentation aufzubereiten. Das SlideShow-Plugin ist standardmäßig installiert. Es handelt sich dabei um keine eigene Programmoberfläche: Jede Seite oder jeder Teil einer Seite, die durch Überschriften strukturiert ist, kann in eine Präsentation umgewandelt werden. Natürlich ist das Plugin nicht mit professionellen Präsentationsprogrammen vergleichbar, die man mit Animationen und anderen Multimedia-Effekten ausstatten kann. Aber Sie können damit die Inhalte im TWiki auf schnelle Art und Weise z. B. für einen Vortrag aufbereiten. Um eine Präsentation vorzubereiten, schreiben Sie die Inhalte der Präsentation auf eine Seite und unterteilen diese mithilfe von Überschriften. Jede Überschrift und der Text darunter wird als Folie angezeigt. Die Formatierung der Folien basiert auf einer Folien-Vor-
23 Veranstaltungsdurchführung und Dokumentation
lage, die Sie nach Belieben formatieren und mit Konstanten und Navigationsschaltern füllen können.
23.3.1 Die Syntax Sie beginnen die Präsentation im Editiermodus mit der Variablen %SLIDESHOWSTART% Dann folgt der Folieninhalt der Präsentation. Die Folientitel sollten als Überschrift zweiter Ebene mit ---++ gekennzeichnet sein. Sie können auch Überschriften anderer Ebenen benutzen, nur sollten Sie dies dann konsequent bei jeder Folie der Präsentation machen. Der Text unter der jeweiligen Überschrift wird als Folieninhalt interpretiert. Meistens wird dieser in unnummerierten Listen strukturiert, Sie können aber auch Tabellen und Bilder einbinden. Falls Sie innerhalb der Präsentation einen Kommentar anbringen möchten, beginnen Sie eine Folie mit einer Überschrift dritter Ordnung und nennen Sie „Comments“. Der Text darunter bis zur nächsten Folie wird dann als Kommentar interpretiert und taucht in der Präsentationsansicht nicht auf. Das Ende der Präsentation bestimmen Sie mit %SLIDESHOWEND% Nach dem Speichern Ihrer Eingaben sehen Sie nun die Foliengliederung Ihrer Präsentation. Harry Jägers Entwurf für die Präsentation seiner Begrüßungsrede sieht im Editiermodus so aus: %SLIDESHOWSTART{ template="KonferenzEröffnung"}% ---++++ Konferenz: Zukunftsperspektiven im Neolithikum %BR% von Harry Jäger für die Konferenzleitung ---++++ Begrüßung * Forderung einer "neolithischen Revolution" * Konferenz als erster Schritt?
↵ ↵
↵
23.3 Vorträge mit Präsentation (SlideShow-Plugin)
359
* Diskussionsstand: Zweifel, ob überhaupt ↵ eine neue Epoche möglich ist. * Beispiel Sesshaftigkeit ---++++ Sesshaftigkeit: Gegenargumente * Mensch ist für Ackerbau nicht geschaffen * Gesundheitliche Bedenken * Menschen verweichlichen * Schamanen prophezeihen Niedergang der ↵ Kultur ---++++ Sesshaftigkeit: Pro-Argumente
%PUBURL%/Main/DiaGramme/ _ChartPlugin_bar_getreideanbau.png |
* Ackerbau schafft Arbeitsplätze * Bessere Ernährung * Mehr Abwechslung auf dem Mittagstisch * Mehr Zeit für Familie
↵
---++++ Programm der Konferenz * Workshops * Kulturprogramm ---++++ Zuletzt: Technische Hinweise * Veranstaltungsbüro * Raumänderungen: Wie finde ich meine "Höhle"? %SLIDESHOWEND%
↵
Wie Sie vielleicht bemerkt haben, hat Harry Jäger auf der dritten Folie ein Bild eingebunden. Dabei handelt es sich um ein Diagramm. Wie Sie dieses erzeugen können, erfahren Sie in Kap. 23.4. Zurück zur Präsentation: Vor jedem Folientitel wird die Nummer des Slides angegeben. Außerdem wurde ein Schalter eingefügt, der die Präsentation startet:
360
23 Veranstaltungsdurchführung und Dokumentation
Abb. 23.4
Wenn Sie diesen betätigen, beginnt das TWiki mit Ihrer Präsentation: es greift auf ein Template zu und fügt die von Ihnen angegebenen Folientitel und Inhalte ein. Falls Sie noch kein eigenes Template kreiert haben, wird das TWiki-eigene Präsentationstemplate heranzogen, das im Topic SlideshowPlugin definiert wird. Anhand der eingefügten Navigationsschalter können Sie zwischen den Folien hin- und herspringen. Den Präsentationsschalter verlassen Sie mit Schalter End Presentation über den Folien.
Präsentation
23.3.2 Eigenes Template Sicherlich wollen Sie nicht auf Dauer das Testtemplate des TWikis für Ihre Präsentation heranziehen, sondern die Möglichkeit nutzen, Ihr eigenes Layout festzulegen. Wo Sie Ihre Vorlage definieren, ist grundsätzlich egal: Sie können ein eigenes Topic dafür erstellen oder das Template in der Seite einfügen, in der sich auch die Präsentation befindet. Allerdings sollte es pro Topic nur ein Template geben, da es über den Seitentitel eingebunden wird. Die Vorlage umrahmen Sie mit den Variablen %STARTINCLUDE% und %STOPINCLUDE%. Dazwischen verwenden Sie eine HTML-Tabelle, die das Design Ihrer Folie definiert. So können Sie z. B. die erste Reihe für den Folientitel gestalten, indem Sie hier ein Logo und den Platzhalter %SLIDETITLE% einsetzen. Folgende Variablen stehen Ihnen für das Template zur Verfügung:
23.3 Vorträge mit Präsentation (SlideShow-Plugin)
361
Tab. 23.1
Variable %SLIDETITLE% %SLIDETEXT% %SLIDENUM% %SLIDEMAX% %SLIDENAV%
Bedeutung Folientitel. Folientext. Aktuelle Foliennummer. Nummer der letzten Folie Navigationsschalter Erste, Vorherige und Nächste Folie. %SLIDENAVALL% Navigationsschalter Erste, Vorherige, Nächste und Letzte Folie. %SLIDENAVFIRST% Navigationsschalter Erste Folie. %SLIDENAVPREV% Navigationsschalter Vorherige Folie. %SLIDENAVNEXT% Navigationsschalter Nächste Folie. %SLIDENAVLAST% Navigationsschalter Letzte Folie. Natürlich können Sie auch alle anderen Gestaltungsmöglichkeiten von HTML-Tabellen, z. B. Hintergrundfarbe, Textausrichtung etc. nutzen. Am einfachsten ist es jedoch, das Standardtemplate auf der Seite SlideShowPlugin zu ändern oder dieses zu kopieren und dann zu bearbeiten. Dafür hat sich auch Harry Jäger entschieden. Allerdings mussten an der Kopie des Templates neben dem neuem Logo auch einige andere Einstellungen vorgenommen werden: So wird im Standardtemplate eine Grafikdatei clearpixel.jpg eingebunden, auf die auch das modifizierte Template nach wie vor zugreifen möchte. Dazu muss der Pfad zum Topic SlideShowPlugin im TWiki-Web gesetzt werden:
↵
Hier sehen Sie das vollständige Template der Eröffnungsrede auf der Seite KonferenzEröffnung: %STARTINCLUDE%
| %SLIDETITLE% |
362
23 Veranstaltungsdurchführung und Dokumentation
↵
|
%SLIDENAVALL% | Slide %SLIDENUM% of %SLIDEMAX% | |
%STOPINCLUDE%
23.3 Vorträge mit Präsentation (SlideShow-Plugin)
363
Wenn man dieses in der Seitenansicht betrachtet, erhält man folgendes Bild: Abb. 23.5
Es gibt nun zwei Möglichkeiten, das Template einer Präsentation zuzuweisen. Sie können es als Standardtemplate in der Variable %TEMPLATE% der Seite TWikiDrawPlugin definieren, z. B. mit Set TEMPLATE=KonferenzEröffnung In diesem Fall wird diese Vorlage automatisch jeder Präsentation im TWiki zugewiesen. Oder aber Sie binden das Template einmalig in eine einzelne Präsentation ein, indem Sie es der Variablen %SLIDESHOWSTART% als Parameter übergeben. In unserem Beispiel ist folgendes einzufügen: %SLIDESHOWSTART {template= "KonferenzEröffnung"}% Die dritte Folie des Eröffnungsvortrages sieht nach dem Einbinden des Templates folgendermaßen aus:
364
23 Veranstaltungsdurchführung und Dokumentation
Abb. 23.6
Bevor wir den Bereich der Präsentationen wieder verlassen, werfen wir noch einen kleinen Blick auf die Voreinstellungen des Plugins, die Sie direkt auf der Plugin-Seite einsehen und ändern können: Variable %TEMPLATE%
%HIDECOMMENTS%
Bedeutung Definiert das Standardtemplate für alle Präsentationen im TWiki Beispiel: Set TEMPLATE = KonferenzEröffnung Aktiviert oder deaktiviert die Möglichkeit in der Präsentation Kommentare anzugeben Beispiel: Set HIDECOMMENTS = on
Voreinstellungen
Tab. 23.2
23.4 Statistiken mit Diagrammen visualisieren (ChartPlugin) Diagramme sind für Visualisierungen unersetzlich. Darstellungen von Trends und Statistiken sind aus Projekten und auch aus unserer Konferenz nicht wegzudenken. Sie möchten die Anzahl der Besucher über die Konferenztage hinweg darstellen, oder die Ausgaben-
Statistik
23.4 Statistiken mit Diagrammen visualisieren (Chart-Plugin)
365
Funktionsweise
entwicklung über die Dauer des Projekts? Wir möchten Ihnen gegen Ende unseres Wiki-Projekts noch das Chart-Plugin vorstellen. Mit ihm können Sie sehr einfach Diagramme im Wiki zeichnen. Das Plugin stellt eine Funktionalität zur Verfügung, die man oft von Tabellenkalkulationen kennt: Aufgrund einer gekennzeichneten Datenbasis generiert das Programm ein Diagramm. Im TWiki besteht die Datenbasis aus einer Tabelle, die sich standardgemäß im selben Topic befinden sollte. Es gibt aber auch die Möglichkeit, Tabellen aus anderen Seiten zu benennen. Zur Auswahl stehen fünf verschiedene Diagrammtypen, die zusätzlich miteinander kombiniert werden können. Außerdem ist es möglich individuell oder als Standard mehrere Diagrammparameter, wie z. B. die Farbkombinationen einzustellen. Das generierte Diagramm wird als Bild im jpeg- oder png-Format erstellt. Alle Diagramme einer Seite befinden sich in einem öffentlichen Ordner des jeweiligen Webs. Damit haben Sie natürlich auch von anderen Seiten aus Zugriff auf die Diagramme. Hinweis: Für das Chart-Plugin benötigen Sie das zusätzliche PerlModul GD. Dies müssen Sie gegebenenfalls mit CPAN nachinstallieren. GD wiederum setzt voraus, dass sich auf Ihrem System die Grafik-Bibliothek gdlib befindet. Nähere Informationen dazu finden Sie unter http://www.boutell.com/gd/.
23.4.1 Syntax Um ein Diagramm auf einer Seite zu erstellen, fügen Sie die Variable %CHART{...}% an entsprechender Stelle ein. Innerhalb der geschweiften Klammern sind der Diagrammtyp, die Datenquelle und die Diagrammeigenschaften festzulegen. Einige Parameter wie z. B. xlabel erwarten dabei Informationen zu Tabellenbereichen. Diese entsprechen den Angaben, die Sie schon von unseren Ausführungen zum Spreadsheet-Plugin kennen: Eine Zelle definiert sich durch eine Zeilen- und eine Spaltenangabe, z. B. R1:C1 für die Zelle in der ersten Zeile der ersten Spalte. Ein Tabellenbereich wird wiederum durch zwei Zellen festgelegt, so werden z. B. mit R2:C1..R5:C7 die entsprechenden achtundzwanzig Zellen angesprochen. Hier ein kleines Beispiel:
366
23 Veranstaltungsdurchführung und Dokumentation
Abb. 23.7
Diese sieht im Quelltext folgendermaßen aus: %TABLE{name="Beispiel_1"}% | | Jäger | Sammler | Schamanen | | 1. Tag | 40 | 59 | 11 | | 2. Tag | 32 | 62 | 9 | Der Grund, warum wir hier nochmals auf den Quellcode der Tabelle eingehen, ist die %TABLE%-Variable in der ersten Zeile, die zum sog. Table-Plugin gehört, das wir an dieser Stelle unbedingt erwähnen sollten. Dieses Plugin ist standardmäßig installiert und ermöglicht es einer Tabelle in der Pipe-Syntax Formatierungs- und Sortierungsparameter mitzugeben, wie z. B. eine Hintergrundfarbe. Hierzu gehört aber auch, dass man der Tabelle einen Namen geben kann, was für unsere Diagrammerstellung unbedingt notwendig ist, um die gewünschte Datenbasis eindeutig mit der Eigenschaft table zu benennen. Daher ist an dieser Stelle nur der Parameter name relevant, den wir mit Beispiel_1 belegt haben. Weitere Optionen des Plugins werden wir hier nicht ausführen. Wir wollen nun die Daten der Tabelle Beispiel_1 in einem Säulendiagramm abbilden. Die Codezeile dazu sieht folgendermaßen aus: %CHART{ type="bar" name="Balken_1" table="Beispiel_1" data="R2:C2..R3:C4" xaxis="R1:C2..R1:C4" legend="R2:C1..R3:C1" ymin="0" width="225" title="Besucher" height="200" }%
Table-Plugin
↵ ↵ ↵ ↵
Daraus wird nun folgendes Bild Balken_1.png erstellt und in %PUBURL%/%WEB%/%TOPIC%/ _ChartPlugin__.png
↵
abgelegt.
23.4 Statistiken mit Diagrammen visualisieren (Chart-Plugin)
367
Abb. 23.8
Die Liste der möglichen Parameter für das Diagramm ist beträchtlich. Wirklich notwendig sind jedoch nur name, table und data. Tab. 23.3
%CHART%Parameter type
Beschreibung Hauptdiagrammtyp area = Flächendiagramm bar = Balkendiagramm line =Liniendiagramm scatter =Punktediagramm combo = Kombinationsdiagramm
subtype
scale name web topic table title xlabel ylabel data defaultdata xaxis
Diagrammtypen der restlichen Datenreihen für den Haupttyp Combo; mögliche Kombinationen: area, bar, line, point, pline. Flächen und Balkendiagramm sollten nicht in einem Diagramm gemischt werden. Linear oder semilogarithmisch. Bezeichnung, um das Diagramm eindeutig zu kennzeichnen. Web, in dem das Topic mit der Basistabelle liegt. Topic, die die Basistabelle enthält. Basistabelle Diagrammtitel; erscheint über dem Diagramm. Beschriftung der X-Achse. Beschriftung der Y-Achse. Wertebereich der Tabelle, der abgebildet werden soll. Ersatzwert, wenn eine Zelle leer ist.
Werte der X-Achse; wird als Zellenbereich angegeben. xaxisang- Winkel, in dem die Werte der X-Achse angezeigt
368
23 Veranstaltungsdurchführung und Dokumentation
%CHART%Parameter le yaxis ymin ymax xgrid
Beschreibung
Tab. 23.3 (Fortsetzung)
werden; O bedeutet horizontal, alle anderen Zahlen vertikal. Werte der Y-Achse; off bedeutet, dass diese nicht angezeigt werden. Minimum, das auf der Y-Achse angezeigt wird. Maximum, das auf der Y-Achse angezeigt wird. Gitternetzlinien auf der X-Achsen-Ebene: on: durchgezogene Linien off: keine Linien dot: gepunktete Linien
Gitternetzlinien auf der Y-Achsen-Ebene; Werte wie bei xgrid. numygrids Anzahl der Gitternetzlinien auf der Y-AchsenEbene. numxgrids Anzahl der Gitternetzlinien auf der X-AchsenEbene. datalabel Einzelne Datenpunkte werden angezeigt: on: Werte werden angezeigt
ygrid
off: Werte werden nicht angezeigt box:Werte werden in der Box angezeigt off,off,box: jeder dritte Wert wird angezeigt Legende, die auf der rechten Seite des Diagramms angezeigt wird; wird über einen Tabellenbereich definiert. width Breite des Diagramms in Pixeln. height Höhe des Diagramms in Pixeln. colors Farben, die für die Datenreihen verwendet werden. bgcolor Hintergrundfarbe des Diagramms. gridcolor Farbe der Gitternetzlinien. linewidth Linienbreite der Kurve in Pixel. pointsize Breite eines Datenpunktes in Pixeln (sowohl in Richtung der X als auch in Richtung der Y-Achse). legend
23.4.2 Diagrammtypen Die nachfolgenden Diagramme wurden mit den Daten dieser Tabelle generiert:
23.4 Statistiken mit Diagrammen visualisieren (Chart-Plugin)
369
Abb. 23.9
Hier sehen Sie also das Chart-Plugin in Aktion: Tab. 23.4
Flächendiagramm: %CHART{ type="area" name="getreideanbau_ flaeche" table="anbau" data="R2:C2..R5:C5" xaxis="R1:C2..R1:C6" legend="R2:C1..R5:C1" width="250" height="200" }% Balkendiagramm: %CHART{ type="bar" name="getreideanbau_ saeule" table="anbau" data="R2:C2..R5:C5" xaxis="R1:C2..R1:C5" legend="R2:C1..R5:C1" width="250" height="200" }% Liniendiagramm: %CHART{ type="bar" name="getreideanbau_ linie" table="anbau" data="R2:C2..R5:C5" xaxis="R1:C2..R1:C5" legend="R2:C1..R5:C1" width="250" datalabel=”on” height="200" }%
370
23 Veranstaltungsdurchführung und Dokumentation
Punktdiagramm: %CHART{ type="bar" name="getreideanbau_ punkt" table="anbau" data="R2:C2..R5:C5" xaxis="R1:C2..R1:C5" legend="R2:C1..R5:C1" width="250" height="200" }%
Tab. 23.4 (Fortsetzung)
Kombinationsdiagramm I: %CHART{ type="combo" subtype="area,pline,poin t,line" name="getreide anbau_combo_eins" table="anbau" data="R2:C2..R5:C5" xaxis="R1:C2..R1:C5" legend="R2:C1..R5:C1" width="250" height="200" }% Kombinationsdiagramm II: %CHART{ type="combo" subtype="bar,pline, point,line" name="getreide anbau_combo_zwei" R5:C5" xaxis= "R1:C2..R1:C5" legend="R2:C1..R5:C1" width="250" height="200" } Falls die erforderlichen Parameter nicht definiert sind, wird anstelle des Diagramms eine Fehlermeldung ausgegeben. Viele der Variablen, mit denen Sie in den Voreinstellungen (Plugin-Seite) ein Standarddiagramm gestalten können, kennen Sie schon von den Parametern der %CHART%-Variablen: TYPE, WIDTH, HEIGHT, AREA_COLORS, LINE_COLORS, BGCOLOR, GRIDCOLOR, NUMYGRIDS, DEFAULTDATA,
23.4 Statistiken mit Diagrammen visualisieren (Chart-Plugin)
Voreinstellungen
371
SCALE, LINEWIDTH, POINTSIZE. Zudem finden Sie hier einige für das Balkendiagramm spezifische Optionen: Tab. 23.5
Variable %BARLEADING SPACE% %BARTRAILING SPACE% %BARSPACE%
Bedeutung Anzahl der Pixel vor dem ersten Balken Beispiel: Set BARLEADINGSPACE = 6 Anzahl der Pixel nach dem letzten Balken Beispiel: Set BARTRAILINGSPACE = 6 Anzahl der Pixel zwischen den Balken Beispiel: Set BARSPACE = 5
23.5 Letzte Schritte: Feedback und Dokumentation Feedback
Evaluation
Archivierung
372
Die Nachbearbeitung von Projekten wird häufig vernachlässigt. Es ist aber für künftige Projekte sehr wichtig, die gemachten Erfahrungen zu sammeln. Es sollte dokumentiert werden, was gut lief und was besser laufen könnte. Ein positives Feedback und eine ehrliche Bestandsaufnahme motivieren für neue Aufgaben. Unausgesprochene und unerledigte Konflikte dagegen wirken lähmend. Fehlt eine Feedbackrunde, ist das Projekt unabgeschlossen. Für die Gruppe selbst hat die Evaluation des Projekts eine wichtige Funktion. Gerade in den letzten Stressphasen kommt es zu Missverständnissen oder es bauen sich Spannungen zwischen den Beteiligten auf, die nicht besprochen werden konnten. Wieder ist wichtig, dass aus den Erkenntnissen Konsequenzen gezogen werden, und eine ernsthafte Verbesserung für zukünftige Projektarbeiten erwartet werden kann. Nicht selten landen Abschlussberichte von Projekten ungelesen im Ordner, was zusätzlich Frust bereitet. Richten Sie für das Feedback eine eigene Evaluationsseite ein, auf der positive wie negative Rückmeldungen gesammelt werden. Das kann zunächst anonym in einer eigenen Auswertungssitzung geschehen. Zu klären ist: Wurden die Ziele erreicht? Warum (nicht)? Was sollte das nächste Mal anders laufen und was hat sich bewährt? Zuletzt muss das Wiki für die Dokumentation ggf. noch überarbeitet werden, damit auch Außenstehende die gesuchten Informationen schnell finden können (Überblicksseiten). Das kann u. U. sehr zeitaufwändig werden. Im Idealfall enthält das Wiki schon alle notwendigen Inhalte. Das Wiki dokumentiert durch die History-Seiten sehr detailliert die Entwicklung des Projekts. Es kann aber sein, dass noch Inhalte nachgereicht werden: Vielleicht sind noch abfotogra-
23 Veranstaltungsdurchführung und Dokumentation
fierte Plakate, Arbeitsergebnisse und Protokolle einzuarbeiten. Sie müssen sich entscheiden, welche Bereiche geschlossen werden sollen und welche für die Fortführung des Projekts benötigt werden. Hinweis: Sichern Sie auf jeden Fall sensible Daten, wie die Teilnehmerlisten und die User-Pages, gegen unberechtigte Zugriffe. Eine Bildergalerie, die Atmosphäre des Projekts ausstrahlt, ist ein netter und beliebter Abschluss des Projekts.
23.5 Letzte Schritte: Feedback und Dokumentation
Bildergalerie
373
V. Alles im Fluss: Confluence
24 Confluence installieren
24.1 Atlassian Software Systems Confluence (dt. Zusammenfluss) ist eine bisher nur auf Englisch verfügbare Wiki-Engine, die sich wegen ihres WYSIWYG-Editors und ihrer integrierten Benutzerrechteverwaltung auch für den Einsatz in Unternehmen eignet. Die Lizenznehmer dieser kommerziellen Software erhalten den Quellcode und können ihn weiterentwickeln. Hersteller von Confluence ist das australische Software-Unternehmen Atlassian Software Systems Pty Ltd. Atlassian wurde 2002 von Scott Farquhar und Mike Cannon-Brookes direkt nach dem Studium mit einem Startkapital von $ 1.000 gegründet. Ungefähr 100 Mitarbeiter erwirtschafteten mit ca. 6.000 Kunden in 65 Ländern im Jahr 2006 Einnahmen in Höhe von $ 12,2 Mio.1 Im selben Jahr gewannen die beiden Gründer den Wettbewerb „Australian Entrepreneur of the Year“, der vom Beratungsunternehmen Ernst&Young ausgeschrieben wird2. Einige Confluence-Installationen sind öffentlich zugänglich, z.B.: IBM Wikis für Entwickler3
Hintergrund
Öffentliche ConfluenceInstallationen
Sony Ericsson Wikis für Entwickler4 1
http://confluence.atlassian.com/display/NEWS/Atlassian+History +and+Background 2 http://www.ey.com/GLOBAL/content.nsf/Australia/EOY_-_2006_ Australian_Entrepreneur_Of_The_Year 3 http://www-03.ibm.com/developerworks/wikis/dashboard.action 4 http://developer.sonyericsson.com/wiki/display/leftnav/ Welcome+to+our+Wiki+community
24.1 Atlassian Software Systems
377
Im Fokus: Unternehmen
Diese Beispiele sind typisch für Wikis, die ihren Ursprung in der Software-Entwicklung haben. Doch Atlassian nimmt für sich in Anspruch „das“ Enterprise Wiki anzubieten und somit auch Branchen wie z. B. Banken und Versicherungen, Biotechnologie, Telekommunikation und Beratung zu bedienen.
24.2 Lizenzen Verankerung in der Open Source Community
Privatpersonen können Confluence kostenlos herunterladen und mit zwei Benutzern ausprobieren. Support ist dabei nicht eingeschlossen. Darüber hinaus bietet Atlassian kommerzielle, akademische und Community-Lizenzen an. Eine kommerzielle Lizenz für eine unbegrenzte Anzahl von Benutzern kostet z. B. $ 8.000. Community-Lizenzen, die für Open Source-Projekte und Non-Profit-Organisationen angeboten werden, sind – unter gewissen Auflagen – kostenlos. Atlassian unterstützt so die Open Source-Bewegung und nutzt sie für Weiterentwicklungen.5 Alle Lizenzen umfassen den Quellcode und ermöglichen so eine weitgehende Anpassung an kundenspezifische Anforderungen. Seit kurzem wird außerdem ein Hosting Service für Confluence angeboten, die Kosten richten sich nach der Anzahl der Benutzer und die Konfigurationsmöglichkeiten sind eingeschränkt. Für die Installation ist ein Lizenzschlüssel nötig, der nach Registrierung online generiert und per Mail zugeschickt werden kann.
24.3 Architektur Die zum Zeitpunkt der Drucklegung aktuelle Version ist Confluence 2.5.x.6 Es können mehrere Application Server und relationale Datenbanken verwendet werden, siehe dazu Kapitel 24.5. Das Standalone Bundle hat u.a. folgende wichtige Bestandteile: Webserver und Servlet Container: Apache Tomcat7 Datenbank: HSQL8 5
http://www.atlassian.com/software/confluence/pricing.jsp http://confluence.atlassian.com/display/DOC/Release+Notes 7 http://tomcat.apache.org/ 8 http://hsqldb.org/ 6
378
24 Confluence installieren
Volltextsuchmaschine: Apache Lucene9 Template-Engine: Velocity10
24.4 Systemvoraussetzungen Confluence basiert auf der Java Plattform Enterprise Edition 5 und ist somit für alle gängigen Betriebssysteme wie Windows, Linux, Mac OS X und diverse Unix-Derivate verfügbar.
Prozessor RAM Plattenplatz
< 25 gleichzeitige Benutzer Pentium IV 1 GHz o. vergleichbar 256 MB 500 MB
≥ 25 gleichzeitige Benutzer Pentium Xeon Dual-Core o. vergleichbar 512 MB 500 MB
Plattformunabhängigkeit
Tab. 24.1
Der Client benötigt einen Internet Explorer ab Version 6, einen Firefox oder einen anderen auf Mozilla basierenden Browser. Die Anforderungen an die Server-Hardware hängen insbesondere ab von der: Anzahl der Benutzer, die gleichzeitig online arbeiten, der Anzahl der Spaces – gemeint sind damit Unterwikis – und der Anzahl der Seiten Atlassians Empfehlungen zur Server-Hardware sind in Tab. 24.1 zusammengefasst. Diese Richtwerte können nur ein grober Anhaltspunkt sein, da die Konfigurationsmöglichkeiten für Confluence – gerade was Plugins betrifft – sehr zahlreich sind. Erfahrungen in der Praxis haben gezeigt, dass für eine befriedigende Confluence-Performance an der Server-Hardware nicht gespart werden sollte und die oben genannte Ausstattung ein Minimum darstellt. Beim Plattenplatz fallen besonders die Attachments, die schnell 10 Mal mehr Platz beanspruchen können als die restlichen Daten, ins Gewicht. Häufig verwendete Attachments sollten daher möglichst auf jeweils eine Wiki-Seite ausgelagert werden. Seit Confluence 2.3 ist eine Cluster-Installation möglich. Es sind laut Hersteller Installationen mit jeweils bis zu 1.700 Spaces, 15.000 9
Skalierbarkeit
http://lucene.apache.org/ http://velocity.apache.org
10
24.4 Systemvoraussetzungen
379
Benutzern, 100.000 LDAP-Benutzern und 80.000 Wiki-Seiten im Einsatz.11 Diese Zahlen sind aus der Praxis heraus allerdings mit Vorsicht zu genießen und sollten nicht zu allzu großem Optimismus führen.
24.5 Installationsmöglichkeiten Es gibt vier verschiedene Möglichkeiten, Confluence zu installieren. Sie unterscheiden sich bzgl. ihres Anwendungskontexts. Hinweis: Bei der Installation muss beachtet werden, dass im Installationspfad keine Leerzeichen vorkommen dürfen. Ebenso wenig empfehlen sich andere Sonderzeichen. Fehler dieser Art lassen sich später schwer lokalisieren, da bei Startproblemen zunächst die Wahl des Ports, die Firewall oder der Virenscanner überprüft werden.
24.5.1 Standalone Die einfachste und schnellste Möglichkeit, Confluence auszuprobieren, ist die Standalone-Installation, die in einem Bundle mit einer vorkonfigurierten HSQL-Datenbank in einer knapp 60 MB großen Zip-Datei geliefert wird und in wenigen Minuten startklar ist. HSQL ist eine vollständig in Java programmierte relationale Datenbank, die auch in OpenOffice.org 2.0 Verwendung findet.12 Als Application Server ist in dem Bundle Apache Tomcat integriert.
24.5.2 EAR-WAR Für den ernsthaften Unternehmenseinsatz sollte eine externe Datenbank verwendet werden, da HSQL keine Transaktionssicherheit bietet. Voll unterstützt werden momentan folgende relationale Datenbanken:13 11
http://confluence.atlassian.com/display/DOC/Server+Hardware +Requirements+Guide 12 http://hsqldb.org/ 13 http://confluence.atlassian.com/display/DOC/Confluence +Installation+Guide
380
24 Confluence installieren
PostgreSQL ab Version 8 MySQL ab Version 4.1 (5.0 bisher noch nicht) Oracle ab Version 10g DB2 ab Version 8.2 „EAR“ steht für „Enterprise Application Archive“, „WAR“ für „Web Application Archive“. Soll Confluence in einen bestehenden Application Server integriert werden, stehen neben dem bereits erwähnten Apache Tomcat zur Wahl: BEA WebLogic ab Version 8.1 SP3 Caucho Resin ab Version 2.11.11 JBoss Application Server Ironflare AB Orion ab Version 2.0.2 IBM WebSphere ab Version 5.1.1.3 Bisher nicht getestet sind Macromedia JRun und Microsoft IIS Server. Oracle OC4J, Sun Application Server und GlassFish sind inkompatibel.
24.5.3 Cluster Installation Seit der Version 2.3 kann Confluence in einem Cluster installiert werden. Dies ist für Unternehmen nach der EAR-WAR-Installation von großem Interesse, um die Skalierbarkeit von Confluence zu sichern. Neben einer speziellen Cluster-Lizenz werden für jeden Knoten eine externe Datenbank und ein Load Balancer benötigt.
24.5.4 Confluence Hosting Eine weitere interessante Option für kleine Unternehmen, die schnell ein Wiki-Projekt starten möchten, ist das Confluence Hosting über Atlassian.14 Die Kosten starten bei US$ 49 für 15 Benutzer pro Monat, 500 Benutzer im Jahr werden mit US$ 4.490 verrechnet.
14
Confluence als Application Service ProviderLösung
http://www.atlassian.com/software/confluence/hosted.jsp
24.5 Installationsmöglichkeiten
381
Die Vorteile liegen in den klar begrenzten IT-Kosten, die Nachteile vor allem darin, dass keine Plugins installiert werden können, keine LDAP- und Mail-Integration möglich ist und die Konfigurationen insgesamt starrer sind. Außerdem darf die Größe der Attachments insgesamt bei der gehosteten Variante 10 GB nicht überschreiten. Auch derjenige, der eine andere Installationsvariante wählt, sollte diese Beschränkungen für die erste, eigene Installation in Erwägung ziehen, da die Administration so – offensichtlich – am wenigsten Probleme bereitet.
24.6 Installation Standalone Confluence schnell kennenlernen
Wir wollen uns in diesem Abschnitt auf die Installation der Standalone-Variante unter der persönlichen Lizenz beschränken. Zum einen ist dies für jeden Interessenten die schnellste Möglichkeit, Confluence kennen zu lernen. Zum anderen sind die bereits aufgezeigten Installationsmöglichkeiten und Kombinationen mit verschiedenen Application Servern und Datenbanken so vielfältig, dass dies den Rahmen sprengen würde. Gerade weil die Standalone-Installation so schnell und einfach vorgenommen werden kann, möchten wir an dieser Stelle nochmals ausdrücklich darauf hinweisen, dass die Confluence-Integration in die produktive IT-Infrastruktur eines Unternehmens komplex und zeitaufwändig ist.
24.6.1 Installation unter Windows Die Windows-Installation orientiert sich an Vista. Für XP und 2000 ergeben sich allerdings kaum Abweichungen. JDK 1.5 installieren Für die Confluence-Installation reicht die Java Runtime Environment (JRE) nicht aus, es muss das Java Development Kit (JDK) installiert werden.15 Wer dies schon erledigt hat, kann diesen Abschnitt überspringen. Wer sich nicht sicher ist, ob er das JDK schon für andere Zwecke installiert hat oder sich unsicher ist, welche Version er nutzt, kann
15
http://confluence.atlassian.com/display/DOC/ Confluence+Installation+Guide
382
24 Confluence installieren
dies herausfinden, indem er unter START auf AUSFÜHREN klickt und cmd aufruft. In der Kommandozeile muss man nun echo %JAVA_HOME% eingeben und erhält beispielsweise c:\j2sdk1.4.2_10 Da Atlassian die schnellere und verlässlichere Version 1.5 empfiehlt – 1.6 wird noch nicht voll unterstützt – sollte man sich in diesem Fall die neuere Version von der Sun-Website herunterladen.16 Das Windows Kit ist knapp 50 MB groß und kann über einen Installer einfach in ein beliebiges Verzeichnis installiert werden. Dieses Verzeichnis – z. B. c:\jdk1.5.0_08 – sollten Sie sich notieren, da Sie diese Information für den nächsten Schritt benötigen. Nun muss im Betriebssystem noch eindeutig hinterlegt werden, in welchem Pfad das JDK zu finden ist. Dazu ruft man Systemsteuerung – System auf und klickt im Reiter Erweitert auf Umgebungsvariable. Mit dem Button Neu bei den Systemvariablen kann nun als Name der Variablen „JAVA_HOME“ und als Wert der Variablen „c:\jdk1.5.0_08“ eingetragen und mit OK bestätigt werden. Abb. 24.1 veranschaulicht die eben beschriebenen Schritte. Confluence Download und Konfiguration Zunächst muss sich der Lizenznehmer in üblicher Form registrieren17 und dabei Name, Vorname, E-Mailadresse, Passwort, Ort und Bezug („Where did you hear about us?“) angeben. Da dies leider über eine unverschlüsselte Verbindung geschieht, sollte zumindest nicht dasselbe Passwort wie für das entsprechende E-Mail-Konto gewählt werden. Die Zip-Datei für den Download ist knapp 60 MB groß und kann mit WinZip oder einem ähnlichen Tool in ein beliebiges Verzeichnis entpackt werden, z.B. c:\confluence-2.5.4-std Nun muss noch ein Verzeichnis angelegt werden, in dem Confluence seine Daten halten kann, z. B. c:\confluence\data 16 17
http://java.sun.com/j2se/1.5.0/jdk/download.jsp http://my.atlassian.com
24.6 Installationsmöglichkeiten
383
Abb. 24.1
Für die Standalone-Installation muss in der Regel nur eine manuelle Änderung in einer Konfigurationsdatei vorgenommen werden. Im Verzeichnis c:\confluence-2.5.4-std\confluence\WEBINF\classes\ muss in der Datei confluence-init.properties das eben angelegte Confluence-Home-Verzeichnis angegeben werden, in unserem Fall also confluence.home=c:\confluence\data Es muss nur das Kommentarzeichen # gelöscht und die UnixSlashes / in Windows-Backslashes \ abgeändert werden.
384
24 Confluence installieren
Falls der Port 8080 bereits belegt ist, funktioniert der im folgenden Kapitel geschilderte Confluence-Start nicht und der alternative Port muss in der Datei server.xml im Verzeichnis c:\confluence-2.5.4-std\conf anstelle von „8080“ eingetragen werden: