Xpert
.p r e s s
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
Wiki-Tools Kooperation im Web Mit einem Vorwort von Gunter Dueck
Mit 81 Abbildungen, 47 Tabellen und CD-ROM
123
Anja Ebersbach Ostengasse 10 93047 Regensburg, Germany
[email protected] Markus Glaser Brunhuberstr. 14 93053 Regensburg, Germany
[email protected] Richard Heigl Ostengasse 10 93047 Regensburg, Germany
[email protected] Bibliografische Information der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.ddb.de abrufbar.
ISSN 1439-5428 ISBN 3-540-22939-6 Springer Berlin Heidelberg New York 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. Springer ist nicht Urheber der Daten und Programme. Weder Springer noch die Autoren übernehmen die Haftung für die CD-ROM und das Buch, einschließlich ihrer Qualität, Handels- und Anwendungseignung. In keinem Fall übernehmen Springer oder die Autoren Haftung für direkte, indirekte, zufällige oder Folgeschäden, die sich aus der Nutzung der CD-ROM oder des Buches ergeben. Springer ist ein Unternehmen von Springer Science+Business Media springer.de © Springer-Verlag Berlin Heidelberg 2005 Printed in The Netherlands 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 Markenschutzgesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Text und Abbildungen wurden mit größter Sorgfalt erarbeitet. Verlag und Autor können jedoch für eventuell verbliebene fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung übernehmen. Satz und Herstellung: LE-TeX Jelonek, Schmidt & Vöckler GbR, Leipzig Umschlaggestaltung: KünkelLopka Werbeagentur, Heidelberg Gedruckt auf säurefreiem Papier 33/3142/YL - 5 4 3 2 1 0
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
Die Autoren
Anja Ebersbach studierte Informationswissenschaft, Geschichte und Anglistik. Seit vier Jahren erfüllt sie verschiedene Lehraufträge an Universität und Fachhochschule und ist als freiberufliche IT-Trainerin tätig. Sie promoviert momentan an der TU Berlin im Bereich „Informatik und Gesellschaft“. Markus Glaser studierte Informationswissenschaft, Anglistik und Psychologie und ist als freiberuflicher Programmierer und IT-Dozent tätig. Er arbeitet derzeit als wissenschaftlicher Mitarbeiter an der Universitätsbibliothek Regensburg. Richard Heigl studierte Geschichtswissenschaft und Deutsche Philologie. Seine Promotion in Neuester Geschichte an der Universität Augsburg steht kurz vor dem Abschluss. Er ist freiberuflicher Dozent für Kommunikationstraining und Software-Anwendungen und arbeitet als Berater für Organisationsentwicklung mit den Schwerpunkten Selbstorganisation und kooperatives Lernen.
Die Autoren
■ ■ ■
IX
Inhalt
Einleitung .......................................................................................... 1 Für wen ist dieses Buch?......................................................... Zum inhaltlichen Konzept ...................................................... Zur Benutzung des Buchs ....................................................... Wir danken... ...........................................................................
1 2 3 4
Typographie ...................................................................................... 5
I. Das Wiki-Konzept 1
Das Wiki-Konzept................................................................. 9 1.1 1.2 1.3 1.4 1.5
Was ist ein Wiki?......................................................... 9 Die Technik der Wikis............................................... 15 Wiki-Klone................................................................. 18 Charakteristische Wiki-Funktionen........................... 19 Das Wiki-Phänomen.................................................. 21 1.5.1 Kreativität durch Gruppenprozesse............. 22 1.5.2 Grenzen der Wiki-Philosophie .................... 28
II. Unser erstes Wiki 2
Die Installation .................................................................... 35 2.1
2.2
Eine Testumgebung mit XAMPP.............................. 2.1.1 XAMPP für Windows ................................. 2.1.2 XAMPP für Linux ....................................... 2.1.3 Was passiert hier eigentlich? ....................... MediaWiki installieren .............................................. 2.2.1 Variante 1: Lokales System......................... 2.2.2 Variante 2: Installation auf einem Webhost 2.2.3 Fertigstellen der Installation im Browser ....
36 36 38 39 41 41 42 43
Inhalt
■ ■ ■
XI
3
Erste Schritte ....................................................................... 47 3.1 3.2 3.3 3.4 3.5
4
Die Kernfunktionen des MediaWikis ............................... 55 4.1 4.2 4.3 4.4 4.5 4.6 4.7
5
■ ■ ■
Inhalt
Navigation ................................................................ 111 Suchfunktion ............................................................ 115 Nutzerverwaltung..................................................... 117 Informationen übers Wiki........................................ 122 Wartung .................................................................... 123
Administration................................................................... 129 8.1 8.2
XII
Methoden zur Verlinkung.......................................... 81 Organisation des Inhalts............................................. 85 Seitenübergreifende Gestaltung I - Bilder................. 91 Seitenübergreifende Gestaltung II – Templates ........ 99 Weiterleitungen mit Redirects ................................. 107
Komponenten: die Funktionsseiten ................................ 109 7.1 7.2 7.3 7.4 7.5
8
Zeichenformatierung.................................................. 67 Sonderzeichen & Co. ................................................. 68 Überschriften und Absätze......................................... 71 Listen und Linien ....................................................... 72 Tabellen ...................................................................... 74 Inhaltsverzeichnis....................................................... 78
Seitenübergreifende Strukturierung................................. 81 6.1 6.2 6.3 6.4 6.5
7
Bearbeiten................................................................... 55 Diskutieren ................................................................. 59 Vergleichen ................................................................ 60 Verschieben und Umbenennen.................................. 62 Beobachten ................................................................. 63 Schützen ..................................................................... 64 Löschen ...................................................................... 65
Formatierung ....................................................................... 67 5.1 5.2 5.3 5.4 5.5 5.6
6
Das Wiki auf den ersten Blick ................................... 47 Hello World................................................................ 48 Erste Formatierungen................................................. 50 Der kleine Unterschied: Versionen............................ 53 Als User anmelden ..................................................... 54
Filestruktur und LocalSettings.php.......................... 129 Datenbank-Struktur.................................................. 135
8.3 8.4 8.5 9
Designfragen ............................................................ 138 Sicherheit.................................................................. 141 Update und Deinstallation ....................................... 142
Leben im MediaWiki ........................................................ 145 9.1 9.2 9.3 9.4
Mehr als nur Text..................................................... Erleichtern Sie den Einstieg .................................... Sie schreiben nicht allein ......................................... Anwendungsbeispiele.............................................. 9.4.1 Titelseite mit aktuellen Informationen ...... 9.4.2 Checkliste................................................... 9.4.3 Literaturdatenbank..................................... 9.4.4 Kalender .....................................................
145 147 148 150 150 151 152 153
III. TWiki, der Tausendsassa 10
TWiki installieren ............................................................. 159 10.1 Installation unter Linux............................................ 10.1.1 TWiki kopieren .......................................... 10.1.2 Apache konfigurieren ................................ 10.1.3 Dateien anpassen........................................ 10.1.4 Bibliothekspfad anpassen .......................... 10.2 TWiki ohne Admin-Account................................... 10.3 Installation unter Windows...................................... 10.3.1 Cygwin einrichten...................................... 10.3.2 Apache konfigurieren ................................ 10.3.3 TWiki kopieren .......................................... 10.4 TWiki-Installation fertig stellen .............................. 10.4.1 RCS Eigentümer ändern ............................ 10.4.2 Twiki.cfg anpassen .................................... 10.5 TWiki-Seiten ansehen..............................................
11
160 161 161 162 163 163 165 166 170 171 172 173 174 176
Arbeiten mit TWiki........................................................... 179 11.1 Was sind Webs?....................................................... 11.2 Eine Webseite .......................................................... 11.2.1 Die Menüleiste........................................... 11.2.2 Die Informationsleiste ............................... 11.2.3 Die Funktionsleiste .................................... 11.3 Das Editierfenster..................................................... 11.3.1 Speicheroptionen ....................................... 11.3.2 Speichern....................................................
179 180 181 185 185 191 191 192
Inhalt
■ ■ ■
XIII
12
Formatierung im TWiki ................................................... 195 12.1 Zeichenformatierung................................................ 195 12.2 Tabellen .................................................................... 198 12.2.1 Wiki-Konvention ....................................... 198 12.2.2 Tabellen in HTML ..................................... 199 12.2.3 Tabellen mit dem -Tag............ 200 12.3 Links ......................................................................... 201 12.4 Einbinden von Bildern ............................................. 202 12.5 HTML im TWiki...................................................... 203 12.6 TWiki und JavaScript............................................... 203 12.7 TWiki Variablen....................................................... 204
13
Die Suche im TWiki .......................................................... 209 13.1 13.2 13.3 13.4
14
Userrechte im TWiki......................................................... 221 14.1 14.2 14.3 14.4 14.5 14.6
15
Die Suchfunktion ..................................................... 209 Effektiv suchen......................................................... 211 Suchen mit regulären Ausdrücken........................... 212 Eingebettete Suche................................................... 214
Authentifikation vs. Autorisierung .......................... 221 Useranmeldung aktivieren ....................................... 222 Passwortschutz einrichten........................................ 223 Zugangskontrolle...................................................... 224 Strategien für Nutzerrechte ...................................... 228 Eine Mischstrategie bei der Authentifizierung........ 229
TWiki administrieren ....................................................... 235 15.1 Webs verwalten........................................................ 235 15.1.1 Einrichten ................................................... 235 15.1.2 Umbenennen, Löschen, Archivieren ......... 237 15.1.3 RSS-Feeds .................................................. 238 15.2 Topic-Vorlagen ........................................................ 239 15.3 Interwiki-Links......................................................... 241 15.4 User verwalten ......................................................... 242 15.5 E-Mail....................................................................... 243 15.6 Sicherheitsaspekte.................................................... 245 15.7 Backup der Daten..................................................... 246 15.8 Upgrade und Deinstallation ..................................... 247
XIV
■ ■ ■
Inhalt
16
Gestaltung des TWikis...................................................... 249 16.1 Das Erscheinungsbild gestalten............................... 16.1.1 Funktionselemente..................................... 16.1.2 FlexibleSkin ............................................... 16.1.3 Weitergehende Möglichkeiten .................. 16.2 TWiki auf Deutsch................................................... 16.2.1 Links mit Umlauten ................................... 16.2.2 Deutsche Übersetzung ............................... 16.3 Plugins und Add-ons................................................
249 251 257 260 263 264 265 266
IV. TWiki als Projektbaukasten 17
Vorüberlegungen............................................................... 271 17.1 Was ist ein Projekt? ................................................. 271 17.2 TWiki als Projektwerkzeug ..................................... 274 17.3 Flache Hierarchien: Verhältnis von Moderation und Team.................................................................. 277
18
Konzeptionsphase: Ideen sammeln und Projekt skizzieren............................................................................ 281 18.1 Arbeitsgrundlagen festlegen .................................... 18.2 Kooperativ Ideen sammeln und Projektskizze verfassen................................................................... 18.3 Protokollieren mit Wikis.......................................... 18.4 Texte schreiben mit Editor-Plugin........................... 18.4.1 Installation des Kupu-Editor-Add-ons ...... 18.4.2 Features ...................................................... 18.4.3 Importieren und Exportieren anderer Textformate................................................
19
281 283 286 288 289 290 294
Ausarbeitung des Projektplans ....................................... 295 19.1 19.2 19.3 19.4
Arbeitspakete schnüren............................................ 295 Der Projektablaufplan.............................................. 298 Aufgaben verteilen und Gruppen bilden ................. 300 Strukturen und Abläufe skizzieren mit dem Zeichen-Plugin (TWikiDraw-Plugin) ..................... 303 19.5 Die Werkzeuge......................................................... 305 19.6 To-do-Liste mit EditTable-Plugin ........................... 307 19.6.1 Formatierung der ganzen Tabelle.............. 308
Inhalt
■ ■ ■
XV
19.6.2 Parameter.................................................... 309 19.6.3 Formatierung für einzelne Zellen festlegen............................ 312 19.7 Kosten und Finanzen planen mit Tabellen (Spreadsheet-Plugin)................................................ 314 19.7.1 Syntax......................................................... 315 19.7.2 Wichtige Funktionen.................................. 318 19.7.3 Export/Import von Excel-Dateien ............. 321 20
Veranstaltungsvorbereitung ............................................ 323 20.1 Veranstaltungsplanung............................................. 323 20.2 Konferenzanmeldung............................................... 324 20.2.1 Was passiert bei einer Standardanmeldung?.................................. 324 20.2.2 Das AnmeldeWeb ....................................... 325 20.2.3 Gestaltung des Anmeldeformulars ............ 325 20.2.4 Speichern und Schützen der Daten............ 329 20.2.5 Navigation .................................................. 330 20.2.6 Bestätigungsseite/E-Mail und Fehlermeldungen........................................ 331
21
Veranstaltungsdurchführung und Dokumentation ...... 335 21.1 Im Veranstaltungsbüro............................................. 335 21.2 Teilnehmerverwaltung/Anmeldestand .................... 336 21.2.1 Seite InterneVerwaltung ............................ 336 21.2.2 Quittungen machen .................................... 339 21.2.3 Teilnehmerliste........................................... 341 21.3 Vorträge mit dem Präsentations-Plugin (SlideShow-Plugin).................................................. 342 21.3.1 Die Syntax .................................................. 343 21.3.2 Eigenes Template....................................... 345 21.4 Statistiken mit Diagrammen visualisieren (Chart-Plugin)........................................................... 349 21.4.1 Syntax......................................................... 350 21.4.2 Beispieltabelle ............................................ 353 21.5 Letzte Schritte: Feedback und Dokumentation.................................................. 356
XVI
■ ■ ■
Inhalt
V. Werkzeuge mit Zukunft 22
Werkzeuge mit Zukunft? Technische und soziale Perspektiven mit Wikis .................................................... 359 22.1 Technische Perspektiven ......................................... 22.1.1 Wiki-Editor? .............................................. 22.1.2 Standardisierung ........................................ 22.1.3 Projekte der Wikimedia-Gruppe ............... 22.2 Wiki-Technologie als Motor gesellschaftlichen Wandels?.................................................................. 22.2.1 Technik als Subjekt.................................... 22.2.2 Technik als Ideologie................................. 22.2.3 Wiki, ein demokratisches Medium?.......... 22.2.4 Eigentum .................................................... 22.2.5 Arbeitsformen ............................................ 22.2.6 Objektivität................................................. 22.2.7 Fortschritt? .................................................
359 359 360 361 365 367 368 370 371 374 376 380
A Installationen rund ums TWiki ............................................. 383 Cygwin ................................................................................ 383 Perl .......................................................................................385 Shebang ............................................................................... 386 RCS Eigentümer ändern ..................................................... 387 Glossar ........................................................................................... 389 Literaturverzeichnis..................................................................... 395 Stichwortverzeichnis .................................................................... 399
Inhalt
■ ■ ■
XVII
Einleitung
Wieso ein Buch über Wikis? Vor etwa einem Jahr 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 zwei Wikis ausgesucht, die wir Ihnen vorstellen wollen: Das weit verbreitete und einfachere MediaWiki und das TWiki als eine ambitionierte Wiki-Software. ■
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 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.
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 ihr, umfassende gesellschaftspolitische Diskussionen ausgelöst, die auf Tagungen wie der Wizards of OS oder 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 sich nicht, diese weiterzuspinnen. Wir sind sehr gespannt auf Ihre Reaktionen, Beiträge und Rückmeldungen und wollen diesen Debatten eine Plattform bieten. Auf unserer Internetseite www.wiki-tools.de besteht die Möglichkeit zu Ergänzungen, Nachfragen, Kritik und Anregungen – auch für die technische Seite von Wikis.
2
■ ■ ■
Einleitung
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. Das Wiki-Konzept gibt eine allgemeine Einleitung zu Wikis. Er behandelt alle Fragen, 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 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 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, der 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 Ein Projekt mit TWiki stellen wir TWiki als Werkzeug für die Organisation von selbstorganisierten Projekten vor. Hier wollen wir Ihnen weitere nützliche Plugins und Add-ons vorstellen. 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 ist dagegen leichter. Im Wesentlichen wollen wir zeigen, dass man mit Wikis längst nicht mehr „nur“ Enzyklopädien schreiben kann. Sie unterstützen, sondern sich auch jede andere Art von Projekt unterstützen.
■
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
Zur Benutzung des Buchs
■ ■ ■
3
ü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 und auf www.rakuba.de noch weitere nette Ideen parat hält. 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 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 gestanden hat.
Anja Ebersbach Markus Glaser Richard Heigl
4
■ ■ ■
Einleitung
Regensburg, den 18.01.2005
Typographie
In diesem Buch werden verschiedene Schreibweisen benutzt. kursiv fett Courier [kursiv] Courier MENÜ1 Æ MENÜ2
Wiki-Seiten- und Webtitel, Pfade und URLs Buttons (und Links, die als solche funktionieren) Eingaben und Quelltext Dieser Teil ist variabel und muss von Ihnen angepasst werden. Schritte auf dem Weg durch einen Menübaum 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 Quellcode in CSS
Typographie
■ ■ ■
5
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.
6
■ ■ ■
Typographie
I. Das Wiki-Konzept
1
Das Wiki-Konzept
Leser Autor WikiAdmin WebAdmin
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. Bei Menschen, die zum ersten Mal ein Wiki benutzen, oder davon hören, führen Wikis oft zu einem 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 Irritationen, weil wir annehmen, dass ein Beitrag von „anderen“ das eigene Werk zerstört. Wir sind es schlicht nicht ge-
1.1 Was ist ein Wiki?
Werkzeuge
■ ■ ■
9
wö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 1 lived. Still, it seems to work very well.” 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://www.wiki-tools.de auf. Klicken Sie in der linken Spalte auf „PhpWiki“. Jetzt sind Sie schon auf einer Wiki-Seite. Klicken Sie weiter auf SandKiste. 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 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. Weiterhin wird die freie Nutzung, Verbreitung und Bearbeitung des Programms gesichert.
Entstehung
Das erste Wiki mit dem Namen WikiWikiWeb wurde 1995 von 2 Ward Cunningham entwickelt. Der Softwareentwickler aus Portland, Oregon, wird zu den Pionieren in der Entwicklung neuer Methoden wie objektorientierte Programmierung, Design Patterns oder 1 2
10
■ ■ ■
Aronsson 2002. Leuf/Cunningham 2004.
1 Das Wiki-Konzept
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 3 ist bis heute in Betrieb. „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, PhpWiki, TikiWiki).
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 4 des Wiki-Konzepts über verschiedene Wiki-Klone 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.3.
1.1 Was ist ein Wiki?
■ ■ ■
11
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 (Start 2001) sind Wikis ei5 nem breiteren Publikum bekannt geworden. Bei Wikipedia wird das Wiki-Konzept eingesetzt, um enzyklopädisches Wissen kooperativ „von unten“ erarbeiten und darstellen zu können. Allein in der deutschsprachigen Ausgabe wurden bis Ende 2004 über 160.000 Artikel gemeinsam erarbeitet. Flaggschiff der Wiki-Technologie bleibt bislang jedoch die englische Ausgabe, für die im Zeitraum von 2001 bis Ende 2004 rund 450.000 Artikel geschrieben wurden. 5
Schwall 2004. Wikipedia ist ein Folgeprojekt der ebenfalls auf Wikis basierenden Nupedia
12
■ ■ ■
1 Das Wiki-Konzept
Weltweit erschienen 1,3 Millionen Artikel in über 200 Sprachen. Nach Aussage von Jimmy Wales, dem Gründer der Wikipedia, war sie Ende 2004 mit 400 Millionen Seitenaufrufen im Monat populärer 6 als die Webseiten von IBM oder Geocities. Wiktionary ist ein Bei7 spiel für ein auf einem Wiki basierendes Wörterbuch; Wikitravel ein weltweiter Reiseführer. Einige Softwareanleitungen und 8 hilfestellungen (z. B. German Smalltalk User Group ) haben Wikis zur Grundlage. Wikis dienen weiter als Fachinformationsmedium (z. 9 B. Jurawiki ). Wieder andere entdecken Wikis als alternative Form 10 zu Foren und Mailinglisten. 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 in 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 aufeinanderfolgende Zeilen als Listen formatiert, indem einfach ein Sternchen oder ein Strich vorangestellt wird. Zu anderen können Seiten innerhalb eines Wikis ganz einfach verlinkt werden, indem entweder aufeinanderfolgende Worte mit
Nichtlineare Hypertextstruktur
Einfacher und weitgehender Zugriff
6
http://www.wiktionary.org http://www.wikitravel.org 8 swiki.gsug.org:8080/GSUG.1 9 http://www.jurawiki.de 10 vgl. z. B. WikiUserTypes, www.twiki.org/cgibin/view/Codev/WikiUserTypes, 20.4.04 7
1.1 Was ist ein Wiki?
■ ■ ■
13
Keine ClientSoftware
Soziale Prozesse im Vordergrund
Einfache Nutzung und technische Hürden
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 11 Wikis navigieren, lesen oder Inhalte verändern. Ebenso müssen von den Nutzern keine Applets oder andere Plugins geladen werden. Für den einfachen Nutzer können umfangreiche Schulungen entfallen. 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 konn12 ten. 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 mit rund 400 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. Das Grundprinzip der Wiki-Technologie bleibt jedoch denkbar einfach. Sehen wir uns die technische Seite von Wikis näher an.
11
Das bedeutet, die Wiki-Technologie kennt im Gegensatz zu vergleichbaren Systemen keine Unterscheidung zwischen „Backend“ und „Frontend“. 12 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.
14
■ ■ ■
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 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 eine Datenbank gespeichert. Beim Aufrufen einer Wiki-basierten Internetseite wird zunächst über den Browser eine Anfrage an den Server gesendet, der mit der WikiSoftware 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 13 ersetzt. 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). Soll diese Seite nun editiert werden, wird der Button Edit oder Bearbeiten benutzt. Dadurch wird wieder eine Anfrage an den Server
Autoren
13
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
■ ■ ■
15
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
Die Besucher 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.
Abb. 1.4
16
■ ■ ■
1 Das Wiki-Konzept
Selbst ein Wiki kommt nicht ohne Technik aus. Auf dieser Ebene kümmert sich ein Webadmin 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.
Webadmins
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.
Schichtenmodell
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.
1.2 Die Technik der Wikis
■ ■ ■
17
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 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 14 von Wikis gibt. 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 geschriebenen Skripten und enthält einige Weiterentwicklungen (Namensräume, Seitenleiste, Hinweise auf Bearbeitungskonflikte).
■
MoinMoin ist ein einfacher und sehr verbreiteter Wiki-Klon, geschrieben in Python. MoinMoin, dessen Name auf den freundlichen, norddeutschen Gruß beruht, ermöglicht beispielsweise eine Benutzerregistrierung und hat ein Plugin-System für Erweiterungen. MoinMoin ist sehr benutzerfreundlich und bietet ein sehr angenehmes Layout.
■
PhpWiki, ein viel versprechender Wiki-Klon, hat zahlreiche Verwaltungsfunktionen und eine Plugin-Architektur, die es er-
14
Viele Wikis sind verzeichnet unter: http://c2.com/cgi/wiki?WikiEngines.
18
■ ■ ■
1 Das Wiki-Konzept
möglicht, zahlreiche Funktionalitäten einzubinden. PHP ist syntaktisch die Grundlage für das PhpWiki. ■
WakkaWiki hat als einfaches, kleines Wiki große Verbreitung gefunden. Das Projekt lebt in verschiedenen Klonen wie ComaWiki, WikkaWiki und UniWakka weiter.
■
TikiWiki, ebenfalls in PHP geschrieben, bietet bereits eine ganze Reihe nützlicher Features, das den Vergleich mit bestehenden Content Management Systemen und Groupware nicht mehr zu scheuen braucht. Das Wiki ist hier nur ein Bestandteil neben 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 WikiKlon. Das TWiki setzt die Wiki-Technologie konsequenter um als das TikiWiki, 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.
Einige Hinweise, nach welchen Kriterien Sie Ihr Wiki auswählen sollten, finden Sie in Kapitel 17.2 So stellt sich z. B. die Frage, ob das Wiki eine Benutzerverwaltung ermöglichen soll oder nicht.
1.4 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 die Veränderbarkeit spezieller Seiten, wie 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. Wie oben schon gezeigt, werden in
1.4 Charakteristische Wiki-Funktionen
■ ■ ■
19
den meisten Wikis Links mit einem WikiWord erzeugt: Wörter werden mit großen Anfangsbuchstaben versehen und ohne Zwischenraum zusammengesetzt (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. 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. RecentChanges. 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 Ihnen ein besonderer Artikel am Herzen liegt, müssen Sie nicht ständig die Liste aller Änderungen aller Seiten durchsehen.
20
■ ■ ■
1 Das Wiki-Konzept
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 sogenannten 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 eine Sandbox eingangs schon 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.5 Das Wiki-Phänomen Bertolt Brecht schrieb in seiner sogenannten „Radiotheorie“ 1930, der Rundfunk habe eine Seite, wo er zwei haben sollte. „Er ist ein 15 reiner Distributionsapparat, er teilt lediglich zu.“ 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. Analysieren kann man dieses durch folgende Fragen: Wer benutzt die 15
Brechts Radiotheorie
Brecht 1930/1967, 129.
1.5 Das Wiki-Phänomen
■ ■ ■
21
Technik? Mit welchem Ziel und in welchen Formen? In welchen Abhängigkeiten steht er? Entsprechend können Wikis emanzipato16 risch genutzt werden, oder auch nicht.
1.5.1 Kreativität durch Gruppenprozesse Communities
Dass Potentiale und Grenzen von Wikis seit neuestem auch jenseits des Fachpublikums diskutiert werden, hat in erster Linie damit zu tun, dass sich nicht zuletzt um die großen Internetlexika Communities gebildet haben, die die Möglichkeiten der Selbstorganisation weiterentwickeln. Diese Gruppen können einige erfolgreiche Projekte vorweisen, die mit einem ziemlich unkomplizierten Verfahren schnell zuverlässige Dienstleistungen der Öffentlichkeit zur Verfügung stellen. Es lässt sich beobachten, dass die Kommunikation großer Gruppen effektiver ist und mit ihr schneller auf Veränderung reagiert werden kann, als mit hierarchischen Ordnungsmodellen. Wikis sind kein Einzelphänomen: Ähnliche Erfahrungen wurden vorher bereits mit der „subversiven“ Entwicklung von OpenSource-Software (z. B. Linux) gemacht. Eric Raymond hat eine größere Debatte ausgelöst als er versuchte, die unterschiedlichen Managementmethoden metaphorisch in den Prinzipien der Kathed17 rale und des Basars zu fassen: 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 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. 16 17
22
■ ■ ■
Vgl. Ebersbach/Glaser 2004. Raymond 1999.
1 Das Wiki-Konzept
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 lassen sich jedoch einige Prinzipien nennen, die wesentlich zum Ge18 lingen von Großgruppenprozessen beitragen.
Dynamik großer Gruppen
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 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 darauf Wert, dass Verlauf und Zieldefinition in die Hände der TeilnehmerInnen und Betroffenen gelegt wird. Das verlangt von allen Beteiligten eine Bereitschaft für die Offenheit des Prozesses, und auch, 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 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“. 18
Vor allem auf Open Space Konferenzen. Vgl. dazu Petri 2000, Maleh 2000.
1.5 Das Wiki-Phänomen
■ ■ ■
23
19
Arbeiten am eigenen Thema schafft Engagement. 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. 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 19
Es ist natürlich ein Unterschied, ob das Ziel selbstgesteckt oder vereinbart ist, oder ob externe Ziele als eigene angenommen werden.
24
■ ■ ■
1 Das Wiki-Konzept
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 TeilnehmerInnen. 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 in ihren Inte20 ressensgebieten beobachten. 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 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 20
Vgl. Abschnitt V. 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).
1.5 Das Wiki-Phänomen
■ ■ ■
25
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.
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
26
■ ■ ■
1 Das Wiki-Konzept
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). Bei anderen, die z. B. Mehrfach-Identitäten zur Manipulation von Abstimmungen nutzen, ist 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, 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.
1.5 Das Wiki-Phänomen
■ ■ ■
27
■
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
Interesselosigkeit
Soziales Umfeld und Arbeitswelt
28
■ ■ ■
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 schon 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 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
1 Das Wiki-Konzept
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 21 zuzulassen, ist nur ein Beispiel. 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. Dieses Problem ist bereits angesprochen worden und ebenso, dass die Bedeutung des Vandalismus überschätzt wird. Es fällt auf, dass bei Wiki-Projekten die (Zer-)Störungen verhältnismäßig unbedeutend bleiben. Vermutet wird, 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 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 Versuche von Vandalismus bei Wikipedia oft innerhalb von fünf Minuten beseitigt: „We were surprised at how often we found 22 vandalism, and then surprised again at how fast it was fixed,“ berichtet Martin Wattenberg, Wissenschaftler im IBM TJ Watson Research Centre, in Cambridge, Mass. Die Tatsache, dass viele den Prozess kontrollieren und dass jeder sofort eingreifen kann, scheint ein wichtiges Element zur Qualitätskontrolle zu sein. Dazu ist nur ein entsprechendes Problembewusstsein notwendig, das mit Angriffen rechnet. Allerdings können schon mutwillige Änderungen an Kleinigkeiten 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 des Wiki-Prinzips 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
Vandalismus
Selbstdarsteller
21
Auch in Betrieben, in denen Hierarchien abgebaut werden, geht dies nicht zwingend mit einer höheren Transparenz betrieblicher Strukturen einher. 22 IBM 2003.
1.5 Das Wiki-Phänomen
■ ■ ■
29
Ausflug Projektportal
Qualitätssicherung
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 23 it’s much easier to delete flames and spam then indulge them.“ 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 „verrau24 schen“ . 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 25 keinen Zugang mehr erhalten. Ein weiteres Problem ist es, dass ein Störer sich unter einem neuen Namen jederzeit wieder anmelden kann. Möller gibt in seinem jüngst erschienenen Buch „Die heimliche Medienrevolution“ einen umfassenden Einblick in die Probleme und Lösungsansätze im Umgang mit schwierigen Kontroversen und 26 Vandalismus im Umfeld von Blogs und Wiki-Communities. Den besten Überblick über die Diskussionskultur und Entscheidungsprozesse verschafft man sich mit einem Besuch bei Wikipedia. 27 Machen wir kurz einen Besuch auf der Projektportalseite. Hier finden sich Leitlinien und Konventionen, Diskussionsseiten für Adminkandidatinnen und –kandidaten, Hinweise auf die Moderation 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 Formatierungs23
Why Wiki Works, http://c2.com/cgi/wiki?WhyWikiWorks, 15. Jan. 2005. 24 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
30
■ ■ ■
1 Das Wiki-Konzept
konventionen, es werden gute Artikel beispielhaft vorgestellt und Qualitätsoffensiven in bestimmten Themenbereichen durchgeführt. Eine Wikiquette gibt Empfehlungen für den partnerschaftlichen 28 Umgang der Nutzer miteinander: 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 ist ein Aspekt des kooperativen Arbeitens. Das wirft einige Fragen auf: Ist jemand bei kooperativ erstellten Texten rechtlich verantwortlich? Wem gehört der Text? 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. Ein weiterer interessanter Bereich ist die Eigentums- und Copyright-Problematik. 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. 28
Neutral Point of View
Open Editing
Open Text
http://de.wikipedia.org/wiki/Wikipedia:Wikiquette
1.5 Das Wiki-Phänomen
■ ■ ■
31
Verhaltener Optimismus
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 29 einen Link auf die Wikipedia URL zu bewerkstelligen ist. Es stellt sich außerdem die Frage, wie mit dem Gebrauch von Material, das durch Copyright geschützt ist, in Wikis 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 InternetProviders, 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 nicht grundsätzlich Widerlegungen. 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: "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
32
■ ■ ■
Aronsson, 2002
1 Das Wiki-Konzept
II. Unser erstes Wiki
2
Die Installation
Leser Autor WikiAdmin WebAdmin
Zum Kennen lernen 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 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-Versionen 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
■ ■ ■
35
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 4.3) sowie der Datenbank MySQL. 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 Standard-Ausstattung 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 IIS der Fall. Zum Zeitpunkt der Drucklegung liegt XAMPP in der Version 1.4.11 vor. Diese ist auf der beigefügten CD im Verzeichnis /xampp/[Betriebssystem] zu finden. Die jeweils neueste Zusammenstellung kann unter der URL http://www.apachefriends.org/de/xampp heruntergeladen werden.
2.1.1 XAMPP für Windows XAMPP installieren
36
■ ■ ■
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. Jetzt werden Ihnen Lizenzinformationen angezeigt, die Sie mit Annehmen akzeptieren müssen. Nun können Sie noch den Pfad bestimmen, in dem das System eingerichtet werden soll. Wenn Sie den Beispielen im Buch genau folgen
2 Die Installation
1
wollen, geben Sie hier C:\apachefriends an . Mit Installieren geht es los. Das Programm legt einen Ordner [Laufwerk]\apachefriends\xampp an, der alle mitgelieferten 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. 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 Startmenü unter PROGRAMME Æ APACHEFRIENDS Æ XAMPP. Öffnen 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.
XAMPP starten
1
Dies ist insbesondere für die Einrichtung des TWikis im III. Abschnitt wichtig.
2.1 Eine Testumgebung mit XAMPP
■ ■ ■
37
Auf PHP 4 umstellen
Für den Betrieb des MediaWiki mit den aktuellen Oberflächen benötigen wir PHP 4. Standardmäßig wird XAMPP jedoch mit Version 5 gestartet. Um dies zu ändern, führen Sie die Datei php-switch.bat im Verzeichnis xampp aus. Damit wird zwischen beiden Varianten umgeschaltet. Ob Sie erfolgreich waren, sehen Sie unter dem Menüpunkt „phpinfo()“ auf der XAMPP-Startseite. In der blauen Titelzeile im linken Frame steht jeweils die Version.
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.4.11.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
Auf PHP 4 umstellen
Damit werden alle gestarteten Komponenten der Testumgebung regulär beendet. Auch XAMPP für Linux wird standardmäßig mit PHP 5 betrieben, was zu Einschränkungen bei der Oberfläche des MediaWikis führt. Daher sollten Sie auf die Version 4 umschalten. /opt/lampp/lampp php4 Dies können Sie mit dem Parameter php5 wieder rückgängig machen. Den Status von PHP überprüfen Sie mit der Option phpstatus.
38
■ ■ ■
2 Die Installation
2.1.3 Was passiert hier eigentlich? 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.
Zusammenspiel der Komponenten
Tipp: 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. 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. 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 finden Sie das Programm phpMyAdmin, mit dem Sie per Webinterface bequem Ihre Datenbank verwalten können (s. Abb. 2.2).
2.1 Eine Testumgebung mit XAMPP
XAMPP Startseite
■ ■ ■
39
Abb. 2.2
Umgebung testen
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. 2 lampp/htdocs/test . Ö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.
2
Im Folgenden wird zur Vereinfachung bei Pfadangaben immer die „xampp“-Variante verwendet.
40
■ ■ ■
2 Die Installation
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 Nachdem Sie sich eine Testumgebung auf Ihrem Computer installiert haben, geht es nun an die eigentliche Installation des MediaWi3 ki. Wir haben die Version 1.4 auf der beigefügten CD im Verzeichnis /wikis/mediawiki gespeichert. Alternativ finden Sie die jeweils aktuelle Version unter der URL http://www.mediawiki.org.
Dateien kopieren
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 4 und entpacken sie diese mit FilZip unter Windows. Unter Linux mit dem Befehl tar xvzf mediawiki-1.4.tar.gz Es wird ein Verzeichnis mediawiki-1.4 angelegt. Tipp: Wenn Sie statt dem Verzeichnis eine Datei mediawiki-1.4.tar finden, so entpacken Sie diese einfach nochmals. 3
Zum Redaktionsschluss ist leider nur eine Betaversion veröffentlicht. Wir hoffen, Ihnen auf der CD die fertige Version bereitstellen zu können. Falls nicht, enthält der Dateiname ein zusätzliches „beta“. 4 Dieses Programm finden Sie auf der CD unter /tools/filzip.
2.2 MediaWiki installieren
■ ■ ■
41
Linux: Rechte setzen
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 chmod a+w config
Einrichtung über den Browser
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 http://localhost/mediawiki Dies ist die Adresse, unter der wir das Wiki im Folgenden ansprechen werden. Zunächst sehen Sie nur die Meldung „You’ll have to set the wiki up first“. Wie Sie die Installation fertig stellen erfahren Sie im übernächsten Abschnitt (2.2.3).
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
42
■ ■ ■
2 Die Installation
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 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 „set the wiki up“, ü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. In der zuvor installierten Testumgebung wird nur eine Warnung ausgegeben, die eine Sicherheitseinstellung von PHP betrifft. Dies ist nicht weiter tragisch, solange wir uns auf einem Testsystem befinden. Sie können diese Einstellung aber ändern, indem Sie XAMPP in den sicheren Modus umschalten.
Prüfung der Systemumgebung
Abb. 2.3
Im nächsten Abschnitt der Installations-Seite werden Sie gebeten, einige Angaben über das neue Wiki zu machen. Einige dieser Ein-
2.2 MediaWiki installieren
Name des Wikis
■ ■ ■
43
stellungen können nachträglich nicht mehr geändert werden. 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. 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 und Kodierung
Lizenz
Administratoraccount
44
■ ■ ■
Als nächstes sollen Sie eine Email-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 sowie die Zeichenkodierung 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 wollen. Die Entscheidung zwischen Unicode und Latin-1 im nächsten Feld hängt ebenfalls von Ihrer Zielgruppe ab. Unicode ist flexibler und erlaubt die Darstellung von viel mehr Zeichen, insbesondere nicht-westlicher Schriftzeichen, wird aber von älteren Browsern nicht unterstützt. Da Unicode jedoch die zukunftsweisende Kodierungsform ist, empfehlen wir diese zu verwenden. 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 V. Hier sei nur gesagt, dass die GNU Free Documentation License jede kommerzielle Nachnutzung eines Textes kategorisch ausschließt, wohingegen Sie bei der Creative Commons Lizenz 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, nicht den vorgeschlagenen Accountnamen „WikiSysop“ zu verwenden, sondern eine eigene Bezeichnung einzutragen und ein sicheres Passwort zu wählen. Dies kann auch auf einem Testsystem nicht schaden.
2 Die Installation
Die Einstellungen zum „Shared memory caching“ brauchen Sie nicht zu verändern. Sie ist nur für sehr große Wikis relevant. In einem letzten Abschnitt müssen Sie noch Angaben zur Datenbank machen. In unserem Fall können Sie die vorgeschlagenen Einträge einfach übernehmen. Es ist wichtig, für die zu erstellende Datenbank ein Passwort anzugeben und zu wiederholen. Da das RootPasswort in der MySQL-Standardinstallation nicht gesetzt ist, kann das MediaWiki-Setup einfach auf die Software zugreifen und die nötige Datenbank und die Tabellen erstellen. Dies stellt natürlich eine erhebliche Sicherheitslücke dar. Auf einem Server im Netz sollte das Root-Passwort niemals leer sein, dieser Account kann 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.
Angaben zur Datenbank
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. Wenn Sie den Knopf Install! 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.2 MediaWiki installieren
Installation fertig stellen
MediaWiki aufrufen
■ ■ ■
45
3
Erste Schritte
Leser Autor WikiAdmin WebAdmin
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
■ ■ ■
47
Arbeitsbereich
■
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.
Der Arbeitsbereich 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
48
■ ■ ■
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 Werkzeugleiste, die Formatierungshilfen anbietet. Im unteren Bereich sind die Steuerelemente zu finden.
3 Erste Schritte
Den Quelltext der Hauptseite können Sie verändern. Positionieren Sie dazu 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 Hallo Welt! Wenn Sie nun unter dem Textfeld auf Artikel 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 Hauptseite dementsprechend als Link dargestellt wird. Da die Seite noch nicht existiert, ist er rot eingefärbt. Wenn Sie nun zu Hello World
3.2 Hello World
■ ■ ■
49
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 das Bild links oben. 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.
Wahl des Titels
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. 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.3 Erste Formatierungen
Formatierung im Wiki
50
■ ■ ■
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 -fomatierung zur Verfügung stehen. Die sind im MediaWiki durchaus vorhanden. Da die Eingabe rein textbasiert ist, kann die Formatierung allerdings
3 Erste Schritte
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: 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 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:
Kursivschrift
''Mitmachen ist gefragt!'' Starke Hervorhebungen innerhalb eines Textes werden in der Regel durch Fettschrift markiert. Diese wird im MediaWiki durch je drei Hochkommas aktiviert:
Fett
unsere Arbeit zu '''koordinieren'''. 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.
3.3 Erste Formatierungen
■ ■ ■
51
Überschriften
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. Eine 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. 2 ausführlich behandelt. Abb. 3.3
52
■ ■ ■
3 Erste Schritte
3.4 Der kleine Unterschied: Versionen Wahrscheinlich haben Sie während des letzen 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. 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. Auf diese Weise können Sie Änderungen zurücknehmen. Einfach die alte Version aufrufen, in den Bearbeitungsmodus wechseln und dann speichern. 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
Abb. 3.4
Jetzt sollten Sie sich noch Letzte Änderungen aus der Navigationsleiste ansehen. Auch hier wurde unsere Seite Format-Test eingetragen. Diese Funktionsseite generiert immer eine Übersicht darüber, welche Artikel kürzlich im Wiki geändert wurden.
3.4 Der kleine Unterschied: Versionen
Letzte Änderungen
■ ■ ■
53
3.5 Als User anmelden
Benutzerkonto anlegen
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. 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 die wird ein neues Passwort geschickt, falls Sie ihres vergessen haben. Nun drücken Sie auf Neues Benutzerkonto anlegen. Sie sind jetzt als neuer User registriert und gleichzeitig angemeldet. Dass dies der Fall ist, erkennen Sie daran, dass Sie 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).
Abb. 3.5
An- und abmelden
54
■ ■ ■
Mit „Abmelden“ können Sie sich wieder ausloggen. Bei der nächsten Anmeldung ist es nur noch nötig, Benutzernamen und Passwort anzugeben, der Rest ist dem System ja schon bekannt.
3 Erste Schritte
4 Die Kernfunktionen des MediaWikis
Leser Autor WikiAdmin WebAdmin
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. In diesem Fall finden Sie den Bearbeiten-Button links 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 erhalten Sie wie auch bei der Formatierung „zu Fuß“ erst in der Vorschau oder nach dem Speichern.
4.1 Bearbeiten
■ ■ ■
55
Funktionen der Toolbox Tab. 4.1
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: BeiBindet ein Bild ein, das zuvor spiel.jpg]] in das Wiki geladen wurde (s. Kap. 6.3) [[Media: BeiVerlinkt zu einer zuvor geladespiel.mp3]] nen 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
56
■ ■ ■
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 (s. Kap. 2). Im Übrigen können Sie den Bearbeitungsmodus jederzeit mit dem Knopf Abbruch verlassen. Damit werden Ihre Änderungen nicht berücksichtigt und die Seite wird wieder in ihrem vorherigen Zustand angezeigt.
4 Die Kernfunktionen des MediaWikis
Falls Sie sich nicht sicher sind, ob Ihre Formatierung den erwünschten Effekt hat, können Sie mit dem Vorschau-Schalter einen Blick auf das Ergebnis werfen, ohne dass die Änderung schon gespeichert 1 wird (s. Abb. 4.1 ).
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 daher nicht vergessen, den Eintrag ordnungsgemäß zu speichern, wenn die Darstellung Ihren Vorstellungen entspricht.
1
Vielleicht ist Ihnen aufgefallen, dass wir das Logo geändert haben. Wie das geht, ist in Kap. 8.1
4.1 Bearbeiten
■ ■ ■
57
Zusammenfassung
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ÄnderungenSeite, 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
58
■ ■ ■
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 dabei 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
4 Die Kernfunktionen des MediaWikis
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 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 werden 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 geschriebene 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 vor-
4.2 Diskutieren
Diskussionsseite
Mitdiskutieren
■ ■ ■
59
herigen Ä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-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.
Abb. 4.2
60
■ ■ ■
4 Die Kernfunktionen des MediaWikis
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 „(Letzte)“ 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 gemacht hat, der diese Bearbeitung gemacht hat.
■
Mit den Radiobuttons können Sie zwei beliebige Versionen markieren und über den Gewählte Versionen vergleichen- Schalter am Anfang oder am Ende der Liste können Sie sich den Unterschied zwischen den markierten Versionen generieren lassen.
■
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.
Ü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 wurde, 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 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
4.3 Vergleichen
Diff-Seite
Verschobene Seiten
Rollback
■ ■ ■
61
rückgängig machen wollen, gehen Sie auf Bearbeiten und dann Artikel 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 Seite 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
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.
Abb. 4.3
Lassen Sie sich die Seite, die umbenannt werden soll, anzeigen und aktivieren Sie dann das Verschieben-Register. In dem Eingabefeld
62
■ ■ ■
4 Die Kernfunktionen des MediaWikis
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 Redirect-Seite, d. h. alle Links, die auf sie verweisen, werden automatisch zu der neuen Seite weitergeleitet. 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.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.
4.5 Beobachten
■ ■ ■
63
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. Tipp: In der Letzte Änderungen-Liste werden die beobachteten Artikel fett gedruckt dargestellt. Selbst wenn man nie einen Blick auf 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. Eine geschützte Seite kann dann nur noch von den Administratoren editiert werden.
64
■ ■ ■
4 Die Kernfunktionen des MediaWikis
Andere User erhalten lediglich die Möglichkeit, den Quelltext zu betrachten. Den Schutz können Sie mit dem Register Freigeben wieder aufheben. 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 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.
Wichtige Seiten
Abb. 4.5
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“).
Schutz vor Vandalismus
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
4.7 Löschen
■ ■ ■
65
werden (s. Kap. 8.2). 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 diskutiert 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. Abb. 4.6
66
■ ■ ■
4 Die Kernfunktionen des MediaWikis
5
Formatierung
Leser Autor WikiAdmin WebAdmin
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 kein WYSIWYG („What You See Is What You Get“), d. h. die Formatierung wird wie in HTML oder LaTeX durch sog. Tags, also ASCIIZeichen 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
■ ■ ■
67
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 <sub> für hochgestellt und <sup> für tiefgestellt verfügbar: <sub>P=1/2 D 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.
68
■ ■ ■
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 D alpha E beta
Symb. J
ī
Code gamma Gamma
Symb. ' 4
Code Delta Theta
5.2 Sonderzeichen & Co.
Tab. 5.3
■ ■ ■
69
Formeln
Tab. 5.4
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.
<pre> und <nowiki>
Tab. 5.5
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 können.
9.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.
9.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.
150
■ ■ ■
9 Leben im MediaWiki
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 der Artikel sich im Main-Namespace befindet. Er verhindert also, dass die aktuellen Informationen im Template-Namespace verschwinden. Somit kann die Seite auch leicht separat aufgerufen werden.
9.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 erweitert 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 ent-
9.4 Anwendungsbeispiele
■ ■ ■
151
sprechenden 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.
9.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}}}]] |-
152
■ ■ ■
9 Leben im MediaWiki
| 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: {{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 Los-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.
9.4.4 Kalender Problem: Die Sippenmitglieder, vielbeschäftigt, müssen ihre Termine koordinieren und vor allem Übersicht über die Veranstaltungen
9.4 Anwendungsbeispiele
■ ■ ■
153
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% ... |}
valign="top" | valign="top" |
Januar Februar
valign="top" | valign="top" |
Juli August
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 eben-
154
■ ■ ■
9 Leben im MediaWiki
falls farblich gekennzeichnet. 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 Abb. 9.1: Abb. 9.1
Wie gesagt, hier ist sehr viel Handarbeit vonnöten. Für komplexeres Terminmanagement ist das MediaWiki daher kaum geeignet.
9.4 Anwendungsbeispiele
■ ■ ■
155
III. TWiki, der Tausendsassa
10 TWiki installieren
Leser Autor WikiAdmin WebAdmin
Das TWiki ist gegenwärtig zweifellos das Flaggschiff unter den Wiki-Varianten. Es bietet nicht nur eine ausgefeilte Rechte- und 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 noch in der Erprobungsphase ist. Alle benötigten Komponenten sind in Tab. 10.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 Diff und Grep, die den Zugriff und die Aufbereitung der Seiten steuern. Versionierungs-Software zum Verfolgen von Änderungen an einer Datei.
Benötigte Komponenten
Tab. 10.1
Bevor Sie das TWiki installieren, sollten Sie sich überlegen, was Sie damit machen wollen:
10.1 Installation unter Linux
■ ■ ■
159
■
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. 10.2 die nötigen Informationen.
■
Als Testsystem kann auch ein Betrieb unter Windows erfolgen (s. Kap. 10.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. Das Problem der Installation ist auch den TWiki-Entwicklern bekannt, und es bleibt zu hoffen, dass die nächsten Versionen leichter einzurichten sind. Wir gehen davon aus, dass der Webserver schon eingerichtet ist. Falls Sie das Buch bis hierher durchgearbeitet haben, sollten Sie eine XAMPP-Version auf Ihrem Rechner haben. Die Installation ist in Kap. 2.1 beschrieben.
10.1 Installation unter Linux Für die Installation unter Linux benötigen Sie am Besten RootRechte. Sie müssen sich also als Administrator einloggen: su Die benötigten 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 hier nicht die Fehlermeldung bekommen, dass das Kommando unbekannt ist, sind die Programme vorhanden. Ansonsten müssen Sie zumindest Perl nachinstallieren, für RCS gibt es eine Variante, die direkt mit dem TWiki mitgeliefert wird (s. Kap. 10.4.2).
160
■ ■ ■
10 TWiki installieren
10.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 TWiki20040902.tar.gz in ein Verzeichnis, auf das der Webserver zugreifen kann, z. B. /opt/lampp/htdocs/twiki. Entpacken Sie das Archiv mit tar xvzf TWiki20040902.tar.gz Damit wird die Verzeichnisstruktur erstellt und die Dateien werden an die entsprechenden Orte gelegt.
10.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. Der Ordner /opt/lampp/htdocs/twiki/bin muss für das Ausführen von Skripten freigegeben werden. Fügen Sie dazu folgenden Eintrag in die httpd.conf ein:
Ausführbares Verzeichnis bestimmen
Options +ExecCGI SetHandler cgi-script AllowOverride All Allow from all Das Verzeichnis /opt/lampp/htdocs/twiki/pub muss für alle zugänglich und sichtbar sein.
Verzeichnisrechte einrichten
Options FollowSymLinks +Includes AllowOverride None Allow from all Dagegen sind die Verzeichnisse /opt/lampp/htdocs/twiki/data bzw. /templates nicht für die Augen der normalen Webuser bestimmt. deny from all
10.1 Installation unter Linux
■ ■ ■
161
deny from all ScriptAlias
Wiederholen Sie diesen Eintrag für templates. Nun können Sie noch die Aliases für den Aufruf per URL festlegen. Damit vereinfachen Sie eventuell die Webadresse und können die interne Struktur Ihres Webverzeichnisses verschleiern: ScriptAlias /twiki/bin/ "/opt/lampp/htdocs/twiki/bin/" Alias /twiki/ "/opt/lampp/htdocs/twiki/"
Achten Sie darauf, dass die Umschreibung für Skripte vor dem allgemeinen Alias kommt, sonst werden die Einstellungen vom Server falsch interpretiert. Starten Sie Apache neu, um die Änderungen zu übernehmen. Am einfachsten geht das, indem Sie XAMPP beenden und neu starten. Wenn Sie nun im Browser die URL http://localhost/twiki/bin, data oder templates aufrufen, sollten Sie eine Fehlermeldung „Forbidden“ bekommen. Sehen Sie stattdessen eine Liste der Dateien, überprüfen Sie nochmals den Eintrag in httpd.conf für das jeweilige Verzeichnis.
10.1.3 Dateien anpassen Die Skripte sind darauf ausgelegt, dass der gesamte Pfad des PerlInterpreter /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 Chebang-Zeilen entsprechend ändern. Dies ist in Anhang A beschrieben. 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: chmod 666 */*
162
■ ■ ■
10 TWiki installieren
Diese müssen ebenfalls für die Verzeichnisse selber gesetzt werden, als im Verzeichnis twiki mit folgendem Befehl: chmod 666 data pub
10.1.4 Bibliothekspfad anpassen Bearbeiten Sie in der Datei twiki/bin/setlib.cfg den Pfadeintrag, so dass er auf Ihr Verzeichnis twiki/lib zeigt. setLibPath = "/opt/lampp/htdocs/twiki/lib" Jetzt können Sie einen ersten Testlauf Ihrer Konfiguration machen. Rufen Sie dazu in einem Browser die URL http://localhost/twiki /testenv auf. Wenn Sie jetzt 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 „Test the environment for TWiki“ beginnt. Damit ist der Linux-spezifische Teil abgeschlossen und Sie können mit Kap. 10.4 der Installation fortfahren.
10.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.
10.2 TWiki ohne Admin-Account
■ ■ ■
163
■
■
■
Verzeichnisstruktur
Tab. 10.2
164
■ ■ ■
Web-Verzeichnis. Auf welches Verzeichnis kann übers Netz zugegriffen werden? Standardnamen sind public_html und www. 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.
Entpacken Sie das TWiki-Installationsfile 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 Anhang A 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
10 TWiki installieren
Mit dem Kopieren des Ordners data sollten Sie noch warten, da wir erst die Einstellungen für RCS vornehmen müssen. Dazu ist noch ein bisschen Vorarbeit nötig. Befinden sich die Verzeichnisse bin und lib nicht im gleichen Verzeichnis, so müssen Sie im SkripteVerzeichnis angeben, wo sich die Funktionsbibliothek befindet. Dies tun Sie, indem Sie die Datei setlib.cfg in bin bearbeiten. Tragen Sie hier den entsprechenden Wert im Parameter TWikiLibPath = 'pfad'; ein. Normalerweise sollten Sie hier den absoluten Pfad angeben. Konnten Sie den bisher nicht herausfinden, so verwenden Sie zunächst den relativen. Nun können Sie das Test-Skript testenv in einem Browser aufrufen. Wenn Sie hier eine zweispaltige Aufzählung mit vielen Informationen sehen, war die Installation bis hierher erfolgreich.
10.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. Abb. 10.1
10.3 Installation unter Windows
■ ■ ■
165
Dazu müssen wir uns zunächst wieder eine Testumgebung schaffen. Die Installation von XAMPP haben wir bereits im vorherigen Abschnitt erklärt (s. Kap. 2.1). Nun geht es darum, Windows die wichtigsten UNIX-Kommandos beizubringen. Diese Aufgabe übernimmt das Software-Paket Cygwin, das erfreulicherweise auch gleich die Möglichkeit bietet, den Perl-Interpreter und RCS einzurichten.
10.3.1 Cygwin einrichten Installation starten
Sie können die bei Drucklegung aktuellste Cygwin-Version 1.5.12-1 auf der beigelegten CD im Verzeichnis \cygwin finden. Da es sich um eine große Sammlung von eigenständigen Programmen handelt, haben wir auf der CD nur die für das TWiki notwendigen Programme untergebracht. Hinweis: Sie können sich die neuesten Cygwin-Dateien natürlich auch direkt von der Seite http://www.cygwin.com holen (s. Anhang A). Die folgende Installation bezieht sich aber auf die CD-Version.
Komponenten auswählen
166
■ ■ ■
Starten Sie zur Einrichtung die Datei setup.exe. Nach einer Begrüßung werden Sie nach der Quelle der Installation gefragt. Wählen Sie zur Installation von CD „Install from Lokal Directory“ aus. Als nächstes müssen Sie das Installationsverzeichnis angeben. Wir haben dafür c:\cygwin gewählt und die folgenden Pfadangaben beziehen sich auf diesen Speicherort. Stellen Sie außerdem sicher, dass der „Default Text File Type“ auf „Unix“ gestellt ist. Das verhindert später im TWiki mögliche Komplikationen beim Hochladen von Dateien. Cygwin sollte für alle Nutzer eingerichtet werden. Im folgenden Schritt werden Sie aufgefordert, ein Verzeichnis anzugeben, in dem die Installationsdateien gespeichert sind. Geben Sie hier [CD-Laufwerk]\cygwin ein. Nun sehen Sie ein Auswahlfenster, in dem Sie die Komponenten bestimmen können, die installiert werden sollen. Klicken Sie in der ersten Zeile, die mit „All“ beginnt, auf das Wort „Default“. Nun muss an dieser Stelle „Install“ stehen und alle darunter liegenden Einträge sind ebenfalls auf „Install“ gestellt (s. Abb. 10.2).
10 TWiki installieren
Abb. 10.2
Klicken Sie auf Weiter. Nun werden die erforderlichen Dateien ins Installationsverzeichnis kopiert und eingerichtet. Als letztes können Sie noch angeben, ob Sie Symbole auf dem Arbeitsplatz und/oder im Startmenü haben wollen. Damit ist die automatische Installation von Cygwin abgeschlossen. Einige Programme benötigen die Umgebungsvariable HOME um Ihr Userverzeichnis zu bestimmen. Setzen Sie diese Variable auf c:\cygwin\home\[username], wobei username für den Namen des in Windows angemeldeten Nutzers steht. Diesen können Sie am einfachsten herausfinden, indem Sie im Abmelde-Dialog (START Æ BEENDEN oder HERUNTERFAHREN) nachsehen, wer abgemeldet wird. HOME 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 Umgebungsvariablen. Mit Neu können Sie eine weitere Benutzervariable hinzufügen, der Sie den gerade beschriebenen Wert geben (s. Abb. 10.3). Auf gleiche Weise sollten Sie einen Eintrag TEMP einrichten, der auf ein beliebiges temporäres Verzeichnis zeigt, z. B. c:\temp.
10.3 Installation unter Windows
Umgebungsvariablen setzen für Windows NT, 2000 und XP…
■ ■ ■
167
Abb. 10.3
… und für Windows 98 und ME
Unter Windows 98 und ME müssen Sie die Datei autoexec.bat in C:\ bearbeiten. Fügen Sie am Ende die Zeilen SET HOME=c:\cygwin\home\username SET TEMP=c:\temp
Testlauf
ein. In allen Windows-Varianten sollten Sie zuletzt noch sicherstellen, dass das angegebene temporäre Verzeichnis existiert, damit die Variable nicht ins Leere zeigt. Jetzt ist in Windows 98 und ME ein Neustart notwendig. Sie starten Cygwin für einen Testlauf, indem Sie auf das neu erstellte Symbol auf dem Desktop oder im Startmenü klicken bzw. die Datei cygwin.bat in c:\cygwin ausführen. Damit öffnet sich ein Kommandozeilenfenster, dass der DOS-Box sehr ähnlich sieht: die Bash-Shell. Um zu überprüfen, ob auch alle Programme vorhanden sind, die gebraucht werden, fragen Sie nun mit folgenden Befehlen die jeweiligen Versionsnummern ab: perl -v rcs -V grep -V Nach den Eingaben sollte jeweils die Angabe der Versionsnummer erscheinen (vgl. Abb. 10.4). Wenn dies nicht der Fall ist, kann das entsprechende Programm nicht gefunden werden. Installieren Sie es in diesem Fall nach, indem Sie das Setup-Programm noch mal ausführen.
168
■ ■ ■
10 TWiki installieren
Abb. 10.4
Jetzt ist noch sicherzustellen, dass die TWiki-Verzeichnisse im Binärmodus bearbeitet werden. Dies ist wichtig, weil sich sonst zusätzliche Zeichen (vor allem am Zeilenende) bei der Versionskontrolle in die Dateien einschleichen können. Erstellen Sie zunächst die nötigen Ordner:
Verzeichnisse einrichten
mkdir /twiki mkdir /c mkdir c:/apachefriends/xampp/htdocs/twiki Das letzte der drei angegebenen Verzeichnisse ist dasjenige, in dem das TWiki installiert werden soll. Dieses muss später vom Webserver aus zugänglich sein, daher haben wir es gleich im Ordner htdocs von XAMPP erstellt. Tipp: Sollten Sie Pfade mit Leerzeichen verwenden (z. B. „Eigene Dateien“), so müssen Sie an dieser Stelle einen DOS-Pfad angeben, da hier Leerzeichen nicht verarbeitet werden. Geben Sie einfach die ersten sechs Buchstaben, Tilde und eine von 1 fortlaufende Nummer zur Unterscheidung an. In diesem Fall: eigene~1. Nun verbinden Sie diese Verzeichnisse mit ihren Gegenstücken unter Windows und legen fest, dass diese im so genannten Binärmodus aufgerufen werden. Nur dieser erlaubt einen reibungslosen Austausch von Dateien zwischen Cygwin und Windows: mount -b -s c:/apachefriends/xampp/ htdocs/twiki /twiki mount -b -s c:/ /c mount -b -c /cygdrive
10.3 Installation unter Windows
■ ■ ■
169
Die letzte Zeile bewirkt, dass neu angebundene Laufwerke automatisch im Binärmodus sind. Um zu testen, ob dieser Modus aktiv ist, wechseln Sie ins Verzeichnis twiki, erstellen Sie eine Datei und lassen sich diese ausgeben: cd /twiki echo hallo welt > test cat -v test Jetzt sollte hallo welt zu lesen sein. Wenn Sie am Ende der Ausgabe ein ^M oder ähnliche Sonderzeichen finden, so hat das Umschalten auf den Binärmodus nicht funktioniert. Wiederholen Sie dann die oben angegebenen Schritte. Die Testdatei löschen Sie mit rm test Sie haben nun eine Testumgebung, die das Verhalten von UNIX in ausreichendem Maß in Windows abbildet. Für einige Zusatzfunktionen des TWiki benötigen Sie PerlModule, die bei Cygwin-Perl nicht mitgeliefert werden. Wie Sie diese, falls nötig, installieren können, finden Sie in Anhang A.
10.3.2 Apache konfigurieren Ausführbares Verzeichnis bestimmen
Als nächstes muss dem Webserver mitgeteilt werden, dass es im Verzeichnis twiki\bin erlaubt ist, Skripte auszuführen. Dazu müssen Sie die Konfigurationsdatei von Apache ändern. Diese liegt im Verzeichnis des Programms, c:\apachefriends\xampp\apache\conf und heißt httpd.conf. Fügen Sie am Ende dieser Datei die folgenden Zeilen ein und beachten Sie dabei, dass der Pfad absolut sein, also vom Wurzelverzeichnis ausgehen muss: Options +ExecCGI SetHandler cgi-script AllowOverride All Allow from all
170
■ ■ ■
10 TWiki installieren
Wenn CGI-Skripte ausgeführt werden, stellt Apache eine SystemUmgebung her, in der bestimmte Variablen gesetzt sind. Diese müssen vorher aber festgelegt werden. Dazu dient folgender Abschnitt von httpd.conf: SetEnv RCSINIT -x,v/ SetEnv TEMP c:/temp SetEnv TMP c:/temp SetEnv LOGNAME system SetEnv HOME c:/apachefriends/xampp/htdocs/twiki
Umgebungsvariablen für Apache
Die Pfade müssen hier mit / angegeben werden. Die letzte Angabe für den Server betrifft die Bezeichnung der ausführbaren Skripte. Diese haben im TWiki keine Endung. Also muss Apache angezeigt werden, dass Dateien ohne Endung als CGIProgramme ausgeführt werden sollen. Dies geht mit folgendem Abschnitt von httpd.conf:
Endung der Skripte
AddHandler cgi-script . Beachten Sie den Punkt am Schluss! Sollte der -Abschnitt schon vorhanden sein, so tragen Sie einfach die mittlere Zeile vor ein. Um die Änderungen wirksam werden zu lassen, müssen Sie Apache beenden und neu starten. Damit ist der Webserver bereit für den Betrieb von TWiki.
10.3.3 TWiki kopieren 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 20040902 beigefügt, die im Verzeichnis \wikis\twiki liegt. Wenn Sie bisher die im Buch verwendeten Pfade übernommen haben, so finden Sie hier eine von uns modifizierte Version TWiki20040902_win.zip, die Ihnen etwas Arbeit abnimmt. Wir gehen davon aus, dass diese im Folgenden verwendet wird. Falls nicht, verweisen wir Sie auf den Anhang A. Kopieren Sie die komprimierte Datei ins TWiki-Installationsverzeichnis auf Ihrer Festplatte
10.3 Installation unter Windows
Installationsdateien finden
■ ■ ■
171
und entpacken Sie diese. Am einfachsten geht dies, indem Sie in der Cygwin-Shell mit cd /twiki in den entsprechenden Ordner wechseln und dann „unzip“ ausführen: unzip TWiki20040902_win.zip Damit werden die Programmdateien entpackt und in die entsprechenden Verzeichnisse kopiert. Diese befinden sich alle im TWiki-Verzeichnis und kommen nicht mit Windows-Komponenten in Berührung. An dieser Stelle sollten Sie testen, ob die Konfiguration bisher erfolgreich war. Rufen Sie dazu mit einem Browser die URL http://localhost/twiki/bin/testenv auf. Achtung: Vergessen Sie nicht, vorher XAMPP zu starten. Wenn hier ein Fehler auftaucht oder wenn Sie http://localhost nicht aufrufen können, so liegt wahrscheinlich ein Tippfehler in httpd.conf vor. Achten Sie insbesondere darauf, dass im Buch Zeilenumbrüche sind, wo in der Konfigurationsdatei keine sein dürfen. Sie sollten jetzt eine lange Liste mit Angaben sehen, die mit der Überschrift „Test the environment for TWiki“ beginnt. Wenn Sie stattdessen Programmcode sehen, der mit #! beginnt, ist das Verzeichnis twiki\bin vom Server nicht als CGI-Verzeichnis freigegeben. Überprüfen Sie den Pfad in der Apache-Konfigurationsdatei. Wird die Fehlermeldung „Internal Server Error“ angezeigt, so verweist die Shebang-Zeile nicht auf Perl. Wie Sie diese ändern können, finden Sie in Anhang A. Der Windows-spezifische Teil ist damit abgeschlossen.
10.4 TWiki-Installation fertig stellen Das Skript testenv ist als Diagnosetool gedacht, um die aktuelle Konfiguration einsehen und eventuelle Fehler finden zu können. Der Aufruf geschieht im Browser über die URL http://[hostname] /twiki/[binpfad]/testenv, also z. B. http://localhost/twiki/bin/testenv. Als erstes wird eine Liste mit den Werten der Umgebungsvariablen ausgegeben. Im Bereich „CGI Setup“ finden Sie die installierten und gegebenenfalls benötigten Perl-Module. Es werden einige optionale Module angezeigt, die noch nicht vorhanden sind. Diese können Sie nach der in Anhang A beschriebenen Methode nachinstallieren. Der Eintrag „User“ zeigt den Benutzernamen, mit dem das Skript
172
■ ■ ■
10 TWiki installieren
ausgeführt wurde. Außerdem sehen Sie wahrscheinlich eine Warnung bezüglich des RCS angezeigt. Abb. 10.5
10.4.1 RCS Eigentümer ändern Für das RCS muss das System Zugriff auf die Schlüssel zu den RCS-Dateien sein. Ist dies nicht der Fall, können Änderungen nicht verfolgt werden. Standardmäßig werden die Dateien mit „nobody“ als Eigentümer ausgeliefert. Wenn Ihr System einen anderen Namen verwendet (und das ist sehr wahrscheinlich), dann müssen Sie diesen Eigentümer ändern. Dafür finden Sie auf der Seite zwar einen Link auf ein automatisiertes Skript; das scheint zum Zeitpunkt der Drucklegung aber noch sehr experimentell zu sein. Daher haben wir ein kleines Skript beigefügt, mit dem Sie die Änderungen anbringen können. Wechseln Sie dazu ins Verzeichnis twiki/data und geben Sie folgenden Befehl ein: sh unlockrcs.sh username Ihren Usernamen finden Sie auf der Testenv-Seite unter „User“. Achtung: Verwechseln Sie den User-Eintrag nicht mit dem weiter oben stehenden Logname. Das Skript erstellt eine Backup-Datei old-data.tar.gz. Sollte irgendetwas schief gegangen sein, so können sie den alten Zustand wieder
10.4 TWiki-Installation fertig stellen
■ ■ ■
173
herstellen, indem Sie die Sicherungskopien zurückspielen. Das geht mit tar xzvf old-data.tar.gz Ansonsten löschen Sie die Backup-Datei mit rm old-data.tar.gz Ein erneuter Aufruf von testenv zeigt an dieser Stelle immer noch eine Warnung, die wir jetzt aber getrost ignorieren können.
10.4.2 Twiki.cfg anpassen Der letzte Schritt der Installation besteht darin, die Konfigurationsdatei anzupassen. Diese liegt im Verzeichnis twiki/lib und hat den Namen Twiki.cfg. Öffnen Sie diese Datei in einem Editor (z. B. nano oder vi). Im Prinzip müssen eine Reihe von Pfaden den Gegebenheiten Ihres Systems angeglichen werden. Für Windows-Nutzer: Verwenden Sie als Pfad-Separator einen normalen Schrägstrich /. Die Datei testenv liefert wertvolle Hinweise darüber, wie die Variablen in Twiki.cfg gesetzt werden müssen. So sollte der Wert von $defaultUrlHost = "http://localhost" mit „HTTP_HOST“ übereinstimmen. Der Wert in der nächsten Variable entspricht dem relativen Pfad vom Webordner htdocs zum Verzeichnis bin bzw. pub: $scriptUrlPath = "/twiki/bin" $pubUrlPath = "/twiki/pub" Die folgenden Parameter zeigen auf die TWiki-Verzeichnisse und sollten auch unter Windows als absolute Pfade (aber mit /, nicht \) geschrieben werden, z. B.: $pubDir = "c:/apachefriends/xampp/htdocs/twiki/pub" $templateDir = "c:/apachefriends/xampp /htdocs/twiki/templates" $dataDir = "c:/apachefriends/xampp/htdocs/twiki/data"
174
■ ■ ■
10 TWiki installieren
Wählen Sie als nächstes die für Ihr System passende Version des Parameters $safeEnvPath. Es gibt verschiedene Abschnitte für die verschiedenen Betriebssysteme und Softwarekonfigurationen. Sie aktivieren Ihre Variante gegebenenfalls, indem Sie den Hash am Anfang der Zeile entfernen. Unter Linux brauchen Sie hier keine Änderungen vornehmen. Für Cygwin müssen die Zeilen so aussehen: #$safeEnvPath = "/bin:/usr/bin"; # Unix/Linux $safeEnvPath = "/bin"; # Cygwin Vergessen Sie nicht, ihn dann vor die nicht mehr passende Version der Variablen einzutragen. TWiki kann mit zwei unterschiedlichen Versionierungssystemen arbeiten. Im Normalfall wird dazu geraten, RCS zu verwenden. Unter Linux ist es meistens schon installiert. Sollten Sie jedoch kein RCS auf Ihrem System haben, so können Sie auch das mitgelieferte RCSLite verwenden. Diese Option empfehlen wir Ihnen auch unter Windows/Cygwin. RCSLite befindet sich jedoch noch in einem Teststadium und wird nicht zum Einsatz in der Produktion empfohlen. Wollen Sie RCS verwenden, so prüfen Sie, ob das Programm im Verzeichnis, das unter $rcsDir angegeben ist, zu finden ist. Im Normalfall brauchen Sie hier keine Änderungen vornehmen. Den RCS-Pfad finden Sie mit which rcs wobei am Schluss der Programmname mit angegeben ist. Um RCSLite einzusetzen, müssen Sie die Variable $storeTopicImpl entsprechend einstellen:
RCSLite
#$storeTopicImpl = "RcsWrap"; $storeTopicImpl = "RcsLite"; Wie Sie sehen, reicht es aus, das Kommentarzeichen umzusetzen, der Rest ist schon vorgefertigt. Wichtig ist für Windows-Nutzer zuletzt noch, die Pfade zu den Grep-Befehlen neu zu setzen. Die Einträge müssen folgendermaßen lauten:
Pfade zu Grep
$egrepCmd = "/bin/grep -E" $fgrepCmd = "/bin/grep -F"
10.4 TWiki-Installation fertig stellen
■ ■ ■
175
Damit sollte das TWiki funktionsfähig sein. Weitere Einstellungen, die in Twiki.cfg vorgenommen werden können, werden in den folgenden Kapiteln besprochen. Sehen Sie sich testenv nochmals an. Es sollten keine Fehlermeldungen mehr angezeigt werden, die mit „Error“ beginnen. Windows-User finden eventuell noch eine Sicherheitsmeldung für das Template-Verzeichnis, die Sie nicht weiter stören soll. Abb. 10.6
TWiki aufrufen
Jetzt 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 testenv, nur dass eben am Ende „view“ steht. Wenn Sie jetzt eine Oberfläche sehen, wie sie in Abb. 10.6 dargestellt ist, war die Installation erfolgreich.
10.5 TWiki-Seiten ansehen RCS überprüfen
176
■ ■ ■
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 „Revisions“. Ist hier (auf mehreren Seiten) nur ein Eintrag zu finden, so ist sehr wahrscheinlich RCS nicht korrekt installiert. Überprüfen Sie in diesem Fall die letzten Einträge im Fehlerprotokoll des ApacheServers auf die Frage, ob das Programm gefunden wurde. Ist dies nicht der Fall, ist wahrscheinlich der Pfad $rcsDir in Twiki.cfg falsch gesetzt.
10 TWiki installieren
Klicken Sie auf eines der Größerzeichen um sich die Unterschiede zwischen zwei Einträgen ausgeben zu lassen. Wenn Sie hier nur leere Einträge sehen, so wird das Diff-Kommando nicht gefunden. Sie sollten dann den $safeEnvPath in Twiki.cfg kontrollieren. Der muss so gesetzt sein, dass man das Diff-Programm an dieser Stelle finden kann. Merken Sie sich die Versionsnummer einer beliebigen Seite. Bearbeiten Sie diese Seite nun mit Edit und speichern sie mit Save. Die Revisionsnummer sollte sich um eine Stelle erhöht haben. Ist dies nicht der Fall, so sind die RCS-Versionsdateien nicht richtig entsperrt worden. Stellen Sie in diesem Fall die Backup-Dateien in twiki/data wieder her und wiederholen Sie die Entsperrung, wie sie in Kap. 10.4.1 beschrieben wurde. Klicken Sie auf „Topic list“. Damit wird Ihnen eine vollständige Liste aller Seiten in diesem Web angezeigt. Wenn an dieser Stelle Fehler auftauchen, so sollten Sie sich die Pfade in $lsCmd, $egrepCmd und $fgrepCmd in der Konfigurationsdatei nochmals ansehen. Laden Sie zuletzt eine Datei ins TWiki. Dies geht über den Link Attach. Geben Sie auf der folgenden Seite eine Datei an und klicken Sie auf Upload file. 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.
10.5 TWiki-Seiten ansehen
Diff testen
RCS-Dateien entsperrt?
Grep gefunden?
Schreibrechte
■ ■ ■
177
11 Arbeiten mit TWiki
Leser Autor WikiAdmin WebAdmin
11.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, steht Ihnen schon eine Reihe von Standardwebs zur Verfügung, die zwar gleichberechtigt nebeneinander existieren, jedoch unterschiedliche Funktionen ausführen. So erlaubt die 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 können.
11.1 Was sind Webs?
Standardwebs Tab. 11.1
■ ■ ■
179
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 (15.1) nachlesen. Noch eine kleine Besonderheit des TWikis: die Seiten werden nicht „Pages“ sondern „Topics“, also Themen, genannt, ein Umstand, der gerade bei Menüeinträgen wie „Topic list“ oder Sprungmarken wie „topic end“ 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.
11.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. 11.1
Die Seite kann man grob in vier Teile gliedern: ■
180
■ ■ ■
Oben ist die Kopfzeile (1), normalerweise farbig unterlegt und mit einem Logo. Sie dient zur Orientierung und enthält den Schnelleinstieg mit „Jump“.
11 Arbeiten mit TWiki
■
Auf der linken Seite befindet sich die Menüleiste (2) 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. 16.1).
■
Über die Fußzeile (3) stehen Ihnen die Aktionen zur Verfügung, die Sie benötigen um den Inhalt zu verändern.
■
Der Inhalt (4) steht nun zwischen Kopf – und Fußzeile und kann von Ihnen im Editierfenster gestaltet werden.
11.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 Edit-Schalter 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.
Register
Mit der Registrierung ■
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.
Users
Wenn Sie überprüfen wollen, ob Ihre Eintragung geklappt hat, sehen Sie am besten in der Menüleiste unter „Users“ nach. Da müsste dann innerhalb der alphabetischen Ordnung Ihr Wiki-Name an der richtigen Stelle stehen. Die Namen sind jeweils zu den zugehörigen Seiten verlinkt. Dahinter steht zusätzlich das Registrierungsdatum.
11.2 Eine Webseite
■ ■ ■
181
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. 0). Changes
Auf der „Changes“-Seite erhalten Sie eine Übersicht über alle Seiten, die zuletzt verändert wurden. Die 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 „Revision“Option 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.
Abb. 11.2
Links steht der Name der geänderten Seite, in der Mitte das Datum und die Versionsnummer und rechts der Urheber der Änderung. Unter dieser Zeile erhalten Sie in einem blassen Grau zur Orientierung den Anfang des Seitentexts. Die „Changes detailed“-Seite hat auf den ersten Blick die gleiche Funktion wie „Changes“. Sie beruht jedoch auf einem anderen Verfahren und wird in der nächsten Version des TWikis „Changes“ ersetzen, da mit ihr mehr Änderungen gefunden werden können. Topic list
182
■ ■ ■
Wie schon oben erwähnt, ist der Begriff „Topic“ gleichbedeutend mit „Seite“. Demzufolge handelt es sich bei der „Topic list“ um ein
11 Arbeiten mit TWiki
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
Die Struktur der „Topic list“ gestaltet sich analog zur „Changes“-Seite: Von links nach rechts stehen hier der Name der Seite, das Erstellungsdatum plus die derzeitige Versionsnummer, und der User, der die Erstellung durchgeführt hat. Darunter wiederum in grau der inhaltlichen Anfang der Seite. Die nächste wichtige Option der Menüleiste ist die Suchfunktion. 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 und damit gegebenenfalls den Suchraum einschränken, also die Suche beschleunigen. Zusätzlich können Sie einstellen, ob das aktuelle Web oder alle Webs im TWiki durchsucht werden sollen. 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.
11.2 Eine Webseite
Search
■ ■ ■
183
Noch ein kurzes Beispiel für die Suche: flamme -liebschaft
Advanced Search
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 fortgeschrittenen 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: ■
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
Create Personal Sidebar
184
■ ■ ■
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. 13 werden wir uns damit genauer auseinandersetzen. Als letzten Eintrag in der Menüleiste wäre nun noch der Befehl „Create Personal Sidebar“ zu nennen. Diesen sehen Sie allerdings
11 Arbeiten mit TWiki
nur, wenn Sie ihn zuvor noch nicht benutzt haben, denn wenn Sie diesen aktivieren, gelangen Sie in den Editiermodus der so genannten 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 voreingestellten Variablen im Quelltext verwirren, sondern probieren Sie einfach mal aus, einen weiteren Link zu setzen, indem Sie folgenden Text eingeben: http://www.wiki-tools.de Wenn Sie die Seite gespeichert haben, werden Sie die Veränderung nicht nur in der Menüleiste begutachten können, sondern – konsequent dem Wiki-Prinzip folgend – auch auf der Seite selbst. 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.
11.2.2 Die Informationsleiste Die Informationsleiste ü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 wie z. B. edit, attach und print, die sich nochmals in der Funktionsleiste befinden und die wir dort 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. Falls Sie trotzdem rasch zur Fußzeile gelangen wollen, können Sie die Sprungmarke „topic end“ nutzen.
11.2.3 Die Funktionsleiste Die Funktionsleiste enthält die wichtigsten Werkzeuge eines TWiki-Autors. Neben der Kernfunktion edit, die das Editierfenster öff-
11.2 Eine Webseite
Attach image or document
■ ■ ■
185
Dateien anhängen
net (s. u.), können Sie mit attach image or document alle möglichen Dateitypen an die Seite anhängen. Dies ist 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. Auch der Zugriff auf die Dokumente ist mit der Zugangskontrolle auf Seitenebene optimal organisiert. Damit sind auch die besten Voraussetzungen zum Filesharing gegeben: gut dokumentiert und kategorisiert können Sie MultimediaDateien, 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 attach-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 „Link“ 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. an eine .php-Datei ein zusätzliches .txt an den Namen anhängt. Achtung: Sie können die Größe des Anhangs in der Variable %ATTACHFILESIZELIMIT% auf der Seite TWikiPreferences 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:
186
■ ■ ■
11 Arbeiten mit TWiki
Abb. 11.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 manage-Link zu einer Seite, in der Sie alle wichtigen Einstellungen zu dem Attachement vornehmen bzw. ändern können, einschließlich dem Verschieben und Löschen einer Datei: Abb. 11.4
Die erste Tabelle zeigt alle angehängten Dateien einschließlich ihrer Attribute. Das h zum Beispiel bedeutet, dass sie versteckt ist.
11.2 Eine Webseite
■ ■ ■
187
Die zweite Tabelle listet die unterschiedlichen Versionen der Datei auf. Bei jedem neuen Hochladen erhöht sich die Versionsnummer um eins. Um eine bestimmte Version zu begutachten, müssen Sie nur auf das jeweilige view klicken. Wenn Sie lediglich die nun folgenden Anhangeigenschaften, z. B. „hidden“ ändern, genügt es diese Umstellung mit „change properties only“ 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. Datei verschieben / löschen
Zum Verschieben einer Datei aktivieren Sie den „Move Attachments“-Link. 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. 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!
Auf eine angehängte Datei verlinken
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 „Link“ automatisch einen Link oder eine Grafik in den Quelltext setzen zu lassen. Dies funktioniert auch manuell durch den Einsatz einer Variablen (s. u.) mit %ATTACHURL%/Feuer.txt In der Seitenansicht wird dann folgernder Verweis sichtbar, mit dem man dann auf die Datei zugreifen kann: http://www.wikitools.de/twiki/pub/TWiki/FileAttachment/Sample.txt. Ebenso funktioniert es mit einer Grafik: %ATTACHURL%/Wandzeichnung.gif Allerdings erscheint hier kein Link, sondern die Grafik selbst.
188
■ ■ ■
11 Arbeiten mit TWiki
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 Außerdem besteht die Möglichkeit, angehängte HTML-Dateien mit
HTML-Datei einbetten
%INCLUDE{"%ATTACHURL%/Feuer.txt"} direkt in den Quelltext einzubinden. Der Inhalt der Datei, also der HTML-Code, wird dann übergangslos in das Eingabefenster eingebettet und beim Abspeichern verarbeitet. Hinweis: Es gibt keine Zugangskontrolle für die einzelnen Attachments. Wenn Sie eine spezielle Datei schützen wollen, hängen Sie diese an eine separate Seite und belegen die Seite mit einer Zugangskontrolle. Auf dem Webserver werden alle Attachments 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 „Printable version“ 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 „Raw Text“ lässt Sie einen Blick auf den Quelltext der Seite werfen, ohne dass Sie in den Editiermodus wechseln müssen. Dies ist insbesondere dann sinnvoll, 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.
Printable version
Mit „more topic actions“ gelangen Sie auf eine Liste von weiteren sehr nützlichen Funktionen:
More topic actions
11.2 Eine Webseite
Raw Text
■ ■ ■
189
■
Move to Trash: Hier können Sie die aktuelle Seite löschen. Die Seite wird dabei in das Trash-Web verschoben. 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.
■
Rename or move topic; Ähnlich funktioniert das Verschieben bzw. das Umbenennen einer Seite, nur dass Sie in diesem Fall natürlich nicht das Trash-Web auswählen. Auch hier können Sie die Links automatisch aktualisieren lassen.
■
Back-links (Ref-by): Diese Funktion listet in alphabetischer Reihenfolge alle Links auf, die auf die aktuelle Seite verweisen.
■
Child topics in Main Web: Listet alle Seiten im aktuellen Web (hier Main), die von dieser Seite aus erstellt wurden.
■
Set new topic parent: Die Eltern-Seite ist eigentlich diejenige, von der aus eine Seite erstellt wurde. Da diese in der Anzeige am Fuß der Seite als Pfad mit angegeben wird, ist es manchmal wünschenswert, sie aus Ordnungsgründen zu ändern.
■
View previous topic revision: 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.
■
Compare revisions: 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.
Revisions
Zurück zur Funktionsleiste. Zur Ansicht der Versionen und deren Vergleich kommen Sie auch schon von hier: 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 allerdings doch die More-Topics-Seite zu Hilfe nehmen.
Total page history
Einen vollständigen Überblick über die ganze Geschichte der Seite bekommen Sie durch den Link „Total page history“. Hier sind auch alle Änderungen zwischen den Versionen übersichtlich gekennzeichnet.
190
■ ■ ■
11 Arbeiten mit TWiki
Die letzte Aktion, die die Funktionsleiste bietet, ist „Backlinks“. Sie kennen diese schon von der „More actions“-Seite: Es werden alle Links aufgeführt, die auf die aktuelle Seite zeigen.
Backlinks
11.3 Das Editierfenster Wenn Sie sich als User eingeloggt haben und dann eine Seite verändern wollen, also den Edit-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. Abb. 11.5
11.3.1 Speicheroptionen So können Sie unterhalb des Editierfensters zunächst bestimmen, ob Sie die Editiersperre aufheben möchten. Diese sorgt standardmäßig dafür, dass die bearbeitete Seite für 60 Minuten gesperrt ist, d. h. alle User, die darauf zugreifen möchten, erhalten eine entsprechende Meldung. Zudem fließen alle Änderungen, die Sie in dieser Zeit an der Seite durchführen, in die letzte Version mit ein, d. h. wenn Sie nach dem Speichern noch Fehler finden und diese innerhalb der 60 Minuten ausbessern, wird dafür keine neue Version angelegt.
11.3 Das Editierfenster
Editiersperre
■ ■ ■
191
Hinweis: Die Editiersperre kann aber umgangen werden. Wenn eine gesperrte Seite aufgerufen wird, so erhält man die Option „Edit anyway“, mit der diese Seite trotzdem bearbeitet werden kann.
Minor changes
Um die Seite schon vor Ablauf der Editiersperre wieder frei zu geben, aktivieren Sie die Option "Release edit lock". Ihre eigenen Änderungen werden die nächste Stunde dennoch unter lediglich einer Version subsumiert. Auch die Zeitspanne der Editiersperre können Sie nach Ihren Wünschen festlegen. Dazu müssen Sie in der Datei lib/Twiki.cfg den Wert der Variablen $editLockTime ändern. Die Option „Minor changes“ 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. 15.5) erstellt wird.
11.3.2 Speichern Zum Speichern stehen Ihnen komfortable drei Möglichkeiten zur Verfügung: ■
Save: Die ganz normale Speicherung. Von nun an gilt die Editiersperre.
■
QuietSave: Hat den gleichen Effekt wie das Speichern mit „Minor Changes“ und wurde aus Gründen der Bequemlichkeit eingeführt.
■
Checkpoint: 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.
Vor dem endgültigen Abspeichern können Sie sich Ihren Text mithilfe von Preview nochmals betrachten. Doch vergessen Sie danach das Speichern nicht, da sonst ihre Bearbeitung verloren geht! Wenn Sie aus irgendwelchen Gründen das Editieren abrechen und zur ursprünglichen Seitenansicht zurückkehren wollen, betätigen Sie den Cancel-Schalter. Access keys
192
■ ■ ■
Access keys sind Tastenkombinationen, die es dem fortgeschrittenen User erlauben, schneller zu agieren. Denn es ist damit nicht mehr
11 Arbeiten mit TWiki
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: Funktion Cancel Checkpoint Quiet Save Save Preview
Buchstabe C K Q S P
Tab. 11.2
Es hängt von Ihrem Browser bzw. dem Betriebssystem ab, welche Tastenkombination Sie drücken müssen: ■
■
Netscape Navigator, Mozilla oder Firefox ■
Halten Sie die -Taste gedrückt
■
Betätigen Sie den erforderlichen Buchstaben
Internet Explorer ■
■
Funktioniert wie oben, nur dass Sie nach dem Loslassen der Tasten zusätzlich auf <ENTER> gehen
Mac ■
Halten Sie die -Taste gedrückt
■
Betätigen Sie den erforderlichen Buchstaben
Am Ende der Seite finden Sie eine kurze Übersicht über die Formatierungsbefehle im TWiki, z. B. wie man einen Text kursiv setzt.
11.3 Das Editierfenster
Formatierhilfe
■ ■ ■
193
12 Formatierung im TWiki
Leser Autor WikiAdmin WebAdmin
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.
12.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 Elternseite („parent“) der neuen eingetragen. Dies erkennen Sie daran, dass die Elternseite am Seitenende im Pfad „You are here“ 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.
12.1 Zeichenformatierung
Überschriften
■ ■ ■
195
---+Überschrift 1 ---++Überschrift 2 ---+++Überschrift 3
Zeichenformatierung Tab. 12.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. 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 Achtung: Zwischen den Formatierungszeichen und dem Text dürfen keine Leerzeichen stehen, da sonst die Formatierung nicht wirksam wird! Die Ausgabe der bisherigen Formatierungen sehen Sie im folgenden Screenshot:
196
■ ■ ■
12 Formatierung im TWiki
Abb. 12.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.
Absatz
Wenn Sie Ihre Inhalte in der Form von Listen gestalten wollen, gibt es die in der folgenden Tabelle dargestellten Möglichkeiten. Beach-
Listen
12.1 Zeichenformatierung
■ ■ ■
197
ten Sie bitte, dass vor den entsprechenden Formatierungszeichen jeweils drei Leerzeichen stehen müssen. Tab. 12.2
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
12.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.
12.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:
198
■ ■ ■
12 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. 12.2
12.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:
12.2 Tabellen
■ ■ ■
199
Mesolithikum | Neolithikum |
Feuerstein | Metallbearbeitung |
Siedlung | Ackerbau |
Das Ergebnis ist hier zu sehen: Abb. 12.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.
12.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
entwickelt ---------Feuer
Der Text zwischen den Text wird dann 1:1 wiedergegeben. Diese Notation kann beispielsweise nützlich sein, wenn die Tabelle per ASCII in ein anderes Programm exportiert werden soll.
200
■ ■ ■
12 Formatierung im TWiki
12.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 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.
Alternative mit Klammern
12.3 Links
■ ■ ■
201
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.
12.4 Einbinden von Bildern Wie Sie Bilder in den Text Ihres Artikels setzen, haben Sie in Kap. 11.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 Attach 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önnen Sie auch manuell in den Quelltext eingeben. Als Alternative funktioniert auch folgender Ausdruck: %ATTACHURL%/bild.gif
202
■ ■ ■
12 Formatierung im TWiki
Bilder, die anderen Seiten oder sogar in anderen Webs angehängt sind, erreichen Sie über %PUBURL%/webname/seitenname/bild.gif
12.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.
12.6 TWiki und JavaScript Ebenso problemlos können Sie JavaScript mit Ihrer TWikiApplikation verwenden. Um der TWiki-Formatierung zu entgehen 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. 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!
12.7 TWiki Variablen
■ ■ ■
207
13 Die Suche im TWiki
Leser Autor WikiAdmin WebAdmin
Ein gut ausgebautes Wiki ist eine große Wissensdatenbank. 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 man 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. Um also die lose (Un-)Ordnung im Wiki in den Griff zu bekommen, ist letztendlich die Suchfunktion die beste, wenn nicht einzige Möglichkeit.
13.1 Die Suchfunktion Sie finden die Suche unter dem Stichwort „Search“ in der Navigationsleiste. Wenn Sie diese aufrufen, sehen Sie das Suchformular, das in Kap 11.2.1 schon besprochen wurde. Wenn Sie nun beispielsweise nach „leftbar“ in allen 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. Darüber hinaus werden Ihnen noch die ersten Zeilen des Quelltextes des Artikels mit ausgegeben. Am unteren Ende der Liste finden Sie noch die Anzahl der Treffer. Etwas mehr Möglichkeiten, die Trefferanzeige zu bestimmen und den Suchraum einzugrenzen, bietet die fortgeschrittene Suche, die im Suchfenster unter Advanced Search oder im Topic Main.WebSearchAdvanced zu finden ist.
13.1 Die Suchfunktion
Fortgeschrittene Suche
■ ■ ■
209
Abb. 13.1
Hier erwartet Sie eine Fülle von zusätzlichen Einstellungen:
210
■ ■ ■
■
Search … web(s). Hier können Sie auswählen, welches Web durchsucht werden soll.
■
Sort by … Lassen Sie sich die Ergebnisse nach dem Titel („Topic name“), der Zeit der letzten Bearbeitung („Last modified time“) oder dem Autor („Last editor“) sortieren. Wenn Sie „in reverse order“ wählen, wird die Reihenfolge umgedreht.
■
Make Search … Wenn das Suchprogramm die Großschreibung berücksichtigen soll, so setzen Sie einen Haken vor „casesensitive”. Mit „regex“ teilen Sie dem System mit, dass die eingegebene Zeichenfolge als regulärer Ausdruck interpretiert werden soll. Dazu mehr in Kap. 13.3.
■
Don’t show … Hier können Sie festlegen, was an Informationen bei der Trefferanzeige ausgegeben wird. Ein Haken vor „search string“ unterdrückt die Anzeige des Suchbegriffs vor der Liste, „total matches“ die der Anzahl der Treffer. Am interessantesten dürfte die Möglichkeit sein, die ersten Inhaltszeilen „summaries“ zu verbergen und sich somit bessere Übersicht zu verschaffen.
■
Do show … “locked topic” zeigt an, ob ein Artikel gerade gesperrt ist. Wenn Sie in „all topics“ statt „all“ eine Zahl einsetzen, so wird nur die entsprechende Anzahl an Treffern pro Web ausgegeben. Mit „book view“ werden nicht nur die Titel der ge-
13 Die Suche im TWiki
fundenen 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.
13.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“ 1 liegen bleiben. Diesen Wert bezeichnet man als Precision . 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. Die Reihenfolge spielt dabei keine Rolle. Die möglichen Operatoren wurden bereits in Kap. 11.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.
1
Suchmethode
Vgl. Ferber, 2003, Kap. 1.3.7
13.2 Effektiv suchen
■ ■ ■
211
13.3 Suchen mit regulären Ausdrücken
Boolesche Operatoren Tab. 13.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)
Beispiele
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 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 funke|funken
212
■ ■ ■
13 Die Suche im TWiki
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.
Buchstabenmuster
Tab. 13.2
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]
13.3 Suchen mit regulären Ausdrücken
■ ■ ■
213
Anzahl bestimmen
Tab. 13.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. Reguläre Ausdrücke werden uns in Kap. IV.5.2 wieder begegnen, wo es um die Verarbeitung von standardisierten Daten geht.
13.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
214
■ ■ ■
13 Die Suche im TWiki
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. ■
scope="..."
order="..."
limit="..." reverse="on" casesensitive ="on"
Parameter
Tab. 13.4
regex. Suche mit regulären Ausdrücken.
Durchsucht ■
topic. Nur die Titel.
■
text. Nur die Inhalte.
■
all. Alles wird mit einbezogen.
Sortierung nach ■
topic. Dem Titel.
■
created. Dem Erstellungsdatum.
■
modified. Dem Datum der letzten Bearbeitung.
■
editby. Dem letzten Autor.
Begrenzt die Anzahl der angezeigten Treffer. Die Ergebnisse werden in der umgekehrten Reihenfolge ausgegeben. Großschreibung wird beachtet.
13.4 Eingebettete Suche
■ ■ ■
215
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. Man erstellt sich daher eine Seite EinstellungsÜberblick und legt dort eine Überschrift und folgende Suche an: ---++ 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. Abb. 13.2
Ergebnis formatieren
216
■ ■ ■
Die Integration der Suche in eine Seite kann aber noch viel weiter gehen. Mit der formatierten Suche können Sie festlegen, welche
13 Die Suche im TWiki
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 bestimmt 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: 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 von System ergänzt werden. Es gibt eine ganze Liste dieser Variablen, einige sind in Tab. 13.5 abgedruckt. Variable $web $topic
$parent $text $rev $date $wikiname $creatdate, $createwiki name $summary $pattern(re g-ex) $percnt, $dollar, $n
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 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. Datum und Autor der ersten Version des Topics.
Tab. 13.5
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.
13.4 Eingebettete Suche
■ ■ ■
217
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 mit 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" regex="on" separator=", " multiple="on" format=" $pattern(.*?([a-z.]+@[a-z]+\.[a-z]{2,4}).*) " }%
Suchmuster
218
■ ■ ■
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
13 Die Suche im TWiki
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: $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: ■
Ersetzen Sie das führende % durch $percnt.
■
Maskieren Sie die Anführungszeichen: \".
■
Ersetzen Sie alle $ durch $dollar.
■
Entschärfen Sie die Schlusssequenz: }$nop%.
Verschachtelte Suche
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%" }%
13.4 Eingebettete Suche
■ ■ ■
219
Abb. 13.3
Man kann Suchanfragen bis zu sechzehnmal ineinander verschachteln. Aber trösten Sie sich, dafür gibt es weder ein Beispiel, noch eine Anwendungsmöglichkeit.
220
■ ■ ■
13 Die Suche im TWiki
14 Userrechte im TWiki
Leser Autor WikiAdmin WebAdmin
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. Bei Cygwin-Perl wird dies standardmäßig nicht mitgeliefert. Die Installation ist in Anhang A beschrieben.
14.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.
14.1 Authentifikation vs. Autorisierung
Konzepte der Userverwaltung
■ ■ ■
221
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.
14.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. 14.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. Suchen Sie die Seite TWikiRegistrationPub und verschieben Sie diese nach TWikiRegistration.
222
■ ■ ■
14 Userrechte im TWiki
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. 15.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. 14.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.
14.3 Passwortschutz einrichten Die Anmeldung funktioniert über den Authentifizierungsmechanismus des Webservers. Dieser wird so eingestellt, dass der Zugriff auf einige der Skripte des TWikis ohne Login verweigert wird. Dazu dient die Datei .htaccess im Verzeichnis twiki/bin. Diese ist in der Standardinstallation noch mit einer zusätzlichen Endung .txt versehen und daher nicht aktiviert. Zunächst sollten Sie sich die Datei ansehen und einige kleine Änderungen vornehmen. Ersetzen Sie in der Zeile, die mit AuthUserFile beginnt, !FILE_path_to_TWiki! mit dem Pfad, der zum Verzeichnis data Ihres TWikis führt, also am einfachsten ../data. Die Meldung, die beim Login ausgegeben wird, können Sie in der folgenden Zeile, die mit AuthName beginnt, ändern. Wenn sie Ihr Wiki immer noch möglichst offen halten wollen, so sollten Sie hier die Login-Daten für den Gastzugang mit angeben. Unter ErrorDocument ersetzen Sie !URL_path_to_TWiki!
14.3 Passwortschutz einrichten
.htaccess anpassen
■ ■ ■
223
mit dem Pfad in der URL ihres TWikis (der Abschnitt nach dem Hostnamen), der zum Oops-Skript führt. Dieses Skript, das sich im Verzeichnis twiki/bin befindet, ist für die Ausgaben von Fehlermeldungen des TWikis zuständig. In den darauf folgenden Zeilen sind die Skripte aufgeführt, die von nun an zur Ausführung einen gültigen Nutzernamen benötigen. Diese sollten Sie nicht ändern, da hier einige Abhängigkeiten bestehen (so müssen z. B. edit und save die gleichen Berechtigungen haben). Benennen Sie .htaccess.txt in .htaccess um. Wenn Sie jetzt versuchen, eine Seite im TWiki zu bearbeiten, sollten Sie eine Aufforderung zur Anmeldung erhalten. Loggen Sie sich ein, machen Sie eine Teständerung und speichern Sie diese. Wenn das funktioniert, haben Sie ihre Authentifizierung erfolgreich aktiviert. Hinweis: Sie sollten unbedingt das Topic ChangePassword aus dem TWiki-Web in das Main-Web kopieren, damit die angemeldeten User ihre Passwörter direkt über ihre User-Seite ändern können. Ansonsten zeigt dieser Link auf der Userseite ins Leere, was sehr verwirrend ist.
14.4 Zugangskontrolle
NobodyGroup
224
■ ■ ■
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.
14 Userrechte im TWiki
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, 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
TWikiAdminGroup
Neue Gruppen erstellen
allow vs. deny
Einzelne Seiten schützen
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 brachen Sie keine Angaben zu DENY machen. Die ersten beiden Variablen beziehen sich auf die Bearbeitung eines Topics und enthalten
14.4 Zugangskontrolle
■ ■ ■
225
Zugriffsvariablen verstecken
Lesezugriff einschränken
Kombination der Strategien
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. 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: ···*·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.
Zugriffskontrolle auf Web-Ebene
226
■ ■ ■
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
14 Userrechte im TWiki
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
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 ···*·Set NOSEARCHALL = on 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
Prioritäten bei der Rechtevergabe
Rechte für das gesamte Wiki
···*·Set ALLOWWEBMANAGE = User, Gruppen ···*·Set DENYWEBMANAGE = User, Gruppen entfernen, da Sie sonst keine weiteren Webs hinzufügen können.
14.4 Zugangskontrolle
■ ■ ■
227
SuperAdminGruppe
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 Berarbeitungsrechte 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 in der Datei Twiki.cfg im Verzeichnis lib vornehmen. Die beiden relevanten Parameter sind $superAdminGroup = "TWikiAdminGroup" $doSuperAdminGroup = "1" Mit dem ersten legen Sie den Namen der Super-Gruppe fest. Der zweite ist ein Schalter. Hat er den Wert 1, so ist die Super-Eigenschaft aktiviert, bei 0 ausgeschalten.
14.5 Strategien für Nutzerrechte
Geschlossenes System
228
■ ■ ■
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
14 Userrechte im TWiki
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, wäre es wünschenswert, wenn im TWiki nur die Seiten mit einem Login versehen würden, für die eine Zugriffsbeschränkung besteht. Leider ist diese Mischstrategie in der Software nicht vorgesehen. Es gibt aber dennoch Wege, diese zu realisieren.
Lesen erlaubt, Schreiben mit Anmeldung
Schreiben teilweise erlaubt
14.6 Eine Mischstrategie bei der Authentifizierung Im Folgenden interessiert uns also die Frage, wie man erreichen kann, dass nur bestimmte Seiten einen Login zur Bearbeitung benötigen. Nahe liegend ist, die Zugriffskontrolle allein über die Autorisierungsvariablen zu bestimmen. Das Problem liegt jedoch darin, dass der Webserver sich den Usernamen im Allgemeinen nur dann merkt, wenn auch eine Authentifizierung verlangt wird. Und ohne Usernamen kann keine Autorisierung vorgenommen werden. Wenn Sie also das Edit-Skript von der Authentifizierung ausnehmen, so kann es gar nicht feststellen, wer eine Bearbeitung versucht. Daher nimmt es an, dass dies über den Gastaccount geschieht und wird geschützte Seiten nie freigeben. Das TWiki bietet einen vorgefertigten Mechanismus, der sich merkt, wer sich eingeloggt hat. Dazu müssen Sie in der Datei Twiki.cfg den Parameter $doRememberRemoteLogin auf den Wert 1 setzen. Nun speichert das TWiki beim Aufruf eines autorisierten Skripts Ihre IP-Adresse zusammen mit Ihrem Loginnamen in einer Datei ab.
14.6 Eine Mischstrategie bei der Authentifizierung
User über IP erkennen
■ ■ ■
229
Probleme
Login-Link
Beim nächsten Aufruf irgendeines Skripts über diese IP wird aus der Datei der entsprechende Username ausgelesen und ist somit auch nicht authentifizierten Skripten bekannt. Also könnten wir den .htaccessSchutz für das Verzeichnis bin im Prinzip aufheben. Den Speicherort für die IP-Adressen können Sie ebenfalls in Twiki.cfg festlegen. Der Parameter heißt $remoteUserFilename und zeigt standardmäßig auf die Datei remoteusers.txt im Verzeichnis data. Damit bleiben zwei Probleme zu lösen. Erstens müssen wir einen Login-Link schaffen, der eine einmalige Authentifizierung auslöst, da das Edit-Skript nun nicht mehr geschützt ist. Zweitens ist die dauerhafte Speicherung und Authentifizierung über IP sehr unsicher, da IPs leicht gefälscht werden können oder auch im Normalfall oft ihren Besitzer wechseln. Das erste Problem ist relativ leicht zu beheben. Im Verzeichnis bin gibt es eine Datei viewauth, die eine exakte Kopie des ViewSkripts ist. Diese Datei schützen Sie über .htaccess: require valid-user Die Einträge für alle anderen Dateien kommentieren Sie mit einem # am Anfang der Zeile aus. viewauth erledigt nun den Login für uns, da es geschützt ist und somit den Browser zum Anmeldedialog auffordert. Ab dann ist der Nutzer bekannt und wird über IP angemeldet. Sie müssen aber noch einen Login-Link anbringen, der das geschützte Skript aufruft. Am besten tragen Sie den in der Menüleiste, also WebLeftBar ein: [[%SCRIPTURL%/viewauth%SCRIPTSUFFIX%/ %BASEWEB%/%BASETOPIC%][Login]]
Ausloggen
Dieser Link bewirkt, dass immer die gerade betrachtete Seite mit dem authentifizierten Skript aufgerufen wird. Zweites Problem: Wenn Sie einmal als User mit einer IP-Adresse registriert sind, dann bleiben Sie das bis an Ihr Lebensende. Dies ist nicht nur unsicher, sondern auch unpraktisch, da man – gerade als Administrator – ab und zu den User wechseln muss. Ein relativ kurzes Skript kann hier Abhilfe schaffen. Zum Ausloggen muss nämlich nur der Eintrag des eingeloggten Nutzers aus der entsprechenden Datei gelöscht werden. Das Skript ist im Folgenden abgedruckt: 1 #!/usr/bin/perl -w 2
230
■ ■ ■
14 Userrechte im TWiki
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
# Pfade für Bibliotheken setzen BEGIN { if( $ENV{"SCRIPT_FILENAME"} && $ENV{"SCRIPT_FILENAME"} =~ /^(.+)\/[^\/]+$/ ) { chdir $1; } unshift @INC, '.'; require 'setlib.cfg'; } # nötige Module einbinden use strict; use CGI::Carp qw(fatalsToBrowser); use CGI; use TWiki; my $query = new CGI; # aktuellen User ermitteln my $theRemoteUser = TWiki::initializeRemoteUser(); # Userdatei einlesen my $text = &TWiki::Store::readFile( $TWiki::remoteUserFilename ); my @line = split( /\n/, $text ); # Eintrag der neuen Datei my $newtext; # aktuellen User in der Datei finden for (my $i = 0; $i < scalar(@line); $i++) { if (!grep(/\|$theRemoteUser\|/, $line[$i])) { $newtext .= $line[$i]."\n"; } } # neue Datei speichern
14.6 Eine Mischstrategie bei der Authentifizierung
■ ■ ■
231
47 &TWiki::Store::saveFile( 48 $TWiki::remoteUserFilename, $newtext ); 49 50 # Bestätigungsseite aufrufen 51 TWiki::redirect($query, 52 TWiki::getOopsUrl("Main", "WebHome", 53 "oopslogoff", $theRemoteUser)); Zunächst werden einige Vorbereitungen getroffen, die das Arbeitsverzeichnis betreffen (Z. 4-13). Das ist nötig um im nächsten Schritt die Bibliotheken einbinden zu können (Z. 16-19). Die Variable $query (Z. 21) wird später beim Aufruf einer Bestätigungsmeldung benötigt. In Z. 24f wird der aktuelle User ermittelt, sofern es einen Eintrag gibt. Ansonsten ist der Wert von $theRemoteUser „guest“. Nun muss die Registrierdatei eingelesen und in einzelne Zeilen für die Weiterverarbeitung aufgespalten werden (Z. 28-31). Beachten Sie, dass wir hier keine absoluten Dateinamen und Pfade, sondern die in Twiki.cfg spezifizierten verwenden (über $TWiki::remoteUserFilename). Jetzt kommt das Kernstück des Skripts (Z. 33-44): Wir bauen den Text ($newtext) einer neuen Datei zusammen, in der alle Einträge übernommen werden, die nicht den Namen des aktuellen Users enthalten (Z. 39). Diesen Text speichert das Skript in der Datei (Z. 47f). Zuletzt leiten wir den Browser auf die Ausgabe einer Abmeldebestätigung um (Z. 51-53). Dabei bedienen wir uns des Oops-Skripts, das im TWiki generell verwendet wird, um Meldungen auszugeben. Die ersten beiden Parameter von TWiki::getOopsUrl geben die TWiki-Seite an, auf die der OK-Link weiterführt. Die nächste Angabe betrifft die noch zu erstellende Vorlage des Bestätigungstextes (s. u.). Als letztes übergeben wir noch den Namen des Nutzers, der abgemeldet wurde. Tipp: Eine direkte Weiterleitung auf eine TWiki-Seite realisieren Sie mit dem Befehl TWiki::getViewUrl("Web", "Topic") an Stelle von TWiki::getOopsUrl. Bestätigung der Abmeldung
232
■ ■ ■
Warum ist diese Bestätigung so wichtig? Wir können den User nur in den serverseitigen Aufzeichnungen löschen. Die HTTP-Authentifizierung funktioniert jedoch über den Browser. Der merkt sich die Anmeldedaten und schickt sie auf Anfrage (also bei einem geschützten Skript) zurück an den Server, der die Daten wieder in die RemoteuserDatei einträgt. Nach unserer Abmeldung kann es also passieren, dass der Browser den User unabsichtlich wieder anmeldet. Daher ist es nötig, erstens einen Hinweis auszugeben, der das erklärt, und zweitens, den Benutzer dann auf eine nicht gesperrte Seite weiterzuleiten.
14 Userrechte im TWiki
Tipp: Für den Firefox Browser gibt es den Web Developer, ein sehr gutes Plugin, das es erlaubt, die HTTP-Authentifizierung zurückzusetzen (Miscellaneous -> Clear HTTP Authentication). Eine mögliche Ausgabe über das Template-System ist im Folgenden abgedruckt. Für genauere Einzelheiten zu den Templates s. Kap. 16.1.3. Speichern Sie die folgende Datei unter dem Namen oopslogoff.tmpl im Verzeichnis templates: %TMPL:INCLUDE{"TWiki"}% %TMPL:DEF{"titleaction"}%(oops) %TMPL:END% %TMPL:DEF{"webaction"}% *Attention* %TMPL:END% %TMPL:DEF{"heading"}%Logout%TMPL:END% %TMPL:DEF{"message"}% User %PARAM1% is now logged out. Be careful! You have to shut down your browser in order to complete the logout. If you don't, the browser will log you on again once you hit an authenticated page. %TMPL:END% %TMPL:DEF{"topicaction"}% [[%WEB%.%TOPIC%][OK]] %TMPL:END% %TMPL:P{"oops"}% Das sieht im Ergebnis dann so aus: Abb. 14.2
14.6 Eine Mischstrategie bei der Authentifizierung
■ ■ ■
233
Im Prinzip werden hier die Texte für vorgefertigte Bereiche der Ausgabe von oops-Meldungen festgelegt. Hier wurde bewusst ein englischer Text angegeben, da der Rest der Meldungen ebenfalls in Englisch ist (vgl. auch Kap. 16.2) Tipp: Um ganz sicher zu gehen, dass sich keine „Leichen“ in der Remoteuser-Datei befinden, sollten Sie diese in regelmäßigen Abständen löschen, z. B. per Cron-Job. Beachten Sie aber, dass Nutzer, die sich gerade im Bearbeitungsvorgang befinden, dann ihre Daten verlieren können.
234
■ ■ ■
14 Userrechte im TWiki
15 TWiki administrieren
Leser Autor WikiAdmin WebAdmin
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. 14.4). Eine Zusammenstellung der wichtigsten Seiten, die zur Administration benötigt werden, finden Sie im Topic TWiki.AdminTools.
15.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.
15.1.1 Einrichten Um ein neues Web zu erstellen, brauchen Sie bloß das Formular auf TWiki.ManagingWebs auszufüllen. Das ist in Abb. 15.1 dargestellt.
15.1 Webs verwalten
Name
■ ■ ■
235
Abb. 15.1
Geben Sie zunächst den Namen des neuen Webs ein. In der neuesten Version der Software kann hier 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 übernommen, die mit „Web“ beginnen. Beachten Sie aber, dass etwaige Attachments nicht mit kopiert werden.
236
■ ■ ■
15 TWiki administrieren
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
15.1.2 Umbenennen, Löschen, Archivieren Für das Umbenennen oder Löschen von Webs gibt es keine automatisierten Skripte. Zunächst müssen also die Verweise auf das alte Web aktualisiert werden. Suchen Sie also in den einzelnen Webs nach Seiten, die folgende Einträge enthalten:
Verweise finden
Altesweb. Altesweb/ Beachten Sie den abschließenden Punkt oder Schrägstrich, der bewirkt, dass nur die Verweise auf das Web gefunden werden. Sie müssen nun alle gefundenen Links in Neuesweb ändern oder, wenn Sie das Web löschen wollen, entfernen. Das ist der aufwändigste Teil der Arbeit. Der Vollständigkeit halber sollten Sie auch noch den Eintrag WIKIWEBLIST in TWikiPreferences aktualisieren. Gehen Sie nun auf die Dateiebene und ändern oder löschen Sie die Verzeichnisse, die Einträge des alten Webs enthalten. Diese finden Sie in data, pub und templates unter dem Namen des jeweiligen Webs. Das war’s. Um Webs zu archivieren, brauchen Sie nur die Inhalte der jeweiligen Webverzeichnisse aus data, pub und templates in eine Archivdatei zu packen. Unter Linux und Cygwin können Sie dazu folgenden Befehl verwenden:
15.1 Webs verwalten
Dateien ändern
Webs archivieren
■ ■ ■
237
tar czvf archivpfad/archivname.tar.gz 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.
15.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?skin=rss
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?skin=rss&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]]
238
■ ■ ■
15 TWiki administrieren
15.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. 15.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. 15.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. 15.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. 15.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.
15.2 Topic-Vorlagen
■ ■ ■
239
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. 15.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. 15.3 erklärt. Tab. 15.3
240
■ ■ ■
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.
15 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.
15.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-Tools 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.
15.3 Interwiki-Links
■ ■ ■
241
15.4 User verwalten
Neue Passwörter
Vandalen sperren
User löschen
242
■ ■ ■
Als Verantwortlicher für die Zugangskontrolle (s. Kap. 14) 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 drei Fragen, die von einem Administrator geklärt werden müssen: Wie kann man vergessene Passwörter zurücksetzen, Nutzer kurzzeitig sperren und zu guter Letzt, User löschen? Dem wollen wir uns jetzt 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 bekommen Sie eine Zeichenkette, die den Nutzernamen und das kodierte Passwort enthält. Diese Zeichenkette kopieren Sie am besten oder merken sie sich anderweitig. Rufen Sie nun die Seite TWiki.InstallPassword auf, kopieren Sie die Zeichenkette in das Eingabefeld und bestätigen Sie. Jetzt ist das Passwort zurückgesetzt. Dies geht jedoch nur, wenn Sie Mitglied der TWikiAdminGroup sind. Der gleiche Mechanismus kann auch für eine Usersperre genutzt werden. In diesem Fall können Sie als Admin einem Störenfried ein neues Passwort verpassen. Nach dem Ende der Sperre verraten Sie das neue Passwort. Klar ist natürlich, dass diese Maßnahme einen starken Beigeschmack von Erziehung und Bevormundung hat und nicht zum Standardrepertoire des Administrators gehören sollte. 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
15 TWiki administrieren
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. 13).
15.5 E-Mail 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 Seite TWikiPreferences unter der Überschrift „Email and Proxy Server Settings“. Stellen Sie WIKIWEBMASTER 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 WIKIWEBMASTERNAME 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 SMTPMAILHOST den Namen eines Mailservers ein. Sollte sich dieser auf demselben Rechner befinden, so reicht localhost. Der Aufruf eines externen Mailprogramms wird in Twiki.cfg in der Variable $mailProgram bestimmt. In diesem Fall muss der SMTPMAILHOST leer bleiben. In SMTPSENDERHOST können Sie noch angeben, von welcher URL aus die E-Mail gesendet wurde. Sollten sie für die Verbindung ins Internet einen Proxy-Server verwenden, so tragen Sie die entsprechenden Daten in die Variablen PROXYHOST und PROXYPORT 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:
Kontaktdaten
Mailprogramm
E-Mail Benachrichtigung
···*·Main.Username - ihre@email
15.5 E-Mail
■ ■ ■
243
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
Benachrichtigung automatisieren
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. 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.
244
■ ■ ■
15 TWiki administrieren
15.6 Sicherheitsaspekte 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. In den Vorgängerversionen des von uns verwendeten TWikis vom 02. September 2004 ist jedoch eine gravierende Sicherheitslücke offen, die Sie im Produktionseinsatz unbedingt schließen sollten. Über das Such-Skript ist es sonst dem versierten Nutzer möglich, fast beliebigen Code auf Ihrem Server auszuführen. Diese Sicherheitslücke sorgte kürzlich für Aufsehen, als es spanischen Hackern gelang, Daten von einem Server des Chaos Computer Clubs abzurufen. Wie gesagt, die Lücke ist in der aktuellen Version bereits geschlossen. Sollten Sie eine ältere Version haben, so ist es ratsam, die Seite http://twiki.org/cgi-bin/view/Codev/SecurityAlertExecuteCommandsWithSearch zu besuchen, auf der Sie alle nötigen Informationen zum Beheben der Lücke finden. Sie müssen folgenden Code in der Datei search.pm einfügen: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Lücke in der Suchfunktion
my $tempVal = ""; my $tmpl = ""; my $topicCount = 0; # JohnTalintyre # fix for # Codev.SecurityAlertExecute # CommandsWithSearch # vulnerability, search: # "test_vulnerability '; ls -la'" # Escape ' and ` $theSearchVal =~ s/(^|[^\\])([\'\`])/\\$2/g; # Defuse @( ... ) and $( ... ) $theSearchVal =~ s/[\@\$]\(/$1\\\(/g; # Limit string length $theSearchVal = substr($theSearchVal, 0, 1500); my $originalSearch = $theSearchVal; my $renameTopic; my $renameWeb = "";
15.6 Sicherheitsaspekte
■ ■ ■
245
Freie Verwendung von HTML und Skripten
Logfiles
Damit werden bestimmte Zeichen im Suchstring entschärft und ein Eindringen ist nicht mehr möglich. Ein Problem, das eher lästig als gefährlich werden kann, ist die fehlende Möglichkeit, die Verwendung von HTML und Skriptsprachen zu beschränken. 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 Knowhow 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 sollten Sie in regelmäßigen Abständen eine Suche nach den <script>-Tags in Ihrem TWiki durchführen. Damit finden Sie alle Exemplare dieser kleinen Programme und können Sie gegebenenfalls entschärfen. 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 Konfigurationsdatei Twiki.cfg festlegen. Die entsprechenden Parameter beginnen mit $doLog und sind aktiviert, wenn ihr Wert 1 ist. Die Logfiles finden Sie in twiki/data, sie werden monatsweise angelegt und nach dem Schema 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 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.
15.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
246
■ ■ ■
15 TWiki administrieren
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:
Alle Seiten sichern
tar czvf backup_data.tar.gz */* 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.
Daten wiederherstellen
15.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. Seit der in diesem Buch verwendeten Version gibt es ein Installationsskript UpgradeTwiki, das die Aktualisierung automatisiert. Sie finden es im TWiki-Verzeichnis. Erstellen Sie dazu ein neues Verzeichnis, und entpacken Sie dort das TWiki-Archiv. Nun müssen Sie sich nur noch überlegen, in welches Verzeichnis Sie das neue TWiki installieren wollen. Geben Sie dann folgenden Befehl auf der Kommandozeilenebene ein: ./UpgradeTWiki absoluterPfad Sollte ein Fehler auftreten, so finden Sie die Anweisung zur manuellen Aktualisierung auf der Homepage von TWiki unter http://twiki.org/cgi-bin/view/TWiki/TWikiUpgradeGuide.
15.8 Upgrade und Deinstallation
■ ■ ■
247
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 alle Einträge, die auf das Verzeichnis twiki zeigen: ... Löschen Sie auch den ScriptAlias und Alias für die TWikiVerzeichnisse und entfernen Sie die spezifischen Einträge im Bereich und . Damit haben Sie alle Spuren des TWikis entfernt.
248
■ ■ ■
15 TWiki administrieren
16 Gestaltung des TWikis
Leser Autor WikiAdmin WebAdmin
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.
16.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 DragonSkin:
Skins einstellen
···*·Set SKIN = dragon 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.
16.1 Das Erscheinungsbild gestalten
■ ■ ■
249
Abb. 16.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 beispielsweise beim FreeSkin 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
250
■ ■ ■
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 genauso verändern, wie jede andere Seite im TWiki. Wenn Sie bei-
16 Gestaltung des TWikis
spielsweise 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.
16.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. 16.1: Skript view
Funktion Anzeige
Parameter ■ skin: Darstellung der Seite mit einem bestimmten Skin. ■
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: Der eigentliche Suchstring.
16.1 Das Erscheinungsbild gestalten
Tab. 16.1
■ ■ ■
251
rdiff
Versionen
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. ■
View-Skript aufrufen
rev2: Nummer der zweiten Version.
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 Twiki.cfg 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 dragon-Skin anzeigt, dann verwenden Sie folgende Zeile: [[%SCRIPTURL%/view%SCRIPTSUFFIX%/ %INCLUDINGWEB%/%INCLUDINGTOPIC% ?skin=dragon] [im Dragon-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 dragon durch print ersetzen und die Beschriftung ändern.
252
■ ■ ■
16 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 aufwendigeres Layout ist es – wie in allen TWiki-Seiten – durchaus möglich, direkt in HTML zu schreiben. So lassen sich auch eigene Formatierungen, beispielsweise mit CSS-Beschreibungen aus FlexibleSkinStyleSheet, verwenden (s. Kap. 16.1.2). 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 ist 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 Backlinks können Sie sich mit Hilfe der eingebauten Suchfunktion generieren (mehr dazu in Kap. 13). 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.
16.1 Das Erscheinungsbild gestalten
Anhänge
■ ■ ■
253
Erweiterte Funktionen
Um die erweiterten Funktionen (Umbenennen, Löschen, etc.) einzubinden, müssen Sie das Oops-Skript aufrufen. Das produziert 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
254
■ ■ ■
16 Gestaltung des TWikis
entsprechende Name eingesetzt wird. %HOMETOPIC% zeigt dabei jeweils auf die Startseite des Webs. 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=
16.1 Das Erscheinungsbild gestalten
■ ■ ■
255
this.form.Auswahl.options[ this.form.Auswahl.options.selectedIndex ].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"}%
256
■ ■ ■
16 Gestaltung des TWikis
Die Änderungen gegenüber der Aufzählung der Webs sind fett hervorgehoben. Nachdem die Länge der Einträge in der Topic-Liste stark variieren kann, ist es sinnvoll, die Breite der Drop-Down-Liste zu beschränken. Daher wurde im <SELECT>-Element ein styleAttribut eingefügt.
16.1.2 FlexibleSkin Für größere Anwendungen des TWikis, die beispielsweise in eine bestehende Homepage eingebaut werden sollen, ist es unbefriedigend, nur vorgefertigte Skins verwenden zu können. Hier schafft der FlexibleSkin Abhilfe. Das entsprechende Archiv finden Sie auf der beigefügten CD im Verzeichnis /wikis/twiki/addons/. Entpacken Sie diese Dateien ins Verzeichnis twiki. Wieder im TWiki gibt es im Web TWiki eine Reihe von Seiten, die mit „FlexibleSkin“ beginnen Am besten rufen Sie den Artikel FlexibleSkin selbst auf. Hier finden Sie alle nötigen Informationen und vor allem Verweise auf die relevanten Seiten. Der FlexibleSkin basiert auf einer HTML-Tabelle, die jede Seite in verschiedene Bereiche aufteilt, sowie einem Stylesheet, mit dem das Layout der Bereiche kontrolliert wird. Alle relevanten Informationen werden im TWiki selbst gespeichert. Das bedeutet, für jeden Bereich um den eigentlichen Inhalt herum gibt es ein eigenes Topic. Diese sind in Abb. 16.2 dargestellt:
Installation
FlexibleSkinTopBar / FlexibleSkinPrintingHeader FlexibleSkinTopicHeader
Abb. 16.2
FlexibleSkin LeftBar
Eigentlicher Inhalt
Prinzip
FlexibleSkin RightBar
FlexibleSkinTopicFooter FlexibleSkinBottomBar / FlexibleSkinPrintingFooter Die Printing-Seiten sind für die Druckansicht relevant. Auf der Papierausgabe eines Wiki-Artikels macht beispielsweise ein Bearbeitungslink wenig Sinn und kann daher gleich weggelassen werden. Die einzelnen Bereiche werden beim Aufbau der Seiten mit einge-
16.1 Das Erscheinungsbild gestalten
■ ■ ■
257
Include-Bereich festlegen
Stylesheet
Tab. 16.2
Webeigene Skins
258
■ ■ ■
bunden. Damit haben Sie völlige Gestaltungsfreiheit. In der Standardversion des FlexibleSkins wird im Prinzip der Classic-Skin nachgebaut, das bedeutet, dass die Seiten -TopBar und -BottomBar sowie die Druckseiten schon vorbelegt sind. Sie sollten es sich auf alle Fälle angewöhnen, auf Seiten, die dazu gedacht sind, in andere Artikel eingebunden zu werden, den Abschnitt festzulegen, der übernommen werden soll und darf. Damit schaffen Sie sich erstens die Möglichkeit, in der Vorlage außerhalb dieses Abschnitts Kommentare oder Beschreibungen anzubringen und zweitens verhindern Sie, dass eventuell automatisch erstellte Vermerke (wie der Userstempel bei der ersten Erstellung der Seite) aus Versehen mit angezeigt werden. Sie markieren den einzubindenden Quelltext, indem Sie am Anfang ein %STARTINCLUDE% und am Ende ein %STOPINCLUDE% setzen. Zusätzlich zu den jeweiligen Bereichsseiten gibt es noch ein Topic, das ein Stylesheet enthält: FlexibleSkinStyleSheet. Hier können Sie allgemeine Einstellungen vornehmen, die das gesamte Erscheinungsbild betreffen, oder auch gezielt die einzelnen Bereiche ansprechen. Die den Bereichsseiten entsprechenden Klassen sind in Tab. 16.2 aufgelistet. Klasse WebSkeletonTable TD.WebLeftBar TD.WebRightBar TD.WebTopBar TD.WebBottomBar TD.WebContent
Topic Gilt für das gesamte Gerüst FlexibleSkinLeftBar FlexibleSkinRightBar FlexibleSkinTopBar FlexibleSkinBottomBar FlexibleSkinTopicHeader FlexibleSkinTopicFooter FlexibleSkinPrintingHeader FlexibleSkinPrintingFooter
Nun können Sie das Zusammenspiel von HTML und CSS direkt aus dem TWiki heraus beeinflussen. Der Einsatz des FlexibleSkin ist auch deshalb sehr interessant, weil sich die Seiten, die das Layout beschreiben, in jedem Web eigens definieren lassen. Daher gibt es für den Aufruf des Skins zwei verschiedene Modi. Mit skin=globalFlexible bezieht sich die Vorlage auf die Dateien, die im TWiki-Web abgelegt wurden. Wird der Skin jedoch nur auf flexible gesetzt, so werden die Dateien aus dem eigenen Web verwendet.
16 Gestaltung des TWikis
Tipp: Während der Entwicklung des eigenen Layouts ist es nicht sinnvoll, dieses bereits als Standard festzulegen, gerade, wenn mehrere Leute das TWiki benutzen. Binden Sie daher einen Link zur Anzeige der aktuellen Seite im FlexibleSkin auf der Seite Main.WebLeftBar ein. So können Sie trotzdem jede Seite bequem mit Ihrem Skin ansehen. Meistens ist es so, dass für alle Webs ein einheitliches Layout dargestellt werden soll, welches sich nur in Kleinigkeiten unterscheidet. Leider muss man sich pro Web entscheiden, entweder die gesamte globale Vorlage zu verwenden, oder eine komplett eigene zu erstellen. Es gibt jedoch einen Trick, wie Sie dies umgehen können. Sie erstellen in jedem Web, das von der globalen Vorlage abweichen soll, jeweils alle benötigten Seiten. Nun binden Sie in den Bereichsseiten, die sich nicht von der globalen Vorlage unterscheiden sollen, einfach mit %INCLUDE% die Version aus dem TWiki-Web ein. Also z. B.: %INCLUDE{"TWiki.FlexibleSkinTopBar"}% So müssen Sie nur noch die Bereiche extra erstellen, die sich gegenüber der allgemeinen Vorlage ändern. Hinweis: Beachten Sie, dass durch das Einbetten alle Includes in der globalen Seite zu Includes zweiten Grades werden. Dadurch wird die Bereichsseite und nicht der eigentliche Artikel zum %INCLUDINGTOPIC%. Sie können hier Abhilfe schaffen, indem Sie alle %INCLUDINGTOPIC% und %INCLUDINGWEB% durch %BASETOPIC% und %BASEWEB% ersetzen. Ebenso können Sie sich natürlich den WebLeftBar aus dem PatternSkin für Ihre Zwecke ausleihen. Neben der herkömmlichen TWikiFormatierung haben Sie auch die Möglichkeit, reines HTML einzubauen. Beachten Sie, dass im fertigen HTML-Code eines Artikels die einzelnen Bereiche in Tabellenzellen eingefügt werden. Schließen Sie daher alle Tags, die Sie in einem Bereich öffnen auch wieder im selben Bereich. Insbesondere ist es nicht möglich, einen Abschnitt über den ganzen Artikel hinweg aufzuspannen. Das TWiki erlaubt es Ihnen außerdem, auch JavaScripts auf Ihrer Seite einzubauen. Dadurch können Sie beispielsweise eine dynamische Navigationsleiste erstellen, die sich per Mausklick öffnet und schließt. Einen kleinen Schönheitsfehler gilt es noch zu korrigieren. In der Titelleiste des Browsers wird der Inhalt einer Variablen %WEBTITLE% ausgeben. Diese ist standardmäßig nicht mit einem
16.1 Das Erscheinungsbild gestalten
Fenstertitel festlegen
■ ■ ■
259
Wert besetzt, weshalb der etwas unschöne Name „%WEBTITLE%“ in dieser Leiste steht. Sie können die Variable auf der Seite TWikiPreferences für das ganze Wiki sowie auf WebPreferences für das jeweilige Web einstellen. Setzen Sie dazu die Zeile ···*·Set WEBTITLE = titel auf der jeweiligen Einstellungsseite ein. Sie können die Variable auch für ein einziges Topic einstellen und so individuelle Fenstertitel ausgeben, indem Sie obige Zeile einfach im Topic einbinden.
16.1.3 Weitergehende Möglichkeiten
FreeSkin
Templates
Sollten Ihnen die Möglichkeiten des FlexibleSkin nicht reichen, so haben Sie zwei Optionen. Entweder, Sie verwenden FreeSkin oder sie arbeiten direkt mit den Templates. Der FreeSkin geht den Weg konsequent weiter, der durch FlexibleSkin eingeschlagen wurde. Anstatt aber die Seite in mehrere verschiedene Bereiche aufzuteilen und diese dann in das eigentliche fixierte HTML-Gerüst einzubauen, gibt es hier nur noch zwei Bereiche, einen vor und einen nach dem Text. Deren Inhalt wird in den Topics FreeSkinPreTopic und FreeSkinPosTopic festgelegt. Darüber hinaus wird nichts hinzugefügt. Damit haben Sie die völlige Freiheit, was die HTML-Gestaltung der Seite betrifft. Der große Nachteil des FreeSkin ist, dass er gegenwärtig nur für die Anzeige der Artikel verwendet werden kann. Für den Bearbeitungs- oder Versionsmodus bietet er keine Vorlagen. Damit eignet er sich vornehmlich für Seiten, die der Öffentlichkeit nur zur Ansicht zur Verfügung stehen. Also 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: skriptname.skinname.tmpl
StandardTemplate
260
■ ■ ■
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 Templatedateien 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. 16.3 eingetragen:
16 Gestaltung des TWikis
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.
Tab. 16.3
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"}% 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% 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.
SkriptTemplates
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.
16.1 Das Erscheinungsbild gestalten
■ ■ ■
261
Text platzieren
Tab. 16.4
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. 16.4 aufgezählt: Name %TEXT%
%EDITTOPIC% %REVISIONS% %TOPICPARENT% %PREVIEW BGIMAGE%
Metainformation
Inhalt Der eigentliche 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.
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. 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. 16.5 aufgelistet:
262
■ ■ ■
16 Gestaltung des TWikis
Name %META {"parent"}%
%META {"moved"}% %META {"attachments"}%
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. ■
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.
Tab. 16.5
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 und die FlexibleSkin-Vorlagen) sowie in den Templates 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. Eine Anwendung dafür finden Sie in Kap. 14.6 bei der Logout-Benachrichtigung.
Eigene Parameter
16.2 TWiki auf Deutsch Es gibt bisher keine offizielle Unterstützung für die Verwendung anderer Sprachen im TWiki. An einer Lösung für die nächste Version wird bereits gearbeitet, wir müssen uns noch mit eigenen Anpassungen begnügen. Das Sprachproblem im TWiki hat zwei Aspekte. Erstens natürlich die Anzeige und die (Fehler-)meldungen, die auf Deutsch ausgegeben werden sollen. Zweitens aber werden auch Links,
16.2 TWiki auf Deutsch
■ ■ ■
263
in denen sich Umlaute befinden, nicht immer korrekt angezeigt. Das bedeutet, es ist zudem eine Änderung an den Skripten vorzunehmen.
16.2.1 Links mit Umlauten Ein bekannter Bug im TWiki ist, dass die automatische Verlinkung nicht mehr funktioniert, wenn der Linkname einen Umlaut enthält. Die Verarbeitung wird am ersten Sonderzeichen abgebrochen. Daraus ergibt sich folgendes Bild: Tab. 16.6
Code [[DeutschIstMühsam]] DeutschIstMühsam
Darstellung
[[DaßDasWasWird]] DaßDasWasWird] [[ÜberÄnderungen]] ÜberÄnderungen Perl-Module
Um dem Problem beizukommen, müssen Sie ein paar kleine Änderungen an der Konfiguration vornehmen. Stellen Sie zunächst sicher, dass Sie die Perl-Module Jcode, Unicode::Map, Unicode::Map8 und Unicode::MapUTF8 installiert haben, sofern Sie nicht Perl 5.8 oder höher verwenden. Die Testenv-Seite gibt Ihnen darüber Auskunft. Falls die Module nicht vorhanden sind, können Sie diese mit CPAN nachinstallieren (s. Anhang A). Tipp: Sollte es nicht möglich sein, diese Module zu installieren (z. B. weil Sie Ihre Webseite bei einem Webhost haben), können Sie die folgenden Einstellungen trotzdem versuchen. In den meisten Fällen funktioniert das.
Render.pm bearbeiten
Nun müssen Sie die Datei Render.pm im Verzeichnis lib/TWiki bearbeiten. Fügen Sie ab Zeile 40 die folgenden (fettgedruckten) Befehle ein: 1 use TWiki qw(:renderflags 2 %regex $TranslationToken); 3 4 # ===========================
264
■ ■ ■
16 Gestaltung des TWikis
5 6 7 8 9 10 11 12 13 14 15 16 17
# Read the configuration file at compile # time in order to set locale BEGIN { do "Twiki.cfg"; # Do dynamic 'use locale' for this module if( $TWiki::useLocale ) { require locale; import locale (); } } # Globals used in rendering use vars qw(
Dies bewirkt, dass die Ortsinformation aus Twiki.cfg ausgelesen wird. Nun, diese muss dort natürlich noch angegeben werden. Dazu ändern Sie lediglich den Inhalt von zwei Variablen. Stellen Sie Folgendes ein:
Twiki.cfg anpassen
$useLocale = 1; $siteLocale = "de_DE.ISO-8859-1"; Wenn Sie die oben beschriebenen Links eingeben, sollten diese jetzt korrekt dargestellt sein.
16.2.2 Deutsche Übersetzung Eine offizielle deutsche Übersetzung des TWiki ist momentan nicht veröffentlicht. Sie haben aber die Möglichkeit, sich eigene Skins zu basteln, die dann deutsche Texte haben (s. o.). Das ist zugegebenermaßen sehr mühsam. Einen Teil der Arbeit hat Norbert Windrich für die mitgelieferten Skins schon erledigt. Sein Ansatz ist es, die Texte in den Templates durch Variablen zu ersetzen, die dann wiederum auf der Seite TWikiPreferences mit den entsprechenden Ausgaben belegt werden können. Sie finden alle nötigen Dateien auf der Seite http://twiki.org/cgi-bin/view/Codev/GermanTranslationForCairo. Laden Sie sich das Archiv am Fuß der Seite herunter und entpacken Sie es im Verzeichnis twiki. Vorher sollten Sie eine Sicherheitskopie des Verzeichnisses templates machen. Jetzt finden Sie im TWiki-Web die Seite TWikiPreferencesGermanPart. Auf dieser Seite sind alle übersetzten Texte eingetragen. Sie sehen auch, dass an Stelle der Funktionslinks nun Variablen ausgegeben werden. Die können natürlich
16.2 TWiki auf Deutsch
Templates einspielen
■ ■ ■
265
Übersetzte Topics
immer noch angeklickt werden, es fehlt nur noch die Beschriftung. Um diese zu aktivieren, müssen Sie den deutschen Teil der Variablendeklarationen, die Sie auf der Seite finden, per Copy & Paste nach TWikiPreferences kopieren. Nun sollten Sie die deutsche Version der Schaltflächen sehen. Leider sind die Texte, die aus dem TWiki selbst gesteuert sind, damit noch nicht übersetzt. Die Copyright-Zeile finden Sie unter der Variablen %WEBCOPYRIGHT% und die Navigationsleiste wird aus der Seite WebLeftBar eingebunden. Diese müssen Sie selbst anpassen. Für einige wichtige Topics gibt es mittlerweile Übersetzungen. Diese finden sie unter http://twiki.org/cgi-bin/view/Codev/GermanTranslation. Sie erkennen die Seiten daran, dass sie mit „GerTran“ beginnen. Den Code der Seiten dürfen Sie frei in Ihr Wiki übernehmen.
16.3 Plugins und Add-ons 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 1 Seite http://twiki.org/cgi-bin/view/Plugins zu werfen . 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. 1
Die im Buch besprochenen Plugins finden sie auch auf der CD unter /wikis/twiki/plugins.
266
■ ■ ■
16 Gestaltung des TWikis
In Tab. 16.7 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: 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.
Plugins
Tab. 16.7
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.
16.3 Plugins und Add-ons
■ ■ ■
267
Installation von Plugins
Nachdem es eine Vielzahl von Zusatzprogrammen für das TWiki gibt (aktuell 135), 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, 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 TWikiInstallationsverzeichnis 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
268
■ ■ ■
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, habe Sie damit die Möglichkeit, viele TWiki-Formatierungsbefehle über eine Symbolleiste oder das Kontextmenü einfügen. Sie können die Erweiterung direkt aus 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.
16 Gestaltung des TWikis
IV. TWiki als Projektbaukasten
17 Vorüberlegungen
Leser Autor WikiAdmin WebAdmin
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 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. Das folgende Kapitel stellt für einige Wikianer vielleicht ein Sakrileg dar. 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. Auch Wikipedia ist ohne Projekte nicht denkbar. Möglicherweise lohnt es sich, Erfahrungen des klassischen Projektmanagements für Projekte mit Wikis und Wiki-Philosophie nutzbar zu machen.
17.1 Was ist ein Projekt? Die Literatur über Projektmanagement versucht, ein Projekt mit drei 1 Merkmalen zu definieren:
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.
1
Vgl. z. B. Portny 2001, 26.
17.1 Was ist ein Projekt?
■ ■ ■
271
3. Es ist festgelegt, welche Mengen an Personen, Finanzmitteln, Produktionsmitteln und Ausrüstung zur Verfügung stehen.
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 2 Endtermin und Ressourcen“, setzt Portny fest. 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 3 unterstehen einer zentralen Kontrolle. 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 „vorstre4 cken.“ Auch der Wiki-Philosophie geht es um die Reformulierung systematischen Handelns, doch mit der Absicht, vom passiven Reagieren und Optimieren zum rationalen Planen zu kommen. Es geht hier ebenfalls um Wirtschaftlichkeit und Kosten-Nutzen-Fragen, doch wird auf diese Anforderungen anders geantwortet. Das Ziel, das weit weniger eindeutig ist, stellt nicht alles unter das Primat der 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
272
■ ■ ■
17 Vorüberlegungen
Steigerung des Unternehmensgewinnes. Es liegt eine Vorstellung von „Menschen in freier Kooperation“ (Spehr) zu Grunde, die den Aufbau von Strukturen der Selbstverwaltung und die direkte Kontrolle zentraler Entscheidungen durch die Masse der Beteiligten fördern möchte. Die Beteiligten entscheiden selbst über Ziele, Meilensteine und Deadlines – mit dem Risiko, dass Bereiche nicht bearbeitet werden und der Produktionsprozess weniger direkt verläuft. Angenommen, Sie wollen relativ zielgerichtet handeln, konkrete Ergebnisse erreichen und Klarheit erhalten, was von wem wann zu tun ist, jedoch über den Ablauf möglichst demokratisch und ergebnisoffen entscheiden und sich nicht unreflektiert Effizienzkriterien unterwerfen. Betrachtet man Vor- und Nachteile beider ProjektAnsätze, kommt man zu dem Schluss, dass sie über weite Strecken kombinierbar sind. Wikis können nun in einzelnen Projektphasen (Tab. 17.1) Hilfestellung geben oder ergänzend zu bestehenden Systemen eingesetzt werden. Sie können auch das zentrale Medium sein, um alle Phasen zu managen. Phase 1 Konzept
Ziel Die Idee wird entwickelt.
Konkret (Beispiele) ■ Startgruppe gründen. ■ Ideen sammeln. ■ Projektskizze schreiben. 2 Abgrenzung Ausarbeitung ■ Ziele festlegen. des Projekt■ Arbeit planen. plans. ■ Kosten planen. ■ Ablauf planen. 3 Start Das Team wird ■ Verteilung wichtiger Aufzusammengegaben (Admin, Moderatistellt. on, Finanzen, Öffentlichkeitsarbeit…). ■ Regeln festlegen. 4 DurchDie Arbeit wird ■ Sponsoren anfragen. führung erledigt. ■ Werbung machen. ■ Räume belegen. 5 Abschluss Das Projekt ■ Abrechnungen wird abge■ Dokumentation schlossen. ■ Übergabe an Nachfolgeprojekte. ■ Evaluation
17.1 Was ist ein Projekt?
Projekt: freies Planen?
Projektphasen
Tab. 17.1
■ ■ ■
273
Phasenüberschneidung in der WikiPhilosophie
Die Phasen sind im herkömmlichen Projektmanagement streng voneinander getrennt. Folgt man dagegen der Wiki-Philosophie, gibt es zwischen den Phasen eins und drei und zwischen den Phasen vier und fünf Überlappungen. Nach ihr beginnt die Zusammenstellung des Teams bereits bei 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. Dennoch ist 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. Innerhalb der Durchführungsphase können und sollen auch im klassischen Projektmanagement Aufgaben parallel abgewickelt werden. Oder: In der Softwareentwicklung ist es zeitweise notwendig wieder „zurückzuspringen“, wenn man in einer Sackgasse gelandet ist. Eine Vorgehensweise, die übrigens von der Wiki-History unterstützt wird.
17.2 TWiki als Projektwerkzeug Wiki: Eine Grundsatzentscheidung
Vorteile
274
■ ■ ■
Ob und inwieweit sich die Planung und Durchführung eines Projekts auf Wikis stützt, ist also immer auch eine Grundsatzentscheidung über Charakter und Arbeitsform des Projekts. Natürlich kann man mit Wikis auch ganz klassisches Projektmanagement gestalten, doch wenn das Projekt nicht für wirkliche Veränderungen „von unten“ offen ist, bleibt die Frage, warum man die für dynamische und offene Prozesse ausgelegten Wikis nutzen sollte. Wikis sind entsprechend ihrem Entwicklungsstand nicht immer problemlos in der Handhabung – obwohl schon erstaunlich ist, was man bereits heute mit einem einzigen Wiki bewerkstelligen kann. Es ist also im Einzelfall zu entscheiden, ob der Einsatz eines Wikis der Problemstellung und der ausführenden Gruppe entspricht. Um sich für den Einsatz der Wiki-Technologie als zentrales Kommunikations- und Planungsmedium zu entscheiden, muss das Für und Wider abgewogen werden. Für den Einsatz sprechen folgende Gründe:
17 Vorüberlegungen
■
Wikis sind in der Regel kostenlose Open-Source-Programme.
■
Ein Wiki soll das Team oder andere Beteiligte ermutigen, kooperativ Strukturen und Verantwortlichkeiten festzulegen. So kann eine starke Integrationswirkung entfaltet werden und die Beteiligten identifizieren sich stärker mit dem Projekt.
■
Durch ihre Offenheit fördern Wikis Transparenz und Überblick. Probleme oder Fehlentwicklungen können frühzeitig erkannt und diskutiert werden.
■
Wikis bieten ein einfaches, einheitliches System, in dem Ideen zusammengetragen werden können. Dadurch kann der strengen Abkapselung von Arbeitsgruppen entgegengewirkt und vernetztes Denken gefördert werden.
■
Während bei Projekten häufig mehrere Versionen eines einzigen Dokuments kursieren, ist es mit der Wiki-Technologie möglich, dass die Beteiligten zentral auf das jeweils aktuelle Dokument zugreifen können.
■
Wikis passen sich besonders schnell dem Projekt an und spiegeln die Projektdynamik wider.
■
Die Vielseitigkeit einer einzigen Software bietet die Chance, sie als zentrales Publikations- und Organisationssystem zu nutzen. Das Wiki-System dient u. a. als einheitliches Verwaltungs- und Berichtssystem, in dem Entscheidungsprozesse oder Sachstandsberichte sofort dokumentiert werden können
■
Gleichzeitig ermöglicht das Wiki eine dezentrale Organisationsstruktur, durch die Wege und Arbeitszeiten gespart werden können. Editieren, Publizieren und Dokumentieren fallen in einen Arbeitsschritt zusammen. So muss beispielsweise der Inhalt nicht erst durch eine Internetredakteurin freigeschaltet werden.
Sollte man sich für ein Wiki entscheiden, nimmt man aber auch folgende Besonderheiten in Kauf: ■
Auf dem heutigen Entwicklungsstand ist die Wiki-Technologie nicht mit speziell zugeschnittener, teurer Projektsoftware vergleichbar. Sie bietet keine fertigen Projektvorlagen, Automatisierungen in Prozesskontrolle, Personalplanung oder Finanzverwaltung. Ebenso fehlen noch hinreichende Tools für die Termin- und Zeitplanung.
■
Die dezentrale Hypertextstruktur kann am Anfang zu Koordinations- und Akzeptanzproblemen führen. Bei größeren Projekten kommt es immer wieder zu Unübersichtlichkeiten, die aufgefan-
17.2 TWiki als Projektwerkzeug
Probleme
■ ■ ■
275
gen werden müssen. Das bedeutet, es müssen Navigationsleisten und Überblicksseiten konzipiert und gepflegt werden. ■
Welches Wiki?
276
■ ■ ■
Da ein Wiki so viele Freiheiten bietet, erfordert es mehr Aufmerksamkeit und Selbstdisziplin von den Beteiligten. Man muss sich beispielsweise an verabredete Konventionen halten, damit auch andere im Wiki schnell die richtigen Informationen finden. Zudem ist es nötig, immer wieder koordinierend über den eigenen Arbeitsbereich hinauszudenken und zu –sehen („Was machen die anderen?“). Ansonsten sind Chaos, Bearbeitungskonflikte und doppelte Arbeit vorprogrammiert. Aber wie die großen Wiki-Projekte zeigen, ist strukturiertes, erfolgreiches Arbeiten unter bestimmten Bedingungen auch in sehr großen Gruppen möglich.
Haben Sie sich entschlossen, Ihr Projekt auf ein Wiki zu stützen, bleibt noch die schwierige Entscheidung, welche Wiki-Software verwendet werden soll. Die folgenden Punkte stellen eine Liste von Kriterien dar, die Ihnen dabei weiterhelfen können: ■
Programmiersprache. Es kann passieren, dass Sie die eine oder andere Anpassung der Skripte vornehmen müssen. Dabei kommt es Ihnen sicher zugute, wenn sie mit der Programmiersprache des Wikis, z. B. Perl oder PHP, vertraut sind.
■
Systemanforderung. Gerade wenn Sie keinen eigenen Server betreiben, müssen Sie darauf achten, dass das Wiki mit der Software läuft, die zur Verfügung steht.
■
Technische Kapazität . Wenn Ihr Wiki sehr stark frequentiert ist, dann empfiehlt sich aus Performanzgründen eine Lösung mit einer Datenbank.
■
Installationsaufwand. Welches technische Vorwissen wird zur Installation benötigt und inwiefern ist die Einrichtung durch Routinen automatisiert?
■
Benutzerverwaltung. Ein Wiki, das sensible Daten enthalten soll, muss die Möglichkeit bieten, Bereiche für den allgemeinen Zugang zu sperren.
■
Einteilung in Bereiche. Für die Benutzerverwaltung und für die gemeinsame Arbeit verschiedener Gruppen in einem Wiki können abtrennbare Bereiche von Vorteil sein.
■
Erweiterbarkeit durch Plugins. Plugins bieten meistens eine sehr große Vielfalt an zusätzlichen Funktionalitäten.
17 Vorüberlegungen
■
Oberfläche . Ein ästhetisches Aussehen lädt zum Lesen und Arbeiten ein. Für eigene Seiten ist der Aspekt der Gestaltbarkeit wichtig.
■
Eingängige Bedienung . Kann das Wiki auch von unerfahrenen Usern ohne Probleme verwendet werden? Erfüllt es zugleich die Erwartungen, die Wiki-erfahrene Nutzer haben?
■
Sprache. Viele Wikis haben nur englische Oberflächen. Kommt Ihre Community damit zurecht?
■
Dokumentation. Findet man im Netz oder in Fachliteratur ausreichend Informationen über die Bedienung und Wartung des Wikis?
■
Weiterentwicklung. Ist zu erwarten, dass Fehler in der Software bereinigt und diese auch in der Zukunft an die Anforderungen angepasst werden? Sind die Daten in einem Format gespeichert, mit dem sie gegebenenfalls auch in andere Systeme übertragen werden können?
17.3 Flache Hierarchien: Verhältnis von Moderation und Team „Projekt“, „Kooperation“ und „Selbstorganisation“ klingen gut. Was auf dem Papier nach einer einfachen und problemfreien Strategie aussieht, ist plötzlich mit zahlreichen Schwierigkeiten behaftet. Wie in allen Kooperationsprojekten treten immer wieder die gleichen Probleme auf. Absprachen werden nicht getroffen oder eingehalten. Es treten persönliche Differenzen und Missverständnisse auf. Man erfährt zu spät, dass einzelne Beteiligte durch andere Verpflichtungen stärker eingebunden sind als erwartet und dieses Projekt nicht als vordringlich betrachten oder, dass sie überlastet sind. Es gibt unterschiedliche Vorstellungen über das Vorgehen. Personalfluktuationen und Änderungen des Projektzieles werfen zusätzliche Probleme auf. Es gibt keine oder nur unzureichende Richtlinien oder Verfahren, um Probleme zu lösen. Konflikte gelten für viele als störend. Sie kosten Zeit und Nerven. Konflikte können jedoch 5 durchaus Motor für Dynamik und Weiterentwicklung sein.
Konflikte
5
Der Umgang mit Konflikten ist u. a. eine Frage der Erfahrung. Die Aufarbeitung wesentlicher „Störungen“ hat auf jeden Fall vor der Weiterführung eines Projekts Vorrang.
17.3 Flache Hierarchien: Verhältnis von Moderation und Team
■ ■ ■
277
Team = Gruppe von Einzelpersönlichkeiten
Breite Einbindung
Überzeugung
Hierarchie?
Ob Sie nun ein offenes Wiki-Angebot haben oder bei größeren Projekten ein Team zusammenstellen, berücksichtigen Sie, dass einige Beteiligte noch nie zusammengearbeitet haben und nicht ad hoc reibungslos kooperieren. Außerdem gibt es Einzelkämpfer, die eine möglichst große Autonomie bewahren wollen. Es stoßen unterschiedliche Arbeitsstile und Kommunikationsweisen aufeinander. Manche Menschen fühlen sich durch Mitbestimmungsmöglichkeiten und freie Gestaltungsspielräume erst einmal verunsichert und möchten eindeutige Arbeitsaufträge bekommen. Respekt und gegenseitiges Vertrauen muss erst durch die Kooperation hergestellt und immer wieder aktualisiert werden. Stellen Sie daher sicher, dass die Beteiligten sich untereinander möglichst persönlich kennen lernen. Die Aufgaben, Anforderungen und auch Grenzen der Belastbarkeit müssen geklärt werden. Es bedarf einfacher, aber klarer Spielregeln, die von allen akzeptiert werden. Wir hatten eingangs auf die Bedeutung flacher Hierarchien für erfolgreiche selbstorganisierte Gruppenprozesse hingewiesen. Schon im Vorfeld sollten diejenigen, die das Projekt einmal umsetzen sollen oder deren Beteiligung notwendig ist, in den Zielfindungs- und Gestaltungsprozess einbezogen werden. Das sind zum einen ProjektTeammitglieder und in Organisationen die jeweiligen Vorgesetzten. Zum anderen empfiehlt es sich, externe Personen einzubinden, die unmittelbar von dem Projekt betroffen sind oder am Rande damit zu tun haben, woraus sich häufig neue Sichtweisen ergeben. Für die Dynamik selbstorganisierter Gruppenprozesse bleibt entscheidend, dass die Beteiligten wirklich von der Sinnhaftigkeit des Ziels überzeugt sind und sie das Ergebnis als persönlichen Gewinn 6 sehen. Die Beteiligten müssen mit dem Ziel vertraut sein und dieses am besten gemeinsam erarbeiten. Dies lässt sich nicht erzwingen oder befehlen. Stefan Meretz erläutert über die Entwicklung einer Projektkultur bei freien Softwareprojekten: „Ob ein Projekt eine echte Community ausbildet, ist nicht steuerbar. Anders als verordnete Projekte in der Privatwirtschaft basieren freie Projekte auf einem starken Eigeninteresse, nämlich dem an guter benutzbarer Soft7 ware.“ Je mehr Menschen an einem Projekt beteiligt sind, desto drängender wird die Frage nach Koordination, Übersicht, aber auch Machtverteilung, Autorität und Hierarchie. Dies bezieht sich nicht nur auf das Projekt an sich. Hemmend sind oft existenzielle Abhän6
Hier stößt eine nicht-demokratisch verfasste Wirtschaftsordnung an unüberwindlichen Grenzen. Das ist jedoch ein eigenes Thema. 7 Meretz 2003, 106.
278
■ ■ ■
17 Vorüberlegungen
gigkeitsverhältnisse, wenn z. B. Vorgesetzte als „Aufpasser“ in ein Projekt eingebunden sind. Inwieweit Hierarchien funktional notwendig sind, war auch in der Geschichte der Emanzipationsbewegungen immer umstritten. Letztlich ist entscheidend, auf welche Weise Funktionen besetzt werden und welche realen Eingriffsmöglichkeiten den Beteiligten zur Verfügung stehen, um Bürokratisierungstendenzen entgegenzuwirken. Ist die Gruppe für Ziel und Ergebnis des Projekts zuständig, ergibt sich daraus auch die Rolle des Moderators. Dieser hat eine Art Hebammenfunktion. Das heißt, er leistet Hilfestellung zur Aufrechterhaltung des organisatorischen Umfeldes und des Kommunikationsprozesses. Zudem muss er darauf achten, dass getroffene Konventionen und Diskussionsregeln eingehalten werden. Im Vordergrund steht aber die Gruppe und nicht der Moderator. Dieser lässt sich inhaltlich den Kurs von der Gruppe vorgeben. Er sollte hier dem Motto „Begleiten, nicht Lenken.“ folgen und sich mit Reglementierungen zurückhalten, wenn wichtige Gruppenprozesse nicht abgerissen werden sollen. Die Wiki-Philosophie, das Verständnis der freien Software-Entwicklung oder die Auffassung von Moderation in Open-Space-Konferenzen beruhen alle auf demselben Prin8 zip, die Kontrolle über den Prozess bei der Gruppe zu belassen. Diese hat die Fachkompetenz und Zuständigkeit. In Weblogs, Internetforen oder Wikis übernehmen Moderatorinnen und Moderatoren oft noch technische Aufgaben, beispielsweise als Wiki-Admins: Sie helfen bei der Benutzerverwaltung, pflegen 9 Texte ein etc. Weiter muss innerhalb der Debatten und im WikiSystem immer wieder Übersicht geschaffen werden. Zwischenergebnisse müssen zusammengefasst, Inhalte ergänzt oder eingefordert werden. Oder es gibt mit einem Schlag viel zu tun: Die Unmittelbarkeit der Wikis, in denen anders als in moderierten Mailinglisten, Texte sofort veröffentlicht werden, sorgt für eine Belebung der Diskussion. An zentralen Knoten des Systems, vor allem auf der Startseite, bedarf es geeigneter „Starting Points“, die es ermöglichen, schnell zu den entsprechenden Inhalten zu gelangen. In größeren Systemen ist auch hier eine Arbeitsteilung unerlässlich. In Wiki-Projekten übernehmen häufig Teilnehmer die Aufgabe der Moderation oder fungieren als Maintainer, die für das Funktionieren des Gesamtprojekts zusätzliche Aufgaben übernehmen und dazu Wiki-Administratorenrechte zugewiesen bekommen. Es ist durchaus üblich, dass Moderatorinnen und Moderatoren, wie auch Admins gewählt werden und diese Funktion auch wieder abgeben. 8 9
Moderation: Begleiten, nicht lenken
Doppelbelastungen
Moderieren und moderiert werden
Vgl. Meretz 2003, 103ff. Vgl. zur Aufgabe der Moderation z. B. Dauscher 1998, 29ff.
17.3 Flache Hierarchien: Verhältnis von Moderation und Team
■ ■ ■
279
Stellen Sie sich deshalb darauf ein, dass Sie es mit einem gegenseitigen Lernprozess zu tun haben, in dem Sie einmal moderieren müssen, selbst aber auch auf Moderation angewiesen sein können. Allein die Moderation wird schnell ein eigener Arbeitsbereich und sollte dann von Leuten übernommen werden, die nicht auch noch inhaltlich im Projekt eingebunden sind, damit diese den Kopf frei haben. Natürlich kann auch vereinbart werden, dass die Moderation regelmäßig gewechselt wird. Und ebenso wie bei den Admins empfiehlt es sich, mindestens zwei Moderatorinnen oder Moderatoren zu haben. Vorgesetzte sind als Moderatoren schon aus dem Grund weniger geeignet, weil sie inhaltlich sehr stark involviert sind und sich dadurch schnell Interessenskonflikte ergeben. Besser ist es, entweder eine externe Moderation zu wählen oder jemanden aus der eigenen Organisation, aber aus einer anderen Abteilung. Letztere haben Ahnung von der Sache, sind aber inhaltlich nicht verstrickt. Wichtig ist das Vertrauen der Gruppe zur Moderation.
280
■ ■ ■
17 Vorüberlegungen
18 Konzeptionsphase: Ideen sammeln und Projekt skizzieren
Leser Autor WikiAdmin WebAdmin
18.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 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. Wir möchten die bestehenden Möglichkeiten anhand einer Tagungsvorbereitung zeigen. Greifen wir den Faden auf und spinnen ihn weiter. Nehmen wir einfach mal an, unsere Steinzeitmenschen möchten eine Zukunftskonferenz einberufen, um über das Leben im Neolithikum zu beraten. Wir wollen anhand dieses Beispiels den Ablauf eines Projekts durchdenken und Ihnen diverse Features vorstellen, die Sie vielleicht für ein eigenes Projekt nutzen können. Um die Tagung zu organisieren, will man sich an den allgemeinen Phasen des Projektmanagements (s. Tab. 17.1). Unser Beispielfall ist daher einfacher gelagert: Die Steinzeitmenschen sind selbst ihre eigenen Auftraggeber. 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
18.1 Arbeitsgrundlagen festlegen
Aufgabenstellung definieren
Beispiel: NeolithikumKongress
Wiki einsetzen?
■ ■ ■
281
TWiki auswählen
Wiki vorstellen
TWiki vorab aufbereiten
Konstruktive Kritik
282
■ ■ ■
unten“ entwickelte Ideen Chancen haben, am Ende im gemeinten Sinne umgesetzt zu werden. In der Frage, welchen der Klone wir verwenden wollen, haben wir uns fürs TWiki entschieden. Unser wichtigstes Kriterium war die Vielfalt der Anwendungsmöglichkeiten. TikiWiki und TWiki stechen hierbei hervor. 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, der Umstieg sich aber lohnen kann, dies aber in der Entscheidung der 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, der bei einfachen technischen Problemen Hilfestellung leisten kann. Eine Einführungsveranstaltung ist aber auch 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, nicht zuletzt, weil sie sich sicher sein können, dass die Information auch bei der richtigen Person angekommen ist. Dieses Bedürfnis ist grundsätzlich ernst zu nehmen und kann 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.
18 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: ■
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 bestimmen 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“.
Regeln festlegen
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.
18.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.
18.2 Kooperativ Ideen sammeln und Projektskizze verfassen
Projektskizze
■ ■ ■
283
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.
Ideen sammeln
Brainstorming
■
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.
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 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 wer1 den.
1
Nicht auszuschließen, dass der Gedanke nur eine Weiterentwicklung des Wunsches nach Essen war, das nicht zurückbeißt.
284
■ ■ ■
18 Konzeptionsphase: Ideen sammeln und Projekt skizzieren
Gefragt ist kooperatives und assoziatives Denken, bei dem Ideen aufgegriffen und kooperativ in Richtung des gemeinsamen Zieles weiterverarbeitet werden. 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: 1.
Gedanken aufgreifen und neu kombinieren
Kreativität ist lernbar
Blockaden
Individuen geht es unter anderem darum, Beachtung von anderen zu bekommen. 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.
4. 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.
18.2 Kooperativ Ideen sammeln und Projektskizze verfassen
■ ■ ■
285
5. 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 2 die perfekte Fassung zu warten. „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 auch erschlagen.
18.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 2
Erinnert sei auch an Linus Torvalds Methode, früh und häufig Texte freizugeben.
286
■ ■ ■
18 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 klären helfen, 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 Do-zententätigkeit legen nahe, darauf zu verzichten. Erstens setzt dies bereits einen geübten Umgang mit 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, da sie kein WYSIWYG-System darstellen, für Beamer-Präsentationen 3 dieser Art ungeeignet. Möller sieht in der Entwicklung von Werkzeugen, die eine gleichzeitige Bearbeitung von Texten in Echtzeit ermöglichen, ein 4 großes Potenzial. Dagegen scheint gerade ein großer Vorteil der Wiki-Technologie darin zu liegen, Diskussionsprozesse zeitlich zu entzerren. Grundsätzlich tritt in Gruppenprozessen beides auf: Beschleunigung und Zeitdruck, wie auch der Wunsch nach mehr Zeit, 5 um auch einmal einen Gedanken zu vertiefen. Es lässt sich beobachten, dass viele Wikianer nicht einfach losschreiben, sondern erst
Während der Treffen
Asynchron oder synchron?
3
Für Präsentationen gibt es ein sehr brauchbares SlideShowPlugin. Siehe Kap. 21.3 4 Möller 2005, 200f. 5 Immer wieder ist in Texten über Großgruppenprozesse zu lesen, dass sie nur unter enormen Zeit- und Problemdruck in Gang kämen und Lösungen erarbeiten könnten.
18.3 Protokollieren mit Wikis
■ ■ ■
287
recherchieren und ihre Gedanken ordnen. Kuhlen betrachtet es in „asynchronen Kommunikationsforen“ (im Gegensatz zu den synchronen wie Chat) als Vorteil, dass ein Klima der abgewogenen und informationell abgesicherten Kommunikation entstehen könne: „Nicht auf jede Frage muss sofort geantwortet werden. Der Vorteil der höheren Rationalität ist im Allgemeinen höher einzuschätzen als der vermutliche Verlust an Spontaneität im synchronen Medium mit seinen direkten reaktiven Kommunikationsstilen. Allerdings ist der Erfolg asynchroner Kommunikationsprozesse in hohem Maße von einer guten Moderation abhängig. Dies speziell in Lernumgebungen, wo laufend Moderationsleistungen erforderlich sind, wie Anreize schaffen, Übersichten und Zusammenfassungen erstellen, Orientie6 rungshilfen anbieten und Feedback zur Lernkontrolle geben.“ Kuhlens Hinweis auf asynchrone Kommunikationsprozesse und die Lernumgebungen sieht jedoch in der Moderatorin, die u. a. mit ausgefeilten Seminar-Designs Anreize schaffen muss, die zentrale Figur. Davon abweichend haben wir eben unsere Einschätzung zur Rolle der Moderation klargemacht. Gefragt ist nicht ein – letztlich manipulativer – Tausendsassa, mit dem perfekten Seminardesign, auf den die Teilnehmer nur „reagieren“.
18.4 Texte schreiben mit Editor-Plugin KupuEditor
Gehen wir wieder von unserem Beispiel aus. Im Rahmen der Planung der Konferenz müssen zahlreiche Texte verfasst werden, auch von Leuten, die sich die TWiki-Syntax nicht aneignen. Dieser Nutzergruppe wird mit WYSIWYG-Editoren ein wertvolles Hilfsmittel zur Verfügung gestellt. Für populäre Wiki-Klone wird seit kurzem mit der Entwicklung von WYSIWYG-Editoren begonnen. Diese werden in Zukunft die Arbeit mit Wikis zunehmend vereinfachen. Für das TWiki wird mit dem Kupu-Editor-Add-on ein viel versprechender Ansatz verfolgt. 7 Kupu ist eigentlich ein auf JavaScript basierender HTML-Editor, der mit Mozilla und Internet-Explorer kompatibel ist. Eine Version dieses Editors wird im Moment von den Entwicklern Schritt für Schritt an die TWiki-Umgebung angepasst.
6
Kuhlen 2004. „Kupu“ ist ein Wort der Maori für Wort, Statement, Bemerkung. „Kupu kupu“ ist indonesisch und bedeutet Schmetterling, der zum Logo von Kupu wurde. 7
288
■ ■ ■
18 Konzeptionsphase: Ideen sammeln und Projekt skizzieren
Mit dem Kupu-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.
18.4.1 Installation des Kupu-Editor-Add-ons Um Kupu zu installieren, sind einige Schritte notwendig. Holen Sie sich zunächst das Archiv von der Plugin-Seite http://TWiki.org/cgibin/view/Plugins/KupuEditorAddOn und entpacken es im TWikiVerzeichnis. Damit werden die nötigen Dateien an die richtigen Stellen im TWiki kopiert. Nun müssen Sie das Installationsskript im TWiki-Verzeichnis ausführen, das automatisch die richtigen Berechtigungen setzt: perl KupuEditorAddOn_installer.pl install Wenn sich der Perl-Interpreter nicht in /usr/bin befindet, dann ist es nötig, die Shebang-Zeilen der Skripten anzupassen. Wie schon bei der Installation von TWiki erwähnt, finden Sie den Pfad mit which perl heraus. Sollten Sie die Zeile ändern müssen, so machen Sie das am besten mit einem Editor (z. B. Nano). Die zu bearbeitenden Dateien sind: bin/kupu_attachments bin/kupu_html2TWiki bin/kupu_TWiki2html bin/kupuedit Die Shebang-Zeile ist immer die erste Zeile. Ändern Sie einfach den Pfad /usr/bin/perl in den entsprechenden Pfad ihres Systems. Nun sollten Sie den Editor testweise einmal aufrufen. Dies geht, indem Sie eine beliebige Seite im TWiki aufrufen und in der URL "view" durch "kupuedit" ersetzen. Sie sollten die Datei nun in einer grafischen Oberfläche bearbeiten können. Wenn Sie die Authentifikation aktiviert haben, so müssen Sie auch die vier oben genannten Skripten mit in die .htaccess-Datei aufnehmen:
18.4 Texte schreiben mit Editor-Plugin
■ ■ ■
289
require valid-user require valid-user require valid-user require valid-user Zuletzt ist es noch notwendig, Kupu für alle User zur Verfügung zu stellen, indem ein Verweis auf den Editor erstellt wird: Kupu Edit
Diese Zeile können Sie entweder in WebLeftBar einbinden, oder, eleganter, direkt in das View-Template mit aufnehmen. Für den Pattern-Skin wäre der Eintrag an der nachfolgend angegebenen Stelle zu machen: %TMPL:DEF{"toolbar"}% ... * %EDITTOPIC% * KupuEdit
Kupu öffnen
Jetzt haben Sie einen bequemen Zugang zu einem WYSIWYGEditor für das TWiki. Nachdem Kupu erfolgreich installiert wurde, erscheint neben dem herkömmlichen Edit-Button einer Wiki-Seite der Link KupuEdit, über den die Seite mit dem Editor geöffnet wird.
18.4.2 Features 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.
290
■ ■ ■
18 Konzeptionsphase: Ideen sammeln und Projekt skizzieren
Über die Kopfzeile können Sie per Mausklick Formatierungen vornehmen. In der Kopfleiste stehen Ihnen folgende Funktionalitäten zur Verfügung: Icon
Funktion Überschriften auf bis zu sechs Gliederungsebenen zuweisen oder Zitat mit „Verbatim“ hervorheben. Speichern.
Tab. 18.1
Markierten Text fett setzen. Markierten Text kursiv setzen. Erweiterbare Liste mit Icons. Nummerierte Liste. Nichtnummerierte Liste. Link entfernen. Erscheint nur, wenn ein Link markiert ist. Letzten Befehl zurücknehmen. Funktioniert bisher nicht sehr zuverlässig. Zurücknahme zurücknehmen. Ist ebenfalls nicht allzu zuverlässig. Wechsel zwischen Quellcode und Editoransicht. 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 tragen Sie dann den Link in der rechten Spalte oben („Internal & External Links“) ein. Beachten Sie, dass es verschiedene Links gibt: ■
Links setzen
Links, die auf eine Seite außerhalb des TWikis verweisen („External Links“). Markieren Sie den Linktext oder das Bild, wählen Sie in der rechten Spalte „External Links“ und schreiben Sie die gewünschte URL in das Eingabefeld „Target:“ (z. B.
18.4 Texte schreiben mit Editor-Plugin
■ ■ ■
291
http://www.steinzeit.de). Bestätigen Sie mit Make Link. 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 Linktext markiert haben, wählen Sie zwischen den Topics des aktuellen Webs (Main, Sandbox…) oder „All Topics“ für das gesamte TWiki. Sie können nun aus einer Liste die in Frage kommende TWiki-Seite auswählen. Nach der Bestätigung mit Make Link wird der interne Link in einen blauen Kasten gesetzt.
WikiWords und Interwiki-Links können automatisch erkannt wer8 den und erscheinen ebenfalls in blauen Kästen. Der Einladungstext zur Konferenz würde mit Kupu wie folgt aussehen: Abb. 18.1
Variablen einfügen
In der rechten Menüleiste finden Sie eine aufklappbare Liste mit TWiki-Variablen. Gehen Sie im Text an die Stelle, an der die Variable eingefügt werden soll. Wählen Sie das gewünschte Element mit einem Mausklick aus und bestätigen Sie mit Insert Variable. Die eingefügte TWiki-Variable wird in der Editoransicht in einem grünen Kasten angezeigt. 8
Diese Funktion kann in der rechten Menüleiste unter „Internal&External Links – Options“ (de)aktiviert werden.
292
■ ■ ■
18 Konzeptionsphase: Ideen sammeln und Projekt skizzieren
Weiter verfügt der Kupu-Editor über eine einfache Verwaltung von Attachments. Die Funktionsweise ist selbsterklärend: Sie können im Eingabefeld einen Dateipfad angeben oder mit Browse die gewünschte Datei suchen und mit Upload die Datei an die TWiki9 Seite anhängen. Im Kupu-Editor erscheinen hochgeladene Dateien in der rechten Menüleiste. Mit einem Mausklick auf die dort angezeigte Datei wird diese an der Position des Cursors in die Wiki-Seite eingefügt. 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. Wählen Sie in der rechten Menüleiste unter „Tables“ die gewünschten Eigenschaften aus und 10 bestätigen Sie mit Add Table. Wenn Sie die Tabelle in der Editoransicht anklicken, können Sie in der Menüleiste Änderungen der Eigenschaften vornehmen. Gleichzeitig 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. Mit Kupu können Sie mit dem Tool „Permissions“ in der rechten 11 Menüleiste die Zugriffsrechte für die aktuelle Seite verwalten. Angelegt ist die Vergabe von Leserechten („View Permissions“) und Änderungsrechten („Change Permissions“). Wenn Sie beispielsweise den Button Change klicken, öffnet sich eine Dialogbox, in der Sie Benutzernamen und –gruppen eingeben können, die diese Seite ändern dürfen. Schreiben Sie den Benutzernamen in das Eingabefeld und bestätigen Sie mit <ENTER>. Der Name wird nun in die Liste darunter eingefügt. Sie sollten den Vorgang überprüfen, indem Sie mit dem „Edit-Source“-Button in die Codeansicht umschalten, oder die Seite nicht mit Kupu, sondern mit dem normalen Edit-Button 12 öffnen. Gibt es keine Einträge, bleibt die Änderung allen Nutzerinnen und Nutzern freigestellt.
Attachments einfügen
Tabellen einfügen
Zugriffsrechte vergeben
9
Zum Löschen von Attachments oder zur „Hide“-Funktion vgl. Abschnitt III.2.2. 10 Welche Kupu-spezifischen Eigenschaften sich hinter der „Table class" „plain“, „listing“, „grid“ und „data“ verbergen, blieb bis zur Drucklegung das Geheimnis der Entwickler. 11 Vgl. oben Abschnitt III.5 12 Das Programm lief bei Drucklegung noch nicht immer zuverlässig. Sie sollten dort die Variablen SETALLOWTOPICVIEW bzw. SETALLOWTOPICCHANGE mit den entsprechenden Nutzern sehen.
18.4 Texte schreiben mit Editor-Plugin
■ ■ ■
293
18.4.3 Importieren und Exportieren anderer Textformate Arbeiten mit unterschiedlichen Textformaten
Nicht nur im Verlauf von Projekten muss mit unterschiedlichen Textformaten jongliert werden. Beispielsweise erhalten Sie Abstracts von Referentinnen und Referenten in Dateien mit Word- oder RTF-Format. Oder Sie möchten Texte aus dem Wiki in das Veranstaltungsprogramm übernehmen. Import und Export fremder Textformate ist ein Problem der Wiki-Technologie, das es mit anderen Systemen teilt. Der Kupu-Editor kann uns aber wertvolle Dienste leisten.
Importieren
Möchten Sie Text aus einem Word-Dokument oder aus einer WriterDatei (OpenOffice) in eine TWiki-Seite einfügen, markieren Sie die betreffende Textstelle und kopieren Sie diese in die Zwischenablage. Rufen Sie die entsprechende TWiki-Seite mit Kupu auf und fügen sie ihn an der gewünschten Stelle mit „Paste“ ein. Zeichen- und Absatzformate bleiben erhalten. Bei Texten im RTF-Format gehen die Formatierungen verloren. In den meisten Fällen wird noch eine geringe Nachbearbeitung notwendig sein. Ebenso verfahren Sie, wenn Sie Texte aus dem TWiki in ein Textverarbeitungsprogramm exportieren wollen. Kopieren Sie den gewünschten Text in die Zwischenablage und fügen Sie ihn in das Zieldokument ein. Selbstverständlich steht Ihnen bei größeren Problemen immer noch die Möglichkeit offen, Dateien an die Wiki-Seite 22 anzuhängen und zum Download bereitzustellen.
Exportieren
22
Siehe dazu: Abschnitt II.2 Für Import und Export von ExcelTabellen siehe: Kap.18.4.3.
294
■ ■ ■
18 Konzeptionsphase: Ideen sammeln und Projekt skizzieren
19 Ausarbeitung des Projektplans
Leser Autor WikiAdmin WebAdmin
19.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. 19.1 und Abb. 19.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 1 Bild vom Gesamtprojekt zu entwickeln. 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
1
Hilfe und Anregungen zur Planung von Arbeitsschritten finden Sie in der jeweiligen Fachliteratur, z. B. Portny 2001, 69-91.
19.1 Arbeitspakete schnüren
■ ■ ■
295
Abb. 19.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. 19.2
296
■ ■ ■
19 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 ■
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.
Formulare
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:
19.1 Arbeitspakete schnüren
Projektnummernverzeichnis
■ ■ ■
297
Abb. 19.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 * ...
19.2 Der Projektablaufplan Projektablaufplan
298
■ ■ ■
Nun geht es um die Terminplanung. Der Projektstrukturplan gibt uns lediglich eine von der Zeitplanung unabhängige Sicht auf das Pro-
19 Ausarbeitung des Projektplans
jekt. Die Terminplanung ist prinzipiell aus 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 2 betroffen wäre. Die Jäger und Sammler müssen wieder einmal selbst entscheiden, wie sie weitermachen wollen. Hinweis: Ein klassischer Fehler ist, dass Projektterminpläne „von hinten“ gerechnet werden und dabei der reale Zeitaufwand oder Ressourcenbedarf falsch eingeschätzt wird. Die Projekte werden dann häufig nicht modifiziert, sondern die Daten schöngerechnet. 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 Veranstaltungsort ein. Auf ihrem Wiki finden sich auch Statistiken. Denkbar ist zudem, dass erarbeitete Ablaufpläne, Workflows oder Mind-
Balkendiagramm
Grafiken einbinden
2
Dieses Thema würde den Rahmen des Buches endgültig sprengen. Wir meinen es ist ein Unterschied, zu welchen Zwecken dies geschieht. Auch ist Selbstbestimmung mit dem Beginn von Planung noch nicht aufgegeben.
19.2 Der Projektablaufplan
■ ■ ■
299
maps ins Wiki übertragen werden. Im klassischen Projektmanagement haben sich beispielsweise Vorgangsknotennetzpläne bewährt, um Arbeitspakete mit ihren Abhängigkeiten darzustellen (vgl. Abb. 3 19.4). Wie Sie diese Grafiken direkt im TWiki zeichnen können, wird im nächsten Abschnitt anhand eines Organigramms erläutert. Abb. 19.4
KalenderFunktion
Ebenso bietet weder das MediaWiki noch das TWiki eine hinreichende Kalenderfunktion, in die man die Zeitplanung übertragen kann 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.
19.3 Aufgaben verteilen und Gruppen bilden 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 Sto3
Dort wird u. a. mit Vorgangsknotennetzplänen eine ProjektStrategie 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.
300
■ ■ ■
19 Ausarbeitung des Projektplans
ckungen 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 festge4 legt werden – wie in jedem demokratischen System. Am Ende müssen alle Aufgaben und Zuständigkeiten klar verteilt sind, 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 Torvalds „delegiere alles, was sich delegieren lässt“, doch liegt hier explizit der Akzent auf der freiwilligen Übernahme der Aufgabe. 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 5 begreift. 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 termingerecht erledigt werden. Das Ideal der selbstbestimmten Zeit muss 6 dem nicht widersprechen, dies hängt von der Problemstellung ab. Es macht einen Unterschied, wer die Ziele definiert. Es gibt also auch in selbstorganisierten Projekten ein vieldiskutiertes „Sachzwang“-Problem und Routinearbeiten, die nicht mit Anerkennung
Aufgaben delegieren?
4
In selbstorganisierenden Systemen entsteht „Hierarchie“ durch Autorität, die man sich erarbeitet oder es werden Verantwortliche gewählt. 5 Vgl. Himanen 2001, der die Motivation bei Hackern und in freien Softwareprojekten umfassend erläutert. 6 Ob der Artikel „Hacker-Ethik“ heute im Netz erscheint oder in einem Monat, ist weniger problematisch, als das Fehlen von Grundnahrungsmitteln („Brötchenfrage“).
19.3 Aufgaben verteilen und Gruppen bilden
■ ■ ■
301
verbunden sind. Und es gibt auch hier „Termine“ – wenngleich sie 7 aus anderen Gründen zustande kommen. Gruppen-Webs einrichten
Rechtevergabe
Arbeitsgruppen können nun, wie oben beschrieben, eigene Webs zur Verfügung gestellt werden, die sie unabhängig von den anderen Gruppen entwickeln 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 jedoch zwei unterschiedliche Arten von Webs: ■
Funktionswebs, z. B. eigene Webs für Anmeldung
■
Gruppenwebs, z. B. Web für die Arbeitsgruppe „Catering“
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 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:
7
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.
302
■ ■ ■
19 Ausarbeitung des Projektplans
■
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.
19.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). Wenn Sie die Dateien in die richtigen Ordner geschoben haben, wird das Plugin im TWiki-Web an drei Stellen sichtbar: ■
auf der Webhome-Seite unter „TWiki User’s Guide“
■
auf der Seite InstalledPlugins
■
als neues Topic TWikiDrawPlugin.
19.4 Strukturen und Abläufe skizzieren mit dem Zeichen-Plugin (TWikiDraw-Plugin)
Organigramm
Funktionsweise
■ ■ ■
303
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. 19.5
Wenn Sie diesen betätigen, öffnet sich eine Zeichenfläche mit den Werkzeugen, die Sie benötigen, um Ihre Zeichnung zu bearbeiten: Abb. 19.6
Beenden
304
■ ■ ■
Um das Zeichenprogramm wieder zu verlassen und zur Seite zurückzukehren, betätigen Sie im Menü DRAWING entweder EXIT WITHOUT 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,
19 Ausarbeitung des Projektplans
ist es empfehlenswert, auf den Rahmen der Zeichnung oder den Edit-Button 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.
19.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. 19.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. Zeichnet ein Polygon, mit Mausklicks werden die Ecken erzeugt. Ermöglicht Freihandzeichnen. Dekoriert die selektierten Objekte mit einem Rahmen. Verlinkt das gewählte Objekt 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
19.5 Die Werkzeuge
Hot Spots
■ ■ ■
305
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 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
Beispiel Organigramm
306
■ ■ ■
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.
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.
19 Ausarbeitung des Projektplans
Abb. 19.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 EditSchalter über jeder eingebunden Zeichnung ein. BUTTON% Beispiel: Set EDIT_BUTTON = 0 %EDIT_ Gestaltet den Anfangslink bei einer noch nicht gespeicherten Zeichnung TEXT% Beispiel: Set EDIT_TEXT = Zeichnung editieren
Voreinstellungen
Tab. 19.2
19.6 To-do-Liste mit EditTable-Plugin 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
19.6 To-do-Liste mit EditTable-Plugin
Stand der einzelnen Aufgaben
■ ■ ■
307
Funktionsweise
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 EditTable-Plugin 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.
19.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: %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 |
308
■ ■ ■
19 Ausarbeitung des Projektplans
Die Seitenansicht sieht dann so aus: Abb. 19.8
Dasselbe im Edit-Modus der Tabelle: Abb. 19.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.
19.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: 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): ■
Tab. 19.3
Textfeld (eine Zeile): | text, größe, standardwert |
19.6 To-do-Liste mit EditTable-Plugin
■ ■ ■
309
■
Texfeld (mehrere Zeilen): | textarea, reihen x spalten, <Standardwert> |
■
Drop-Down-Menü: | select, größe, eintrag_1, eintrag_2, etc |
■
Feste Beschriftung: | label, 0, beschriftung |
■
Zeilennummer: | row, offset |
■
Kalenderfeld: | date, größe, standardwert |
changerows quietsave inlcude
helptopic headerislabel editbutton
Escape-Zeichen
Bei "on" können Zeilen hinzugefügt und entfernt werden. Das Gegenteil ist „off“. Bei "on" wird ein QuietSave-Button hinzugefü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 %SERVERTIME{"$day $mon $year $hour:$min"}%
310
■ ■ ■
19 Ausarbeitung des Projektplans
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. 19.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%. 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: Schalter
Erklärung Tabelle speichern.
Tab. 19.5
Speichern ohne andere WebNotify-User zu benachrichtigen. Zeile einfügen. Letzte Reihe beseitigen. Nicht speichern und zur Seitenansicht zurückkehren. 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.
19.6 To-do-Liste mit EditTable-Plugin
Beispiel: To-do-Liste
■ ■ ■
311
%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. 19.10
19.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 wollen, 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% .
312
■ ■ ■
19 Ausarbeitung des Projektplans
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. 19.11
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.
Wie auch bei allen anderen Plugins üblich, können Sie auf der EditTablePlugin-Seite globale Einstellungen an folgenden Variablen vornehmen:
19.6 To-do-Liste mit EditTable-Plugin
Problemzonen
Voreinstellungen
■ ■ ■
313
Variable %CHANGEROWS % %QUIETSAVE%
%EDITBUTTON % %JSCALENDAR DATEFORMAT% %JSCALENDAR LANGUAGE% ProjektPlanerPlugin
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 Kalenderformat Beispiel: Set JSCALENDARDATEFORMAT= %d.%m.%Y Kalendersprache Beispiel: Set JSCALENDARLANGUAGE=de
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.
19.7 Kosten und Finanzen planen mit Tabellen (Spreadsheet-Plugin) Bedarfsermittlung und Kostenplan
314
■ ■ ■
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.
19 Ausarbeitung des Projektplans
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. Warnend sei hier nur bemerkt, dass hier die Grenzen zur Verdinglichung menschlicher Beziehungen schnell überschritten sind. 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 sowohl 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.
Was, wer, wann
Spreadsheet
Funktionsweise
19.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
19.7 Kosten und Finanzen planen mit Tabellen (Spreadsheet-Plugin)
■ ■ ■
315
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))"}% 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.
Zellbezug
Abb. 19.12
Wenn Sie sich auf die möglicherweise variierenden Inhalte fester Tabellenzellen beziehen wollen, können Sie diese über folgende Koordinaten ansprechen: R1:C1 R2:C1 R3:C1
R1:C2 R2:C2 R3:C2
R1:C3 R2:C3 R3:C3
R1:C4 R2:C4 R3:C4
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))"}%
316
■ ■ ■
19 Ausarbeitung des Projektplans
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.
Listen
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:
Wenn es nicht funktioniert …
■
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.
19.7 Kosten und Finanzen planen mit Tabellen (Spreadsheet-Plugin)
■ ■ ■
317
19.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. 19.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 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
318
■ ■ ■
19 Ausarbeitung des Projektplans
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 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
19.7 Kosten und Finanzen planen mit Tabellen (Spreadsheet-Plugin)
■ ■ ■
319
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)"}% 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)
320
■ ■ ■
19 Ausarbeitung des Projektplans
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. 19.6
19.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 ■
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.
■
Innerhalb des Programms Tabellenformatierung und –sortierung vornehmen können.
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.
19.7 Kosten und Finanzen planen mit Tabellen (Spreadsheet-Plugin)
Installation
Funktionsweise
■ ■ ■
321
Abb. 19.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: Tab. 19.7
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.
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.
322
■ ■ ■
19 Ausarbeitung des Projektplans
20 Veranstaltungsvorbereitung
Leser Autor WikiAdmin WebAdmin
20.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 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: ■
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 die Referentinnen sich besser auf deren Fragestellung einstellen können.
20.1 Veranstaltungsplanung
Öffentlichkeitsarbeit
Abstracts
■ ■ ■
323
20.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 eine Anmeldung zur Konferenz zu ermöglichen, müssen wir uns auf die bestehenden Möglichkeiten beschränken und diese ein wenig umfunktionieren. Wir werden ein Anmeldeweb kreieren, das nur dazu da ist, das Anmeldeformular zu präsentieren und die Daten der Besucher sicher zu speichern. Auf der Basis dieser Daten können dann diverse Abfragen (oder Berechnungen) erstellt werden, die normalerweise ein Datenbankmanagementsystem übernehmen würde. Die vorgeschlagene Lösung ist nur eine von mehreren Möglichkeiten. Wir wollen damit zeigen, dass sich im TWiki zahlreiche Aufgaben lösen lassen, wenn man mit der bereits vorhandenen Software kreativ umgeht.
20.2.1 Was passiert bei einer 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. 20.1
Zunächst registrieren Sie sich im Main-Web. Die eingegebenen Daten werden in ein Template eingebaut. Diese Kombination wird
324
■ ■ ■
20 Veranstaltungsvorbereitung
als Userseite im Main-Web abgelegt. Zusätzlich erfolgt ein Eintrag in der Übersicht aller User (Topic Users).
20.2.2 Das AnmeldeWeb 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“: ■
Als erstes erstellen wir ein neues Web („AnmeldeWeb“), das das Anmeldeformular und die Seiten der Besucher bzw. des neuen Users enthalten soll. Dieses sollte schon bei der Erstellung mit der Option „Exclude from Search all“ von der Suche ausgeschlossen werden, damit sich niemand erkundigen kann, welche Personen an der Konferenz teilnehmen.
■
Dann wird die herkömmliche Useranmeldungsseite in das neue Web kopiert und nach den Anforderungen der Konferenz gestaltet. Der User registriert sich sowohl für die Konferenz als auch für das TWiki selbst, d. h. es wird auch eine Userseite für ihn angelegt.
■
Als nächstes ist es wichtig, noch ein paar Änderungen zur Sicherheit der Daten im Template der Useranmeldung zu machen und die Navigation so zu regeln, dass jeder komfortabel Zugang zu seinen eigenen Daten, nicht aber zu denen der anderen hat.
■
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. Auch die Templates für diese Seiten können nach Belieben geändert werden. So ist es beispielsweise ratsam, diese in die deutsche Sprache zu übersetzen.
Anmeldemechanismus modifizieren
20.2.3 Gestaltung des Anmeldeformulars Nachdem Sie mit Hilfe des Formulars auf der TWiki.ManagingWebs-Seite das neue Web erstellt haben (siehe Abschnitt III.6.1), übertragen Sie nun das Useranmeldeformular TWikiUserRegistration (im TWiki-Web) in unser neues Web. Dazu kopieren Sie am besten den Quelltext des Formulars in eine neue Seite.
20.2 Konferenzanmeldung
Formular kopieren
■ ■ ■
325
Damit gibt es innerhalb des TWikis zwei Anmeldemöglichkeiten: bei dem einen handelt es sich um die Standard-Userregistrierung im Main-Web, die für den User eine Seite anlegt und ihn befähigt, im TWiki Änderungen vorzunehmen. Die andere Anmeldung findet in dem neuen Web statt und meldet den User sowohl zur Konferenz als auch im TWiki an. Hinweis: 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. Allgemeine Gestaltung
Eingabefelder anpassen
Obligatorische Eingabefelder einrichten
326
■ ■ ■
Das 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, erklärenden Text oder durch Bilder, z. B. einem Logo ä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 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:
20 Veranstaltungsvorbereitung
Ihr <nop>WikiName: | =**= |
Geheimwort: | =**= |
Geheimwort wiederholen: | =**= |
|
Vorname: | =**= |
Nachname: | =**= |
Straße: | =**= |
20.2 Konferenzanmeldung
■ ■ ■
327
Ort: | =**= |
PLZ: | =**= |
Email Adresse: | =**= |
Gebühr: | 30 Euro (ermäßigt) 50 Euro ** |
| (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
328
■ ■ ■
20 Veranstaltungsvorbereitung
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. Hier sehen Sie das fertige Anmeldeformular für unsere Zukunftskonferenz, zu der sich gerade ein Herr Steinkeks anmelden möchte: Abb. 20.2
20.2.4 Speichern und Schützen der Daten Nun sollten noch einige kleinere Änderungen vorgenommen werden, damit die uns anvertrauten Daten auch wirklich im AnmeldeWeb abgelegt werden und vor dem Zugriff anderer geschützt sind. Eine dieser Maßnahmen haben Sie schon bei der Einrichtung des Webs ergriffen, als Sie die Option „No Search All“ aktiviert haben. Denn so ist es nicht mehr möglich, die Daten im Web zu durchsuchen. Falls Sie diese Einstellung vergessen haben, sollten Sie dies auf alle Fälle in den WebPreferences nachholen.
Erfassung durch Suchfunktion unterbinden
Hinweis: Das Web wird nun nicht mehr automatisch in die linke Menüleiste aufgenommen. Falls Sie schnell auf das Web zugreifen wollen, sollten Sie es irgendwo verlinken. Damit unsere Userseiten nun auch tatsächlich im „versteckten“ AnmeldeWeb und nicht im Main-Web landen, müssen wir im Editiermodus des Anmeldeformulars den Inhalt der Variablen action des
20.2 Konferenzanmeldung
■ ■ ■
329
-Tags von %MAINWEB% in den Namen des neuen Webs umändern, z. B. Benutzerrechte im Template definieren
Die Userseiten werden nun im AnmeldeWeb abgelegt, sind aber immer noch für alle lesbar. Um den Zugriff nur dem jeweiligen User und den Administratoren zu erlauben, müssen schon in dem Template, das das TWiki heranzieht, um die Userseiten anzulegen, die Benutzerrechte neu definiert werden. Das Template befindet sich unter dem Namen NewUserTemplate im TWiki-Web. Wir wollen nun auf dieser Seite über die Variablen, die das Ändern und Betrachten von Seiten regeln, die Zugriffrechte auf den neuen User und die Administratoren beschränken. Der Username wird in der Variable %WIKIUSERNAME% gespeichert. Damit das Template für die Anmeldung zunächst von jedem herangezogen werden kann, und nicht nur von den bereits im TWiki registrierten Usern, dürfen Sie die %NOP%-Variable nicht vergessen, die erst dann entfernt wird, wenn die Userseite erstellt worden ist. Durch die Variable wird ALLOWTOPICVIEW nicht mehr als Schalter erkannt und ist dadurch zunächst entschärft. %NOP% wird bei der Einbindung entfernt, und aktiviert damit alle Zugriffsbeschränkungen: ···*·Set ALLOW%NOP%TOPICCHANGE = %WIKIUSERNAME%, Main.TWikiAdminGroup ···*·Set ALLOW%NOP%TOPICVIEW = %WIKIUSERNAME%, Main.TWikiAdminGroup
User-Seite im Mainweb sichern
Die einzelnen Usersseiten sind damit ausreichend geschützt, allerdings stehen die angemeldeten Personen immer noch auf der Seite Users im Main-Web. Um zu verhindern, dass jeder diese Liste einsehen kann, sollten Sie mithilfe der Variablen %ALLOWTOPICVIEW% diese Seite ausschließlich den Administratoren zugänglich machen.
20.2.5 Navigation Datenschutzrechtlich sind wir nun auf der sicheren Seite. Da wir jedoch so viele Seiten auf verschiedenste Art und Weise verriegelt und versteckt haben, müssen wir uns Gedanken darüber machen, wie sowohl die User als auch die Administratoren auf „ihre“ Daten zugreifen können.
330
■ ■ ■
20 Veranstaltungsvorbereitung
Sowohl das AnmeldeWeb als auch die enthaltenen User-Seiten sind nicht mehr offen zugänglich und daher auch nicht in der Auflistung der Webs. Damit die User ihre Daten sehen können, müssen wir einen Verweis in das AnmeldeWeb setzen. Auch das Anmeldeformular muss noch im Main sichtbar gemacht werden, damit man es schnell finden kann. Daher setzen wir die Seite der Anmeldung und den Link zum AnmeldeWeb in die linke Menüleiste des Main-Webs. Die Verlinkung zum AnmeldeWeb nennen wir „Teilnehmer“, da wir über diesen Weg die Besucher zu ihren Seiten geleiten. Denn wenn ein User schon angemeldet und eingeloggt ist, kommt er auf die WebHome-Seite, wo mit der Variable AnmeldeWeb. %WIKIUSERNAME% ein Link mit dem Namen „Ihre Seite“ eingefügt werden sollte. Die Variable wird dann durch einen Link zur Seite des eingeloggten Users ersetzt. 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 AnmeldeWebs 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. Dieser Link zeigt bisher noch auf die ursprüngliche TWiki-Anmeldung. Um ihn zu ändern, müssen Sie das Template der Einlogmeldung ändern. Wie dies funktioniert, erfahren Sie im nächsten Abschnitt.
Menüleiste erweitern
20.2.6 Bestätigungsseite/E-Mail und Fehlermeldungen Wenn ein Besucher das Anmeldeformular abschickt, die obligatorischen Felder aber falsch oder nicht ausgefüllt hat, werden vom TWiki entsprechende Fehlermeldungen generiert. Die Vorlagen dafür liegen im Ordner twiki/templates. Sie beginnen mit „oops“ und haben die Extension .tmpl Dateien in twiki/templates oopsregexist.tmpl oopsregwiki.tmpl oopsregpasswd.tmpl oopsregemail.tmpl oopssendmailerr.tmpl oopsregerr.tmpl
Fehler User existiert schon. Name ist kein Wiki-Name. Passwort falsch bestätigt. Ungültige Email-Adresse. Bestätigungsmail wurde nicht gesendet. Anderer Fehler.
20.2 Konferenzanmeldung
Fehlermeldungen übersetzen
Tab. 20.1
■ ■ ■
331
Auch die Bestätigungsmeldungen werden über die „oops“-Vorlagen erstellt. Diese Templates können Sie in einem ganz normalen Editor umformulieren, z. B. aus dem Englischen in Ihre Muttersprache übersetzen. Achtung: Die Templates können je nach gewähltem Skin auch durch spezifische Vorlagen überschrieben worden sein. So wird z. B. im Pattern-Skin die Datei registernotify.pattern.tmpl verwendet. Das oben genannte Template der Einlogmeldung heißt oopsaccessview.tmpl. Hier können Sie für die noch nicht angemeldeten Besucher einen Link zum Anmeldeformular setzen. Fügen Sie den Link nach folgender Zeile ein: Sie haben noch nicht die Berechtigung diese Seite zu sehen: <nop>%WEB%.<nop>%TOPIC%. Bitte registrieren Sie sich unter: AnmeldeWeb.AnmeldeFormular Anmeldebestätigung
Sind alle Angaben korrekt gemacht worden, wird eine Bestätigungsseite aufgerufen und eine E-Mail an den User geschickt. Die Bestätigungsseite basiert auf dem Template oopsregthanks.tmpl, das man folgendermaßen umgestalten könnte: %TMPL:INCLUDE{"TWiki"}% %TMPL:DEF{"titleaction"}%(note) %TMPL:END% %TMPL:DEF{"webaction"}% *Bestätigung* %TMPL:END% %TMPL:DEF{"heading"}%Herzlichen Dank für die Anmeldung!%TMPL:END% %TMPL:DEF{"message"}% ···* Sie können Ihre Eingaben auf Ihrer persönlichen TWiki-Seite %TOPIC% ansehen und bearbeiten. ···* Eine Bestätigungs-Email wurde an %PARAM1% geschickt. %TMPL:END% %TMPL:DEF{"topicaction"}% [[%WEB%.%TOPIC%][OK]] %TMPL:END%%TMPL:P{"oops"}% Herr Steinkeks hat sich zur Konferenz angemeldet. Diese Seite bekommt er nach erfolgreicher Anmeldung zu Gesicht:
332
■ ■ ■
20 Veranstaltungsvorbereitung
Abb. 20.3
Der Inhalt der Bestätigungs-E-Mail kann auf dieselbe Art und Weise in der Datei registernotify.tmpl editiert werden. Die Anmeldung ist damit erledigt. Wir kommen im nächsten Kapitel im Rahmen der Teilnehmerverwaltung bei „Einchecken“ darauf zurück.
20.2 Konferenzanmeldung
■ ■ ■
333
21 Veranstaltungsdurchführung und Dokumentation
Leser Autor WikiAdmin WebAdmin
21.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 Steinplatten 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 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.
21.1 Im Veranstaltungsbüro
■ ■ ■
335
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.
21.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, kehren wir zu unserem AnmeldeWeb zurück. 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.
21.2.1 Seite InterneVerwaltung Interne Verwaltung
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 AnmeldeWebs.
Identifizierung
Der erste Schritt ist die Aufnahme des Besuchers in die Datenverwaltung. Die Seite InterneVerwaltung muss nun für zwei Szenarien ausgelegt sein:
336
■ ■ ■
21 Veranstaltungsdurchführung und Dokumentation
1.
Ein Besucher ist noch nicht eingetragen, muss also mit all seinen Daten ins TWiki-System aufgenommen werden.
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="both" type="keyword" noheader="on" web="AnmeldeWeb" nosearch="on" excludetopic="%TOPIC%, TeilnehmerListe" }%
Suchformular
Wenn nun am Check-In der Name von Herrn Steinkeks in die Suche eingegeben wird, sollte ein Link zu seiner Userseite erscheinen.
21.2 Seite InterneVerwaltung
■ ■ ■
337
Quittung
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 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:
338
■ ■ ■
21 Veranstaltungsdurchführung und Dokumentation
Abb. 21.1
21.2.2 Quittungen machen 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 Ausdrücken realisiert. Sie können hier Ihre frisch erworbenen Kenntnisse aus Abschnitt IV.4 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="AnmeldeWeb" noheader="on"
21.2 Seite InterneVerwaltung
■ ■ ■
339
nosearch="on" nototal="on" format=" $pattern(.*?\*.*?Vorname:\s*([^\n\r]+).*) $pattern(.*?\*.*?\sName:\s*([^\n\r]+).*)%BR% $pattern(.*?\*.*?Strasse:\s*([^\n\r]+).*)%BR% $pattern(.*?\*.*?PLZ:\s*([^\n\r]+).*) $pattern(.*?\*.*?Ort:\s*([^\n\r]+).*)" }%
Sehr geehrte(r) %SEARCH{search="%URLPARAM{"query"}%" scope="topic" web="AnmeldeWeb" noheader="on" nosearch="on" nototal="on" format=" $pattern(.*?\*.*?Vorname:\s*([^\n\r]+).*) $pattern(.*?\*.*?\sName:\s*([^\n\r]+).*)" }%,
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="AnmeldeWeb" noheader="on" nosearch="on" nototal="on" format=" $pattern(.*?\*.*?Gebühr:\s*([^\n\r]+).*)" }% Mit freundlichen Grüßen, Ihr Tagungsleiter Harry Jäger
340
■ ■ ■
21 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. Abschnitt III.7.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. 21.2
21.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:
21.2 Seite InterneVerwaltung
■ ■ ■
341
%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:
21.3 Vorträge mit dem Präsentations-Plugin (SlideShow-Plugin) Präsentationen und Vorträge
Funktionsweise
342
■ ■ ■
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-
21 Veranstaltungsdurchführung und Dokumentation
lage, die Sie nach Belieben formatieren und mit Konstanten und Navigationsschaltern füllen können.
21.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
21.3 Vorträge mit dem Präsentations-Plugin (SlideShow-Plugin)
■ ■ ■
343
Revolution" * Konferenz als erster Schritt? * 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. 21.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:
344
■ ■ ■
21 Veranstaltungsdurchführung und Dokumentation
Abb. 21.3
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, dass 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
21.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:
21.3 Vorträge mit dem Präsentations-Plugin (SlideShow-Plugin)
■ ■ ■
345
Tab. 21.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% |
346
■ ■ ■
21 Veranstaltungsdurchführung und Dokumentation
|
%SLIDENAVALL% | Slide %SLIDENUM% of %SLIDEMAX% | |
%STOPINCLUDE% Wenn man dieses in der Seitenansicht betrachtet, erhält man folgendes Bild:
21.3 Vorträge mit dem Präsentations-Plugin (SlideShow-Plugin)
■ ■ ■
347
Abb. 21.4
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:
348
■ ■ ■
21 Veranstaltungsdurchführung und Dokumentation
Abb. 21.5
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. 21.2
21.4 Statistiken mit Diagrammen visualisieren (Chart-Plugin) 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 Ausgabenentwicklung über die Dauer des Projekts? Wir möchten Ihnen gegen
21.4 Statistiken mit Diagrammen visualisieren (Chart-Plugin)
Statistik
■ ■ ■
349
Funktionsweise
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/.
21.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: Abb. 21.6
350
■ ■ ■
21 Veranstaltungsdurchführung und Dokumentation
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 in 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. Abb. 21.7
21.4 Statistiken mit Diagrammen visualisieren (Chart-Plugin)
■ ■ ■
351
Die Liste der möglichen Parameter für das Diagramm ist beträchtlich. Wirklich notwendig sind jedoch nur name, table und data. Tab. 21.3
%CHART%Parameter type
subtype
scale name web topic table title xlabel ylabel data defaultdata xaxis xaxisangle yaxis ymin ymax
352
■ ■ ■
Beschreibung Hauptdiagrammtyp ■ "area" = Flächendiagramm ■
"bar"= Balkendiagramm
■
"line"=Liniendiagramm
■
"scatter"=Punktediagramm
■
"combo"= Kombinationsdiagramm
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. Winkel, in dem die Werte der X-Achse angezeigt 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.
21 Veranstaltungsdurchführung und Dokumentation
xgrid
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
21.4.2 Beispieltabelle Die nachfolgenden Diagramme wurden mit den Daten dieser Tabelle generiert: Abb. 21.8
21.4 Statistiken mit Diagrammen visualisieren (Chart-Plugin)
■ ■ ■
353
Hier sehen Sie also das Chart-Plugin in Aktion: Tab. 21.4
354
■ ■ ■
Flächendiagramm: %CHART{ type="area" name="getreideanbau_fla eche" 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_sae ule" 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_lin ie" table="anbau" data="R2:C2..R5:C5" xaxis="R1:C2..R1:C5" legend="R2:C1..R5:C1" width="250" datalabel=”on” height="200" }% Punktdiagramm: %CHART{ type="bar" name="getreideanbau_pun kt" table="anbau" data="R2:C2..R5:C5" xaxis="R1:C2..R1:C5" legend="R2:C1..R5:C1" width="250" height="200" }%
21 Veranstaltungsdurchführung und Dokumentation
Kombinationsdiagramm I: %CHART{ type="combo" subtype="area,pline,point, line" name="getreideanbau_com bo_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,l ine" name="getreideanbau_com bo_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, SCALE, LINEWIDTH, POINTSIZE. Zudem finden Sie hier einige für das Balkendiagramm spezifische Optionen: 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
21.4 Statistiken mit Diagrammen visualisieren (Chart-Plugin)
Voreinstellungen
Tab. 21.5
■ ■ ■
355
21.5 Letzte Schritte: Feedback und Dokumentation Feedback
Evaluation
Archivierung
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 abfotografierte 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.
Bildergalerie
356
■ ■ ■
Eine Bildergalerie, die Atmosphäre des Projekts ausstrahlt, ist ein netter und beliebter Abschluss des Projekts.
21 Veranstaltungsdurchführung und Dokumentation
V. Werkzeuge mit Zukunft
22 Werkzeuge mit Zukunft? Technische und soziale Perspektiven mit Wikis
Leser Autor WikiAdmin WebAdmin
22.1 Technische Perspektiven 22.1.1 Wiki-Editor? Um einen leichten Einstieg in die Wiki-Welt zu ermöglichen und die weitere Arbeit bequem zu gestalten, wurde eine vereinfachte WikiSyntax erdacht. Dennoch wird in letzter Zeit zunehmend über die Entwicklung von speziellen WYSIWYG-Editoren diskutiert, die die Nutzung von Wikis noch komfortabler machen sollen. „Wikis haben jedoch das Interesse an leistungsfähigen Browser-Editoren neu entflammt. Die Browser-Hersteller und Drittlieferanten haben den Bedarf erkannt, auch angesichts der im kommerziellen Umfeld sehr verbreiteten Content-Management-Systeme, die nicht so offen sind wie Wikis, 1 aber ähnliches leisten“, meint Möller. Der Vorteil eines Editors ist, dass Textbereiche markiert und per Mausklick direkt formatiert werden können. Es wird nicht mehr vom Benutzer erwartet, dass er sich komplizierte Formatierungsbefehle merkt. Aussagekräftige Symbole helfen ihm bei der Bearbeitung. Der Editor trägt die Layoutbefehle an der richtigen Stelle ein. WYSIWYG-Editoren gehen noch einen Schritt weiter. Hier sieht man sofort, wie sich eine Änderung auf das Gesamtbild des Dokuments auswirkt, ohne den Umweg über eine Speicherung und verar1
BrowserEditoren
Funktionsweise
Möller 2003.
22.1 Technische Perspektiven
■ ■ ■
359
Notwendigkeit von Editoren
Wiki-Editor
beitete Ausgabe gehen zu müssen, wie man es von den üblichen Textverarbeitungsprogrammen gewöhnt ist. Einfache Editoren sind mittlerweile im Netz weit verbreitet. Sie haben beispielsweise im MediaWiki ein Modell kennen gelernt. Die Software unterstützt Sie bei der Gestaltung der Seite mit einer Toolleiste, mit der Sie per Mausklick häufige Textformatierungen (fett, kursiv, etc.) vornehmen können. Die Einführung von Editoren war ein großer Sprung bzgl. der Benutzerfreundlichkeit. Auch wenn puristischen Programmierern nicht wohl dabei ist, sind solche Hilfen für normale User dringend notwendig. Es gibt heute bereits einige webbasierte HTML-Editoren, die eine WYSIWYG-Darstellung bieten. Auch für Wiki-Seiten haben wir im TWiki mit dem Kupu-Editor eine dieser Anwendungen kennen gelernt. Ein Wiki stellt aber besondere Anforderungen an einen Editor. Während normale HTML-Dokumente in der Regel eigenständig sind, also alle Information, die für die Gestaltung der Seite wichtig sind, enthalten, muss eine Wiki-Seite erst vom Wiki-Skript in die eigentliche Form gebracht werden (Kennzeichnung der Links, Ersetzung der Variablen, etc). Da dieses Skript auf dem Server abläuft, wäre ein permanenter Austausch zwischen Server und Client nötig. Dies übersteigt die gegenwärtigen technischen Möglichkeiten des Netzes. Hier sind kreative Lösungen gefragt. Kupu stellt beispielsweise die statischen Teile wie Textformatierungen direkt dar und markiert andere, wie Links oder Variablen in einer bestimmten Farbe, um zu kennzeichnen, dass hier eine weitere Verarbeitung stattfindet. Es erfolgt auch ein Abgleich mit der bestehenden Dokumentstruktur zu Beginn der Bearbeitung. Kupu weiß also, welche Seiten im TWiki existieren. In Bezug auf echte Wiki-Editoren besteht noch Handlungsbedarf. Wünschenswert wäre, dass für alle Wikis ein gemeinsamer Editor entwickelt wird.
22.1.2 Standardisierung MediaWiki und Wikipedia als Standard?
360
■ ■ ■
Die Wiki-Technologie baut weitere technische Barrieren ab, die den Leser daran hindern, Autor eines Massenmediums zu werden. Ein großes Manko ist bisher, dass jeder Klon seine eigenen Formatierungsbefehle hat, die ein User jeweils neu erlernen muss. Es gibt bereits Bestrebungen, die Wiki-Syntax zu vereinheitlichen. Doch an welchem Vorbild soll man sich orientieren? Wales argumentiert für das MediaWiki, da es durch Wikipedia gegenwärtig zum populärsten Wiki geworden ist. Viele Menschen kennen seine Formatierungsbefehle und die Namen der wichtigsten Funktionen. Doch Popularität bedeutet natürlich nicht zwangsläufig Qualität.
22 Werkzeuge mit Zukunft? Technische und soziale Perspektiven mit Wikis
Insbesondere beim CamelCase scheiden sich die Geister. Einige sehen darin etwas genuin Wiki-Typisches. Die Verfechter von CamelCase beschwören die Leichtigkeit, mit der Assoziationen und Querverweise hergestellt werden können. Andere, wie Jimmy Wales, lehnen ihn aus ästhetischen Gründen ab und beklagen, dass damit 2 ständig unbeabsichtigt Links gesetzt werden. Sie formulieren damit die generelle Einsicht, dass sich die Syntax soweit von der normalen Sprache unterscheiden sollte, dass unbeabsichtigte Layoutsetzungen vermieden werden. Hier ist die Zusammenarbeit vieler Wikianer gefragt. Einen Ansatzpunkt bietet eine Seite auf UseMod, auf der 3 heftig um einen Vorschlag zur Vereinheitlichung gerungen wird. Der Austausch zwischen Wikis würde durch einen Standard erheblich vereinfacht. Momentan ist es mit erheblichen Schwierigkeiten verbunden, von einem Wiki-Klon ohne Datenverlust auf einen anderen umzusteigen. Selbst wenn die einfachen Formatierungen leicht ineinander überführbar sind, steckt der Teufel bekanntlich im Detail. Dies stellt ein gewisses Risiko dar, da nicht sicher ist, wie lange einzelne Wiki-Klone weiterentwickelt und an den aktuellen technischen Stand angepasst werden. Hier besteht also die Gefahr, dass Daten in einem veralteten System „eingeschlossen“ werden. Würde sich die Wiki-Gemeinde zumindest auf ein Austauschformat für Daten einigen, würde hier einige Unsicherheit beim Einsatz von Wikis beseitigt werden.
CamelCase
Interwiki
22.1.3 Projekte der Wikimedia-Gruppe Viele Wikianer arbeiten an den Projekten der jungen Wikimedia Foundation. Daher werden diese mittelfristig für Bewertung, Verbreitung und Nutzung der Wiki-Technologie wichtige Orientierungspunkte liefern. Ihr inhaltlicher Schwerpunkt liegt im Bereich der öffentlichen Nachschlagewerke: Aufbau einer Bibliothek freier Lehrbücher, Lern- und Lehrmaterialien (Wikibooks), ein frei verfügbares Wörterbuch (Wiktionary), eine Sammlung freier Texte (Wikisource), Zitate (Wikiquote) oder biologischer Arten (Wikispecies). Dieser Bereich dürfte aller Erwartung nach weiter beständig wachsen.
2 3
Wikimedia Foundation
Wales im persönlichen Gespräch am 28. 12. 2004. http://www.usemod.com/cgi-bin/mb.pl?WikiMarkupStandard, 15. 1. 2005
22.1 Technische Perspektiven
■ ■ ■
361
22.1.3.1 Wikimedia Commons Bild, Text, Video, Musik als freier Download
Perspektiven
Ein beachtenswertes Projekt der Wikimedia Foundation ist Wikimedia Commons. Hier sollen zentral freie Bilder, Videos, Musik und Texte für alle Wikimedia-Projekte aufbewahrt werden. Bilder, die dort zum Download angeboten werden, müssen gemeinfrei sein oder der GNU-FDL unterliegen. Eine international gemeinsame und sprachübergreifende Dateiverwaltung hat zunächst den Vorteil, dass Bilder nicht mehr für jedes einzelne Wikipedia-System hochgeladen werden müssen. Da sie frei sind, können sie auch über diese Systeme hinaus benutzt werden. Zudem kann man davon ausgehen, dass die Daten keinem Urheberrecht unterliegen und somit eine aufwändige Recherche nach Rechteinhabern entfallen kann. Die Wikimedia Commons sind sehr streng in Bezug auf den Lizenzstatus der einzelnen Bilder. Zu diesen müssen immer Informationen über die Lizenz vorliegen, Angaben über den Ursprung gemacht werden und, falls das Bild aus einem Wikipedia-Projekt stammt, muss mitgeteilt werden, wer die Datei zuerst der Wikipedia zur Verfügung gestellt hat. Jenseits der Wikipedia-Gruppe könnte dieses Projekt zur größten internationalen Datenbank mit freiem Bild und Textmaterial werden, das an die Bestrebungen der Free-Software-Initiativen anschließt. Es lassen sich Galerieseiten für Bilder zu einem bestimmten Thema anlegen und durch Kategorien verknüpfen. So findet man dort leicht Material zu einem Thema und kann die vorhandenen Dokumente nutzen. Hier kommt das Wiki-Prinzip wieder zum Tragen. Es wird gemeinsam ein großer Webkatalog erstellt und nach den Suchkriterien der Nutzer optimiert. Ergebnisse aufwändiger Recherchen können anderen zur Verfügung gestellt werden. Dies erleichtert das Auffinden relevanter Daten erheblich. Natürlich kann auch das Gegenteil eintreten und die Nutzer zerstören sich gegenseitig die Ordnung. 22.1.3.2 Wikinews
Nachrichten
362
■ ■ ■
Mit Wikinews hat die Wikimedia-Gruppe ein neues herausforderndes Projekt gestartet. Nur zwei Wochen nach der englischen Ausgabe ging auch die deutsche Wikinews-Seite Anfang Dezember 2004 ans Netz. Damit wagt die Wiki-Gemeinde den Versuch, einen täglich aktuellen Nachrichtenüberblick zu schaffen. Ob dieses jüngste, noch in der Testphase befindliche Projekt aus dem Umfeld von Wikipedia gelingen kann, wird auch von den Initiatoren mit Neugier beobachtet. Ziel ist es, ein internationales Netzwerk von, so wörtlich, „Bürgerjournalisten“ aufzubauen, die direkt vor Ort von großen und klei-
22 Werkzeuge mit Zukunft? Technische und soziale Perspektiven mit Wikis
nen Ereignissen berichten oder Artikel aus anderen Quellen zusammenstellen. Gerade in Ländern mit eingeschränkter Pressefreiheit könnte Wikinews damit zu einer alternativen Nachrichtenquelle werden. In dieser Hinsicht ist das Projekt durchaus mit dem Mediennetzwerk Indymedia vergleichbar. Doch während Indymedia oft sehr dezidierte politische Standpunkte vertritt, spielt bei Wikinews der "Neutral Point of View", der neutrale Standpunkt (s.u.), nach wie vor eine wichtige Rolle: Meinungen und Annahmen müssen kenntlich gemacht und ihren Vertretern eindeutig zugeschrieben werden. Das gesamte Quellenmaterial, auf dem der Artikel basiert, soll zusammen mit dem Artikel online zugänglich gemacht werden, sodass sich jeder Leser selbst ein Bild davon machen kann, wie zuverlässig eine Nachricht ist. Die Produktion eigener Nachrichten bereitete der Wiki-Gemeinde zunächst großes Kopfzerbrechen. Im Unterschied zu Wikipedia können Nachrichten nicht in einem nachgeschobenen Kommunikationsprozess verbessert werden, sondern müssen sofort eine gute 4 Qualität aufweisen. Daher wurde eine Art Redaktionssystem eingeführt, nach dem ein Artikel erst durch andere Benutzer bestätigt werden muss, bevor er offiziell „freigeschaltet“ wird. Dieses „Freischalten“ ist jedoch kein technischer Vorgang: Alle Artikel sind weiterhin für alle verfügbar. Allerdings kommt der Freischaltung der Rang einer Qualitätsbewertung zu und gibt Anhaltspunkte über die Seriosität einer Nachricht Das Wikinews-Konzept ist als Experiment zu betrachten, das möglicherweise an die Grenzen des Wiki-Prinzips stößt. Es wird sich zeigen, ob und unter welchen Bedingungen „Bürgerjournalisten“ tatsächlich in der Lage sind, dieselben oder gar besser informierte authentische Quellen „anzuzapfen“ als die etablierten Medien. Kritiker befürchten, dass Wikinews zu einer großen Gerüchteküche werden könnte, weil effektive redaktionelle Kontrollinstanzen fehlen. Die Erfahrung mit Wikipedia, die zu Beginn mit ähnlichem Argwohn beäugt wurde, lässt jedoch besseres vermuten. Die dezidierte Abgrenzung gegenüber Indymedia und das proklamierte Selbstverständnis als „Bürgerjournalimus“ legen den Verdacht nahe, dass es möglicherweise bei der Konzeption keineswegs so „neutral“ zugeht, wie man sich gerne sehen möchte. Zweifel meldet auch Krüger an: „Wikipedia ist ein Projekt des gehobenen NetzBildungsbürgertums. Und auch die Wikinews werden sich thematisch, inhaltlich und sprachlich eher am typischen Zeit- als am durchschnittlichen Bildzeitungsleser orientieren. Der Anspruch, über 4
Probleme
Experimente
Skepsis von Seiten der etablierten Medien meldet Patalong 2004 an.
22.1 Technische Perspektiven
■ ■ ■
363
das berichten zu wollen, „was in der Welt um uns herum geschieht“, wird sich vermutlich auf eine Berichterstattung reduzieren, die einen nur schichtenspezifisch relevanten, selektiven Ausschnitt des aktuel5 len Weltgeschehens produziert – das aber vermutlich sehr fundiert.“ Wikinews wird sich auch dieser Problematik stellen müssen. 22.1.3.3 Wikidata Datenbank
Technische Herausforderungen
Soziale Herausforderungen
Das technisch herausforderndste Vorhaben ist Wikidata. Ziel ist es, auch strukturierte Daten in Wiki-Manier gestalten und bearbeiten zu können. Mit dieser Art von Daten hatten wir bereits bei der Anmeldung im vierten Abschnitt zu kämpfen. Selbst einfache Aufgaben wie das Ausgeben einer Adresse aus einer Wiki-Seite erfordern einen hohen Aufwand und umständliches Vorgehen. Mit strukturierten Daten ergeben sich viele Vorteile. Suche wie Verarbeitung werden erheblich vereinfacht. Auch ein automatisierter Umgang mit den Daten wird möglich, da diese leichter in computerlesbare Form überführt werden können als freier Wiki-Code. Sobald Informationen tabellarisch geordnet werden können, ergeben sich gänzlich neue Anwendungsmöglichkeiten, wie zum Beispiel, dass Orte in einer Landkarte angezeigt werden können und vieles mehr. Die Entwicklung und Gestaltung einer Datenbank ist in der Regel sehr aufwändig. Um dem Wiki-Prinzip treu zu bleiben, müssen hier Methoden zum leichten Erstellen und Strukturieren zur Verfügung gestellt werden. Geplant ist ein Datenstruktur-Editor, mit dem Tabellen, deren Felder mit den jeweiligen Datentypen (z.B. Text, Zahl) und -beschränkungen (z.B. unique, max. Länge) verwaltet werden, sowie Beziehungen zwischen den Feldern (z.B. parents, brothers) hergestellt werden können. Gibt es einmal eine Vorlage für strukturierte Daten, so muss eine Wiki-Syntax für Seitenansicht und Editiermodus entwickelt werden, mit der Formularfelder bearbeitet werden können. Zu guter Letzt werden History, Unterschiedsanzeige und die letzten Änderungen auf Feldebene verfügbar sein. All das besteht bisher noch in der Konzeptionsphase. Für die Wiki-Community werden sich mit diesem Projekt neue Herausforderungen ergeben. Ein Problem ist, dass eine Änderung der Datenstruktur weitreichende Folgen hat und sich durch das System fortpflanzt. Damit ist ein Rollback nicht mehr ohne weiteres möglich. Wie geht man dann mit potentiellem Vandalismus um? Eine Antwort wäre eine strenge Userverwaltung, in der nur die Administratoren das Recht haben, die Datenstruktur zu ändern. Offen bleibt, ob das Wiki dadurch nicht seinen eigentlichen Charakter als offenes, einfaches und transparentes System verliert. 5
364
■ ■ ■
Krüger 2004.
22 Werkzeuge mit Zukunft? Technische und soziale Perspektiven mit Wikis
Jedoch stecken in Wikidata auch große Potenziale: Neue Dimensionen der Arbeit mit Wikis tun sich auf. Applikationen, die strukturierte Information benötigen, könnten auf Wikidata aufsetzen (Kalkulation, Grafik, Simulation) und so der Wiki-Welt auch andere Formate und Darstellungsweisen erschließen.
Potenziale
22.2 Wiki-Technologie als Motor gesellschaftlichen Wandels? Was bedeuten all diese technischen Entwicklungen? Sind wir Zeugen einer „heimlichen Medienrevolution“? Verändern Weblogs, Wikis und freie Software hinterrücks die Welt? Diese Fragen ergeben sich aus dem gleichlautenden Buchtitel von Erik Möller. Das stellt uns vor ein schwieriges Problem: In welchem Verhältnis stehen Technik und gesellschaftlicher Fortschritt? Was ist überhaupt als Fortschritt anzusehen? Mit Wikis scheint etwas außer Kontrolle zu geraten. Befürworter freier Software und Wikipedianer sehen darin einen großen Gewinn. Anderen wiederum – und wir meinen hier gar nicht einmal Konzerne wie Microsoft oder den Brockhausverlag – machen unkontrollierbare Entwicklungen Angst. Es scheint unmöglich zu sein, von Wikis zu sprechen, ohne sofort mit grundlegenden Problemen konfrontiert zu sein: Objektivität und Parteilichkeit, intrinsische und extrinsische Motivation, zentrale und dezentrale Kontrollmechanismen, hierarchische und antiautoritäre Ordnungsstrukturen. Und nicht zuletzt: die Frage nach anderen Lebensweisen und Eigentumsverhältnissen. Die Debatte um Wikis gewinnt an Dynamik, weil sie mitten in einer Phase beschleunigten gesellschaftlichen Umbruchs stattfindet. Zwar geht es bei Wikis, ähnlich wie bei freier Software oberflächlich um die Nutzung der neuen Informations- und Kommunikationstechnologien, doch die Debatte ist ohne die damit zur Diskussion stehenden gesellschaftlichen Grundsatzfragen nicht zu verstehen – und auch nicht zu führen. Geht es um Technik und Fortschritt, wird man mit deterministischen Vorstellungen konfrontiert. Seit Beginn des „Wissenschaftlichen Zeitalters“ (Brecht) wurde auf unterschiedlichste Weise versucht, historischen Aufstieg und Niedergang einseitig in 6 Abhängigkeit von technischen Innovationen zu bringen. Bekanntlich wurde im 19. Jahrhundert Industrialisierung mit gesellschaftlichem Fortschritt gleich gesetzt. Und auch zu Beginn des 21. Jahr-
Medienrevolution?
Gesellschaftliche Grundsatzfragen
Technikutopien
6
Eine Einführung in den Zusammenhang von Technik und Gesellschaft liefert Degele 2002.
22.2 Wiki-Technologie als Motor gesellschaftlichen Wandels?
■ ■ ■
365
Kulturpessimistische Sichtweisen
Aktuelle Formen des Determinismus
Verlust der Steuerung
hunderts haben Technikutopien Konjunktur: Der Kühlschrank, der selbst Lebensmittel bestellt, wird beworben als Etappe zu einem Leben in Müßiggang und unbeschränktem Konsum. Die bis Mitte der 1990er Jahre verbreitete Hoffnung, dass das Internet ein technischer Hebel zur Demokratisierung und Revitalisierung des Öffentli7 chen darstellt, war in der Tendenz ebenso eine Technikutopie. Demgegenüber gibt es eine kulturpessimistische Tradition des Technikdeterminismus, in der technische Entwicklung zum Motor gesellschaftlichen Niedergangs stilisiert wird. Technische Entwicklung wird als etwas wahrgenommen, das der Kontrolle des Menschen entgleitet. Einmal beschrittene Wege sind aus dieser Perspektive nicht mehr rückgängig zu machen. Diese Argumentation hat ein schlagkräftigstes Beispiel mit der Atomtechnologie, die den Menschen auf Grund der Entscheidungen von gestern heute mit dem radioaktiven Restmüll zum Handeln zwingt. Bei Informations- und Biotechnologie sehen manche den gleichen Mechanismus am Werk, 8 obwohl deren Folgen auf einer anderen Ebene liegen. Speziell im Zusammenhang mit der Verbreitung des Internets und der wissenschaftlichen Untersuchung der Informationstechnologien gewinnen modernere Varianten des Technikdeterminismus an Bedeutung. Etwa im politischen Diskurs, wenn davon die Rede ist, dass die „Zukunftsfähigkeit Deutschlands“ von seiner „Innovationsfähigkeit“ abhänge. Im eher akademischen Bereich ist eine Renaissance von kybernetisch-systemtheoretischen Ansätzen zu beobachten: Hier sind „Emergenz“-Modelle auf dem Vormarsch. Aber auch die Vorstellung, dass der Mensch nichts anderes sei, als eine informationsverarbeitende Maschine, die künstlich nachgebaut werden kann, 9 wird immer wieder reformuliert. Den Technikdeterminismen ist die Annahme gemeinsam, dass gesellschaftlicher Wandel nicht mehr menschlicher Entscheidung unterliegt, sondern einer technischen Entwicklungslogik entspringt. Technik wird dadurch zu etwas Metaphysischem, das letztlich außerhalb des Sozialen verortet wird. Diese Vorstellungen sind eng verbunden mit handfesten politischen und ökonomischen Interessen sowie mit bestimmten Weltanschauungen über den Zusammenhang von Mensch und Geschichte, in der gesellschaftlicher Wandel als nicht steuerbar und letztlich als nicht erklärbares Naturereignis wahrgenommen wird. 7
Vgl. zur Geschichte Rilling 2004. Zur kulturpessimistischen Gruppe der Technikdeterminismen gehören wohl auch jene Formen, die sich in der Alltagssprache äußern, etwa wenn von der schädlichen Wirkung „der Medien“ auf das Sozialverhalten von Kindern gesprochen wird etc. 9 Zur Kritik siehe Weizenbaum 1977. 8
366
■ ■ ■
22 Werkzeuge mit Zukunft? Technische und soziale Perspektiven mit Wikis
Auch wenn die Folgen von technischer Entwicklung teilweise als Naturereignis gesehen und beschrieben werden, gibt es gleichzeitig das Bewusstsein, dass Technik und Werkzeuge allein die Gesellschaft nicht verändern können. Aus diesem Widerstreit zwischen unkontrollierbaren und existenzgefährdenden Prozessen einerseits, und dem gleichzeitigen Wissen um die grundsätzliche Veränderbarkeit auch der technisch geprägten Welt andererseits, resultiert ein Motivationskonflikt, der oft zum Verzicht auf politisches Handeln führt. Um nun die Frage zu klären, was Wikis mit gesellschaftlichem Fortschritt in Richtung mehr Demokratisierung zu tun haben könnten, sind aus unserer Sicht drei Themenkomplexe zu erörtern: ■
Technik als Subjekt? Gibt es etwas, das man als „Eigenständigkeit“ oder „Eigenlogik“ von Software bezeichnen kann?
■
Technik als Ideologie: Woher kommt die Tendenz, die Verantwortung für die Zukunft Werkzeugen zu überantworten?
■
Technik und gesellschaftliche Strukturierung. Inwieweit gehen von einzelnen Werkzeugen gesellschaftliche Strukturen aus oder ist es eher so, dass die Form der Entwicklung und bestimmte Nutzungsweisen von Werkzeugen gesellschaftliche Strukturen beeinflussen?
Verzicht auf politisches Handeln
Notwendige Klärungen
Mit diesen drei Teilbereichen wollen wir die Diskussionen um die gesellschaftliche Wirkung von Technik und Technologie umreißen und öffnen. Aus diesem komplexen Themenbereich werden nur einige Aspekte beleuchtet. Die Diskussion und vielleicht Klärung dieser Fragen wäre ein gut geeignetes Thema für ein Wiki.
22.2.1 Technik als Subjekt Dem Bau von Werkzeugen wie dem Wiki geht wie bei allen anderen Werkzeugen und Maschinen menschliche Planung voraus. Der Bau und die Nutzung von Werkzeugen ist eine ständige individuelle Ent10 scheidungsfrage. So ist das Internet z. B. das Ergebnis einer Planung der US-amerikanischen Militäradministration. Noch nie in der Geschichte der Menschheit wurde technische Entwicklung so systematisch organisiert wie in den letzten hundert Jahren. Heute werden Teams zusammengestellt, um ein Flugzeug zu bauen, das eine be-
Planung von Werkzeugen
10
Dagegen geht der Vulgärmaterialismus von der Vorstellung aus, dass der Mensch nur die Funktion einer komplexen Weltformel darstellt, die wir nur noch nicht verstanden haben. Diese Vorstellung gibt es in vielen Schattierungen.
22.2 Wiki-Technologie als Motor gesellschaftlichen Wandels?
■ ■ ■
367
Software ein normales Werkzeug?
stimmte Anzahl an Panzern oder mehrere hundert Passagiere mit einer bestimmten Geschwindigkeit und einem bestimmten Verbrauch transportieren kann. Das bedeutet, die Entwicklung von Werkzeugen hängt eng mit der Zielsetzung, den Erfahrungen und den Annahmen ihrer „Schöpfer“ zusammen. Sie sind eingebettet in ihre Kultur und Gesellschaft mit ihren spezifischen Entscheidungsstrukturen. Mit Fertigstellung eines Objekts kommt ein Arbeits- und Planungsprozess zu Ende, der materielle Gestalt angenommen hat. Das neue Werkzeug kann nun weiterentwickelt und benutzt werden. Nicht selten wird es plötzlich für einen ganz anderen Zusammenhang interessant oder gar entgegen dem ursprünglichen Sinn genutzt. Werkzeuge, oder genauer gesagt, die Entwicklung von Werkzeugen, ist also keineswegs gesellschaftlich „neutral“. Es ist leider eine Illusion, dass Erfindungen völlig zweckfrei gemacht werden, und die Gesellschaft diese Erfindungen aufgreift oder nicht. Die Gesellschaft muss für wissenschaftliche Freiräume die materiellen Voraussetzungen bereitstellen. Dies bedeutet aber auch: Wenn universitäre Grundlagenforschung ermög11 licht wird, dann nicht ohne dahinter stehende politische Ziele. Seit mit dem Vormarsch der Automatisierung und der Digitalisierung der Mensch als Kontrollinstanz an vielen Stellen ersetzt wird, ist zu klären, wie viel Selbständigkeit und Autonomie technischen Abläufen zugestanden werden soll. Teile der Künstlichen Intelligenzforschung (KI) sprechen hier der Software eine neue Qualität zu. So propagieren einzelne Vertreter der modernen KI autonome Agenten, also Softwareroboter, die sich „selbständig“ mit ihrer Umwelt auseinandersetzen können. Hier wird „Information“ zu etwas Beseeltem und technischen Einrichtungen werden menschliche Fähigkeiten zugeschrieben, Dagegen begreift Haug Software als „elektronische 12 Metamaschine“. Digitale Produkte sind in diesem Verständnis vergegenständlichtes, in Algorithmen ausgedrücktes Wissen. Informationelle Abstraktionen und Modellierungen sind nicht das Modellierte selbst. Das heißt, ein Computerprogramm ist etwas anderes, als Wissen und Ideen. Es ist Teil eines Werkzeugs. Die Information muss, um formen zu können, auf eine Struktur auftreffen, die die Information verstehen und ausführen kann – und will!
22.2.2 Technik als Ideologie Marktlogik
Man kann sich dem Problem auch ideologiekritisch nähern. Die kritische Theorie liefert hier wichtige Denkmittel, um die Entste11 12
368
■ ■ ■
Vgl. dagegen unten die Metapher „Akademie“ von Himanen. Vgl. zur Frage der Immaterialität digitaler Produkte Haug 2003, 97-118.
22 Werkzeuge mit Zukunft? Technische und soziale Perspektiven mit Wikis
hung technischer Determinismen besser zu erklären. Bereits der Klassiker Marx wies auf den Zusammenhang hin, dass unter der Herrschaft der Konkurrenz die Bourgeoisie nicht existieren kann „ohne die Produktionsinstrumente (…) fortwährend zu revolutionie13 ren“. Technische Innovationen sollen Märkte erobern und sichern, oder Produktionskosten senken. Forschung und Entwicklung wird zum Teil einer politisch-ökonomischen Gesamtstrategie. So ist die „Informationsgesellschaft“ bereits mehrfach im Sinne einer technischen Integrationsideologie kritisiert worden, in der es um die Sicherung von Definitionshoheiten, Organisation von Zustimmung und Mobilisierung von Ressourcen geht. Himanen warnt, den sozialen Fortschritt vom technischen abhängig zu machen: „Wir fallen schnell auf die Illusion herein, dass der technische Fortschritt unser Leben automatisch weniger arbeitszentriert gestalten wird... Die Netzwerkgesellschaft stellt die protestantische Ethik nicht in Frage. Sich selbst überlassen dominiert darin weiterhin der auf Arbeit aus14 gerichtete Geist des Kapitalismus.“ Es wäre zu einfach zu behaupten, dass hier „Wirtschaftsinteressen“ einer Gesellschaft einfach „von denen da oben“ aufgestülpt werden und die Bevölkerung einer Manipulation von außen durch Medien unterliegt. Eine solche Sichtweise blendet u. a. die Faszination aus, die generell von Technik ausgeht. Technik ist vielfach positiv besetzt. Sie wird global nicht mit Verelendung in Verbindung gebracht, sondern im Gegenteil mit Ausbruch aus Verelendung, Modernisierung und Liberalisierung. Mit ihr verknüpfen sich Hoffnungen auf friedlichen Wandel ohne soziale Verwerfungen. Diese Technik-Faszination baut auf einer Verarbeitung konkreter historischer Erfahrungen auf. Werkzeuge haben dem Menschen Handlungsspielräume geschaffen, indem natürliche Beschränkungen überwunden wurden. Er hat sich Hilfsmittel gebaut, die es ihm ermöglichen, die Natur und die Gesellschaft im doppelten Wortsinn besser zu beherrschen. So eröffneten sich auch im doppelten Wortsinn Perspektiven: Zusammenhänge wurden erkennbar und die Zukunft ist damit planbar geworden. Es besteht kein Zweifel, dass die Geschichte des Menschen mit technischen Innovationen, mit Werkzeugen und Maschinen, eng verwoben ist. „Die Menschen existieren, weil sie Werkzeuge machen. Die Werkzeuge, die der Mensch entwickelt, entscheiden nicht nur, dass er lebt, sie entscheiden auch wie er lebt. Die Erfahrungen, die er macht, wenn er Werkzeuge herstellt und benutzt, verändern ihn. Seine Veränderungen gehen in die Werkzeuge ein. Die Werk13 14
Faszination
Historische Erfahrungen
MEW 4, 465. Himanen 2001, 31.
22.2 Wiki-Technologie als Motor gesellschaftlichen Wandels?
■ ■ ■
369
Rückwirkungen
zeuge wirken sich darauf aus, wie Menschen miteinander umge15 hen“, meint Rauter. Doch nun ist mit dem Internet ein großtechnisches System auf den Plan getreten, mit dem die Frage alternativer Vergesellschaftungsmodelle aufgeworfen wird. Dies zeigt: die Werkzeuge wirken auf den interpretierenden Menschen zurück. Sie verändern unsere Wahrnehmung, man entdeckt neue Anwendungsmöglichkeiten. Aus Kritik oder Zustimmung entstehen neue Gedanken. Gefahren entstehen dort, wo aus dem Blick gerät, dass es sich um historisch entstandene, menschlich geschaffene Produkte handelt, und der Mensch der Illusion verfällt, nur noch ein Objekt zu sein
22.2.3 Wiki, ein demokratisches Medium? Demokratischer Gebrauch eines Mediums
Die WikiErfindung
Aber wie steht es mit der Wiki-Technologie? Ist sie „inherently democratic“ (Cunningham)? Sind mit Wikis gar nicht mehr rückholbare Entwicklungen eingeleitet? Enzensberger macht schon Anfang der 1970er Jahre für die Massenmedien Fernsehen und Radio deutlich, dass nicht die Medien, 16 sondern ihr Gebrauch den Unterschied ausmachen. In seinem Baukasten zu einer Theorie der Medien machte er folgende Vorschläge für einen emanzipatorischen Mediengebrauch, der auch auf die interaktive Nutzung des Internets übertragen werden kann: Dezentralisierte Programme, jeder Empfänger ein potenzieller Sender, Mobilisierung der Massen, Interaktion der Teilnehmer, Feedback, politischer Lernprozess, kollektive Produktion, gesellschaftliche Kontrolle durch Selbstorganisation. Ganz ähnlich meint Rilling: „Das Internet liefert keinen Raum für Entscheidungen, sondern Orte für politische Debatten, Kommunikation und Meinungsbil17 dung.“ Es gilt für Wikis, was Brecht im Zusammenhang mit dem Radio formulierte: „Nicht die Öffentlichkeit hatte auf den Rundfunk gewar18 tet, sondern der Rundfunk wartete auf die Öffentlichkeit". Cunninghams Erfindung wollte zunächst ein praktisches Problem lösen. Es ging um eine möglichst einfache Softwaredokumentation. Seine Vorstellung, dass zur erfolgreichen Softwareentwicklung umstandslose und hierarchiefreie Kooperation gehört, ging in die Entwicklung mit ein. Hätte er die Vorstellung gehabt, dass Softwareentwicklung 15
Rauter 1977. Enzensberger 1970, 173. 17 Rilling 2004. 18 Brecht 1930/1967, 128. 16
370
■ ■ ■
22 Werkzeuge mit Zukunft? Technische und soziale Perspektiven mit Wikis
ohne autoritäre, zentrale Kontrolle nicht funktionierte, wäre der Programmcode anders ausgefallen. Herausgekommen ist ein Programm, dessen weitergehender Nutzen erst mit der Zeit erkannt wurde. Wir können festhalten, dass bei der Entwicklung des ersten Wikis Ideen eine Rolle spielten, die „inherently democratic“ waren. Eine demokratisierende Wirkung durch Wikis ist, auch wenn sie in dieser Richtung neue Möglichkeiten eröffnen, damit keine beschlossene Sache. Im Gegenteil werden heute Wikis bereits in Betrieben verwendet, ohne dass sich dort etwas Grundlegendes ändert. Aus dem bisher Gesagten lässt sich die Frage formulieren, wie in Zukunft Forschung und Entwicklung organisiert wird. Wer entscheidet, was gebaut und was gefördert wird? Wie ist der Prozess demokratisch zu kontrollieren? Es ist die Frage, ob man sich auch weiterhin in der Technikentwicklung von militärischen und privaten Verwertungsinteressen abhängig machen will, in der Hoffnung, dass etwas zivil Nutzbares dabei abfällt. Entscheidend in der Beurteilung, ob mit einem Werkzeug gesellschaftlich fortschrittliche Wirkungen erzielt werden konnten und können, ist erstens die Frage, mit welchen Zielen es entstand und zweitens mit welchen Zielen es benutzt wird; dies ist vor dem Hintergrund zu sehen, inwieweit dabei gesellschaftliche Verhältnisse zementiert oder entsprechend verändert wurden.
Forschungspolitik
Ziele und Strukturierungsprozess
22.2.4 Eigentum Ein nicht nur von der Wiki-Gemeinde intensiv besprochenes Thema ist die Bedeutung von Lizenzen und freier Software. Generell hat die Digitalisierung und das WWW als weltweite Kopiermaschine die Grundsatzdebatte über Rolle und Funktion des Eigentums, vor allem des geistigen Eigentums (Urheberrechte, Patente, Markenschutz) neu entfacht. Die Wiki-Communities konnten sich dieser Frage schon deshalb nicht entziehen, da mit der Veröffentlichung der Wiki-Software und eines jeden weiteren Wiki-Klons eine Grundsatzentscheidung über deren Nutzungsbedingungen zu fällen war. Darf sich eine rechtliche Person die Software oder Teile daraus aneignen und zu welchem Zweck? Viele Wikis unterstehen heute der GNU-GPL, sind also freie Software, die nicht verkauft 19 werden darf. Damit gesellten sich die Wiki-Programmierinnen und –programmierer zu den Verfechtern freier Software.
Wiki: Freie Software
19
Wir hatten in Kap. 1.5.2 die Lizenz schon angesprochen. Den besten Einstieg in Geschichte und Problematik der freien Software gibt Grassmuck 2002.
22.2 Wiki-Technologie als Motor gesellschaftlichen Wandels?
■ ■ ■
371
„Free Content“
Privatisierungswelle
Akademie und Kloster
Doch nicht nur hinsichtlich der Software, sondern auch auf der inhaltlichen Ebene der Wiki-Seiten ist man mit Verwertungsrechten 20 konfrontiert. Wem gehören Texte und Bilder? Wann kann man überhaupt von einem Text sprechen? Wer ist rechtlich verantwortlich? Die Recherche, ob Bildmaterial „gemeinfrei“ ist, nimmt bei Wikipedia viel Zeit in Anspruch. Schließlich soll gewährleistet sein, dass Wikipedia eine wirkliche „Free-Content“-Enzyklopädie ist. Dies bedeutet, dass sie einem Kopierecht untersteht, das erlaubt, die Texte für jeden Zweck zu kopieren, zu verändern oder anderweitig 21 zu benutzen. Das Original oder veränderte Fassungen dürfen frei verteilt werden. Dies kann nur geschehen, wenn dabei keine Rechte Dritter verletzt werden. Umgekehrt gilt: Wenn Sie in Wikipedia einen Eintrag machen, unterliegt dieser Text automatisch dieser Lizenz und Sie können im Nachhinein kein Urheberrecht geltend 22 machen. Die Bereitstellung frei zugänglichen Wissens steht in bewusstem Gegensatz zum gegenwärtigen Trend der Privatisierung öffentlicher Güter, die keinen gesellschaftlichen Bereich verschont: Von der Aushöhlung des öffentlichen Charakters von Unternehmen bis hin zur Privatisierung der Wasserversorgung oder Bildung. Die Diskussion über die Patentierbarkeit von Gensequenzen oder Software gehört ebenso in diesen Zusammenhang. Auf der Tagesordnung steht die Parteinahme zur Rückgewinnung von Commons (Allmende) und öffentlichen Gütern gegenüber einer Kultur des Privaten. Himanen spricht im Zusammenhang mit offenen Quellcodes metaphorisch von der „Akademie“, in der Wissenschaftler ihre Arbeit anderen zugänglich machen, damit diese sie 23 benutzen, testen und weiterentwickeln können. Demgegenüber bezeichnet er geschlossene Modelle, die Informationen vorenthalten und autoritäre Verhältnisse aufweisen, metaphorisch als „Klöster“. Doch von kritischen Gesellschaftstheoretikern wird in Frage gestellt, ob eine lediglich ethische Kritik nicht zu kurz greift. Umstritten ist, ob ein Appell zur „gesellschaftlichen Verantwortung“, die mit 20
Vgl. dazu Möller 2005, 171f. Die GNU Free Documentation License (GFDL), der die Wikipedia-Artikel unterstehen, ist die gebräuchlichste Lizenz für „freie“ Inhalte. Die FreeBSD Documentation License dagegen ist eine nicht-copyleft Lizenz. Weiter veröffentlicht Creative Commons Lizenzen, die jedoch nicht alle „free-content“ gewährleisten. 22 Als Privatperson können Sie jederzeit ihre eigenen Texte unter eine FreeContent-Lizenz stellen (Copyleft). Die GFDL finden Sie im Netz unter: http://www.gnu.org/copyleft/fdl.html. Links zu weiteren Lizenzen wie OpenContent License oder die GPL finden sie unter: http://www.reference.com/ Dir/Computers/Software/Licensing/Open_Source_Licenses 23 Himanen 2001, 91ff. 21
372
■ ■ ■
22 Werkzeuge mit Zukunft? Technische und soziale Perspektiven mit Wikis
„Wettbewerbsfähigkeit“ zu kombinieren sei, nicht zwei diametral entgegen gesetzte Prinzipien zusammenbringen will. Wieder wären damit geltende gesellschaftliche Steuerungsmodelle – nicht die moralische Verfehlung von Einzelpersonen wie Bill Gates - zu untersuchen. Die Privatisierung von Commons ist die Voraussetzung um diese Güter, in dem Fall Software, vermarkten zu können. Um Informationsprodukte kommerziell verwertbar zu machen, muss Knappheit hergestellt werden. Bei Software bedeutet dies Zurückhaltung des Quelltextes und Einschränkungen durch Lizenzierung und Patentierung. Software wird einem Property Rights Regime unterstellt. Daraus ergibt sich ein ungleicher Kampf mit Versuchen der Durchdringung, Kriminalisierung und Zurück24 weisung, mit Entwicklung neuer Strategien und Gegenstrategien. Es bestehen Zweifel, ob dies auf eine anthropologische Grundkonstante („der Mensch ist halt so“) oder vielmehr auf „objektive“ Zwänge zurückzuführen ist, die sich aus einer Wirtschaftsverfassung ergeben, bei der es um die Beseitigung oder Kontrolle der existenziellen Grundlagen des Konkurrenten geht. Die Freie-Software-Community trat als Gegenmodell zur Kommerzialisierung von Informationsprodukten auf – vor allem als Alternative zu Unix. Die freie Software wurde hier zum Gegenmodell, das Hoffnungen weckte, die Expansion des informationstechnischen Leitsektors ernsthaft blockieren zu können, indem eine öffentliche, stabilere und kostenlose Software zur Verfügung gestellt würde. Diese Hoffnungen erfüllten sich nur teilweise. Die Forderung nach Informationsfreiheit stellte keineswegs das Property Rights Regime in Frage. Viele Eigentumsformen können nebeneinander bestehen. Freie Güter können sehr gut als Teil eines Gesamtprodukts verwertet werden, bei freier Software etwa durch den Support und durch Bücher. Beim Versuch, digitale Güter durch Copyright, Patente und Warenzeichen in Waren zu verwandeln, nimmt die Musikindustrie im Kampf gegen „Raubkopien“ gegenwärtig eine Vorreiterrolle ein: „Download ist Diebstahl“. Auf der Gegenseite erwächst mit der Wikimediagruppe ein wichtiger Akteur, der sich mit freien Inhalten gegen die Vermarktung von Softwarepatente, Bild-, Film- und Textrechten wendet, indem er Enklaven digitaler Commons aufbauen 25 will. Das Projekt Wiki-Commons ist oben schon angesprochen worden. Ebenso Wikibooks, bei dem es um die Bereitstellung kostenloser Lehrbücher geht, deren kommerzielle Alternativen teuer
Property Rights Regime
Hoffnungen mit Freier Software
WikimediaProjekte
24
Vgl. zum Einstieg in die Diskussion z. B. Meretz 2003 und Nuss 2003. Neben anderen wie der Free Software Foundation, Creative Commons oder der Hacker-Kultur. 25
22.2 Wiki-Technologie als Motor gesellschaftlichen Wandels?
■ ■ ■
373
Zentraler Nerv getroffen?
Rechtspolitische Initiativen
erworben werden müssen. Dies geschieht in der Hoffnung, den Zugang auch auf weniger einkommensstarke Schichten zu erweitern. Inwieweit mit einer Blockade der Privatisierungstendenzen in den Informationstechnologien ein zentraler Nerv eines sich formierenden High-Tech-Kapitalismus getroffen wird, ist umstritten. Jeremy Rifkin meint in seinem Buch Access – Das Verschwinden des Eigentums (2000) die Frage des „Zugangs“ sei die Nachfolgerin der Eigentumsfrage. Dagegen wird der Einspruch erhoben, dass damit die „Old Economy“ und die dazugehörenden Eigentumsverhältnisse, auf 26 die die neuen Technologien nur aufsetzen, ausgeblendet werden. Weiter wird verschiedentlich die These vertreten, dass dem Property Rights Regime eine größere Gefahr durch den direkten Kontakt zwischen Produzenten und Konsumenten erwachse, als durch die Bereitstellung kostenloser Dienstleistungen. Die „rechtspolitische Schlüsselerfindung“ (Rilling) der Free-Software-Kultur ist die GPL-Lizenz. Auf ihr bauen weitere Free-ContentLizenzen wie FDL oder Creative Commons auf. Mit ihnen wird auf der Basis der jeweiligen nationalen Rechtssysteme versucht, den rechtlichen Rahmen zur Sicherung öffentlicher Güter und Commons zu nutzen. Hier wird man aber bei der Frage des digitalen und geistigen Eigentums nicht stehen bleiben können. Sie wird die bürgerlichen Eigentumskonzeptionen insgesamt zur Disposition stellen. Eine Hilfe könnte dabei der Gedanke sein, dass es sich in der Frage des Eigentums nicht um den Bezug zwischen Person und Sache, sondern um die Beziehung zwischen Menschen in Bezug auf eine Sache handelt.
22.2.5 Arbeitsformen Alternative Organisationsmodelle
Die Wiki-Philosophie regt an, die zukünftige Organisation der Arbeit neu zu denken. Den zentral geplanten, gesteuerten und kontrollierten Organisationsmodellen werden dezentrale, selbstorganisierte Modelle entgegengestellt. Ein Motiv ist, dass die Tendenzen zur Bürokratisierung von Arbeitsabläufen (beispielsweise im Zuge der Qualitätsoder Ausgabenkontrolle) Gestaltungsspielräume einengen und jede intrinsische Motivation ersticken. Bereits die freie Softwarebewegung stellte Windows mit Linux nicht nur ein anderes Betriebssystem gegenüber, sondern auch eine andere dezentrale und demokratischere Organisationsphilosophie. Gesucht werden Alternativen zu fremdbestimmten und entfremdeten Arbeitsverhältnissen, die letztlich auch die gesamte Lebensweise, das Privatleben und die Gestaltung der Freizeit betreffen. Ein Teil der Verfechter der freien Software sieht 26
374
■ ■ ■
Z. B. Haug 2003, 67f.
22 Werkzeuge mit Zukunft? Technische und soziale Perspektiven mit Wikis
hier eine neue, nichtkapitalistische Gesellschaftsordnung aufkeimen und hofft, dass sich die Produktionsweise der Programmierer auf andere gesellschaftliche Bereiche übertragen lässt. Wikis gehören hier in die Reihe der Erfolgsgeschichten der Szene. Bewiesen wird, dass, wie schon in anderen Softwareprojekten, mit freien Arbeitsformen auch komplexe Probleme gemeistert werden können. Auf lange Sicht werden ihre Produkte und Dienstleistungen sogar eine höhere Beständigkeit aufweisen, weil von Beginn an mehr Leute in den Entwicklungsprozess eingebunden werden. Die Netzwelt ist anarchisch, aber reproduziert auch bestehende Steuerungsmodelle. Inwieweit es sich bei Linux- und WikiPhilosophie bereits um wirkliche Gegenmodelle handelt, muss sich daher erst noch zeigen. Schon in der Linux-Debatte argumentierte Nuss, dass die dezentrale Arbeitsform auch einem weniger freien Produktionsparadigma Vorschub leisten könnte: „Ihre [die der freien Software, R.H.] Produktionsweise beruht auf offenem Wissen, Kooperation, flacher Hierarchie, Flexibilität, weltweiter Vernetzung, einer großteils unbezahlten Tätigkeit, meistenteils ohne Vertragsbindung. Das Produktionsmodell von Open Source bzw. Freier Software nimmt für die Industrie schon länger eine 27 Vorbildfunktion ein.“ Auch die großen Privatunternehmen suchen Lösungen für ihre strukturellen Krisen und nach Wegen, um flexibler auf dem Markt auftreten zu können. Doch schon vorher erwiesen sich unter den bestehenden Verhältnissen zentral kontrollierte Steuerungsmodelle als zu starr. Die daraus erwachsenden Probleme wurden seit jeher von den Beschäftigten selbständig ausgeglichen. Sie kompensierten ständig Fehler, Fehlplanungen und Störungen. „Ohne das gezielte Abweichen von Plänen und Anweisungen sind betriebliche Vorgaben nicht zu 28 erfüllen.“ Das heißt, auch Unternehmen sind längst auf die autonome Handlungsweise der Beschäftigten angewiesen. Die Lösung aller Probleme sehen nun einige in der Förderung der Selbstorganisation der Beschäftigten. Es geht darum, wieder Spaß an der Arbeit zu haben, Freiwillige zu motivieren oder Kunden in die Entwicklung einzubinden. Damit gehen aber ungesicherte Arbeitsverhältnisse und Verdichtung der Arbeitszeit durch – computergestützte – Optimierung einher. Die Planungssicherheit der Betriebe wird zu Ungunsten der Planungssicherheit der Beschäftigten verschoben. Planen können ist jedoch Bedingung menschlicher Selbstverwirklichung Die Wiki-Communities propagieren ihre Idee, dass eine Arbeitsorganisation „von unten“ funktionieren kann, indem sie zeigen, dass 27 28
Gegenmodell?
Selbstverantwortliche Steuerungsprozesse in Betrieben
Soziale Fantasie
Nuss 2003, 154. Den Gedanken führt Candeias (2004, 179ff.) weiter aus. Candeias 2004, 179.
22.2 Wiki-Technologie als Motor gesellschaftlichen Wandels?
■ ■ ■
375
sie es durchaus mit Erfolg ausprobieren. Ihr Modell von Arbeitsorganisation unterscheidet sich vom gängigen Muster in einer gewissen Ergebnisoffenheit: Die Verantwortung für Planung und Ausführung des Arbeitsprozesses wird hier wirklich ganz auf die Produzenten übertragen. Dabei geht es um zukünftige Steuerungsmodelle auf betrieblicher wie auf gesamtgesellschaftlicher Ebene. Wer setzt die Ziele, wer ist an der Entscheidung beteiligt und worauf stützt sich die ihre gesellschaftliche Macht? Welche Alternativen sind denkbar? Die Wiki-Communities fördern mit ihrem Tun die soziale Fantasie. Ihr Versuch, die großen Wiki-Projekte auf die Beine zu stellen, wirkt nicht nur nach außen, sondern ist bei diesem Experiment immer auch Selbstaufklärung.
22.2.6 Objektivität Glaubwürdigkeitsproblem
Motivationen
Anerkennung und Arbeitformen
Offenen Systemen wird Misstrauen entgegengebracht. Der Verzicht auf eine zwischengeschaltete (Qualitäts-)Kontrolle lässt viele an der Glaubwürdigkeit der Informationen zweifeln. Dies zunächst weniger wegen der eben vorgestellten weltanschaulichen Dimension. Misstrauen besteht darin, ob die breite Masse überhaupt das Wissen habe, um etwas Vertrauenswürdiges zu Wege zu bringen. Zudem ist es nur schwer nachprüfbar, von wem die Informationen letztlich kommen. Haben die postmodernen Theoretiker Recht, wenn sie hier vom Verschwinden des Autors sprechen? Im Netz ist es leicht, eine andere Identität anzunehmen – erinnert sei nur an die eingangs erwähnten „Sockpuppets“. Weiter sind bei kooperativ geschriebenen Texten einzelne Autorinnen und Autoren oft nicht mehr auszumachen. Und nach den bisherigen Ausführungen über die politische Dimension des Wiki-Phänomens: Handelt es sich nicht um einen Prozess von Manipulation und Gegenmanipulation? Die Frage ist ernst zu neh29 men. Wie ist Objektivität und Qualität erreichbar? Beginnen wir mit den Beweggründen der Wiki-Autoren. Das Problem des Vandalismus ist eingangs beschrieben worden. Destruktive Praktiken von anonymen Nutzern sind ein bleibendes Problem von offenen Systemen. Interessant ist jedoch, aus welchen Motiven Autoren auf eine Namensnennung verzichten. Bei Wikis sind ähnliche Prozesse zu beobachten, wie sie schon in der Freien-Software-Community und in der Kritischen Informatik diskutiert wurden. In den offenen Prozessen verschwinden die Autoren nicht – ganz im Gegenteil. Innerhalb der Communities finden viele 29
Inwieweit die klassischen Massenmedien in ihrer heutigen Form „objektiv“ sind, ist nicht Gegenstand dieses Buches.
376
■ ■ ■
22 Werkzeuge mit Zukunft? Technische und soziale Perspektiven mit Wikis
Anerkennung und Arbeitsformen, die ihnen das Berufsleben so häufig nicht bietet. Beispielsweise bieten die Wikimedia-Projekte wie schon die Freien-Software-Initiativen ein selbstbestimmtes Arbeiten in einem sinnvollen, gemeinwohlorientierten Projekt. Anerkennung und die Tatsache, dass die eigenen Beiträge wahrgenommen und diskutiert werden, motivieren an dem Projekt weiterzuarbeiten. Dies bedeutet aber auch, dass die meisten Texte von Wikipedia keineswegs in der Anonymität entstehen. Vielmehr – wir werden gleich die Zahlen sehen – entsteht eine Gruppe von Leuten, die sich gegenseitig kennen und Vertrauen zueinander aufbauen. Dies ist allgemein übertragbar: Bei der Beurteilung von offenen Systemen darf nicht der konkrete soziale Zusammenhang vergessen werden, der dahinter steht. Guter Wille reicht nicht. Deswegen müssen auch Wiki-Systeme Überprüfungsmöglichkeiten und Konventionen entwickeln, die die Nachprüfbarkeit und Nachvollziehbarkeit fördern. Wieder muss Wikipedia, für die ein Bündel von Maßnahmen entwickelt wurde, als Beispiel dienen. Zunächst sehen sich viele Menschen die Artikel der Enzyklopädie an. Im Idealfall ändern sie sofort Unstimmigkeiten. Weiter überprüfen Admins Änderungen von Artikeln. Die Recent-Changes-Funktion gibt hier schnellen Überblick. Zudem stehen häufig beschädigte Seiten unter besonderer Beobachtung. Dieser permanente Aufwand ist der Preis eines offenen Systems. Des Weiteren wurden Konventionen zur Sprache, Methodik und inhaltlichen Ausgewogenheit vereinbart. Beispielsweise, inwieweit jede Meinung in dem Artikel genannt werden soll. An dieser Stelle führt die Wikipedia-Community ihre Auseinandersetzung zum Verhältnis von Objektivität und Parteilichkeit, der für den Umgang mit jedem anderen Medium gleichermaßen gilt. Die Rede ist von der Diskussion um den Neutral Point of View (NPVO). Grundsätzlich wird der Standpunkt vertreten, dass Artikel in Wikipe30 dia das Prinzip des neutralen Standpunkts berücksichtigen sollen. Dies bedeutet zunächst ein Minimum an Qualitätsmaßnahmen und Einhalten bestimmter Formalien: Sachlich gehaltene Sprache, ein berichtender Standpunkt und indirekte Rede. Aus „Picasso war der
Qualitätssystem
NPOV
30
„Soweit irgend möglich, sollte der Autor von Enzyklopädieartikeln versuchen, beim Schreiben einen neutralen Standpunkt einzunehmen. Dies gehört zum Prüfstein eines guten Artikels. Durch Einnehmen eines neutralen Standpunkts wird versucht, Ideen und Fakten in einer Weise zu präsentieren, dass sowohl Gegner als auch Befürworter einer solchen Idee deren Beschreibung akzeptieren können. Er fordert nicht die Akzeptanz aller: dies wird man selten erreichen, da manche Ideologien alle anderen Standpunkte außer ihrem eigenen ablehnen. Daher sollte das Ziel darin bestehen, eine für alle rational denkenden Beteiligten akzeptable Beschreibung zu formulieren.“ http://de.wikipedia.org/wiki/Wikipedia:Neutraler_Standpunkt, 11. 1. 2005.
22.2 Wiki-Technologie als Motor gesellschaftlichen Wandels?
■ ■ ■
377
Unterschiedliche Positionen
größte Maler des 20. Jahrhunderts“ wird „Picasso wird in der Kunstwelt als einer der größten Maler des 20. Jahrhunderts angesehen.“ Weiter geht es um die Wiedergabe verschiedener Positionen. Ein 31 Artikel „should fairly represent all sides of a dispute“. Die englische Wikipedia betont, dass ein objektiver Standpunkt nicht möglich ist. Die englische Ausgabe repräsentiert ein größeres Problembewusstsein in der Frage. Eine Motivation ist, keine Wahrheiten zu verkünden. Man möchte den Leserinnen und Lesern die Möglichkeit geben/lassen, ihre eigenen Entscheidungen zu treffen und sich selbst Gedanken zu machen. Dieser Gesichtspunkt kann aber auch ungewollt zu Relativierungen führen, wie z. B. dieser: “Holocaust denial is the claim that the mainstream historical version of the Holocaust is either highly exaggerated or completely falsified. Experts, witnesses, and historians almost universally regard Holocaust denial as untrue. Holocaust deniers prefer to be called Holocaust revisionists. Most people contend that the latter term is misleading.”32
Absolute Neutralität nicht möglich
Kritische Theorie
Unter den Wikipedia-AutorInnen wird der NPOV unterschiedlich ausgelegt. Einige halten eine objektive Darstellung für möglich, oder wollen dem Problem nur mit einer einfachen Methodik begegnen. Anderen ist klar, dass ein neutraler Standpunkt auch in einer Enzyklopädie unmöglich ist: “We can only seek a type of writing that is agreeable to essentially rational people who may differ on particular points. “(Jimmy Wales) Trat früher die Wissenschaft mit dem Anspruch auf, objektiv zu sein, setzte sich im letzten Jahrhundert die Auffassung durch, dass 33 jede Aussage zunächst selektiv ist. Bereits in der Auswahl des Themas, der Begriffe, der Erklärungsmuster und Modelle steckt eine Auffassung. Historisch wissen wir, dass Wörterbücher immer Ausdruck des Wissens einer bestimmten Zeit und einer bestimmten Schicht (i. d. R. des Bildungsbürgertums) sind. Die Kritische Theorie hat versucht, dieses Dilemma insoweit in den Griff zu bekommen, dass sie u. a. darauf hinweist, dass der subjektive Mensch die objektiven Verhältnisse schaffe. Sie hält objektive Erkenntnisse aus den Widersprüchen der Verhältnisse für erkennbar. Die Gegensätze liegen in der Sache selbst. Sehr einfach gesagt, ergibt sich aus der Differenz zwischen dem, was ist und dem, 31
http://en.wikipedia.org/wiki/NPOV, 15. 1. 2005. http://en.wikipedia.org/wiki/Holocaust_denial, 15. 1. 2005. 33 Extreme Postmodernisten treiben dies bis zum Relativismus. Bzw. alles ist konstruiert. 32
378
■ ■ ■
22 Werkzeuge mit Zukunft? Technische und soziale Perspektiven mit Wikis
was sein könnte ein Maßstab, an dem individuelle Praktiken und Vorstellungen „gemessen“ werden können – eine Sichtweise, die auch im Rahmen von Publikationen in Wikis Anwendung finden kann. Die Diskussion über Objektivität könnte durch die Berücksichtigung der Kritischen Theorie gewinnen. Was tun um weitestgehende Objektivität zu erreichen? 1.
Ob wir wollen oder nicht, Subjektivität ist Voraussetzung zu Objektiver Erkenntnis. Objektivität ist nicht Wertfreiheit. Wer objektiv sein möchte, muss einen Standpunkt haben und sagen können, wohin er will. Erst dann sind Aussagen diskutierbar. Wichtig ist die Nachprüfbarkeit und logische Argumentation, das Messen an proklamierten Zielen und deren Einhaltung.
Parteilichkeit
2.
Streben nach Objektivität bedeutet immer Selbstaufklärung. Dies bedeutet beispielsweise danach zu fragen, wer eine Wikisoftware nutzt. Denn selbst wenn die Neuen Medien klassische Gesellschaftsschichtungen tendenziell aufsprengen, so ist bislang die Nutzung des Internets von erheblichen sozialen Un34 gleichheiten geprägt. Dies ist in Wikis zunächst nicht anders. Laut Wales machen 10% der Nutzer von Wikipedia 80% der Bearbeitungen und 5% machen 66% der Bearbeitungen. Und so werden trotz der Offenheit des Systems Kerngruppen von Autorinnen und Autoren erkennbar. Untersuchungen dazu stehen noch am Anfang und müssen vertieft werden. Mit einer genaueren Kenntnis dieser Zusammenhänge ist besser einzuschätzen, welche Projekte von welchen sozialen Gruppen betrieben werden und welche Positionen sie dabei vertreten. Was ist ihre gesellschaftliche und historische Lage, aus der heraus gehandelt wird? Unter dieser Voraussetzung ist zu klären, inwieweit Teilinteressen oder Gesamtinteressen vertreten werden. Dazu bedarf es zusätzlich genauerer Kenntnisse über die Soziologie von Gruppenprozessen.
Sociographics
3.
Wie schon aus unserem Schichtenmodell im ersten Abschnitt hervorgeht, sind auch Wikis intern keine herrschaftsfreien Räume. Es gibt unterschiedliche Machtverhältnisse, die sich beispielsweise auf Zugriffsrechte stützen. Zudem kreuzen sich reale Machtverhältnisse (Eigentum, Beschäftigungsverhältnisse, kapitalistische Ordnungsstrukturen…) Auch dies gilt es zu beachten.
Machtgefälle im Wiki
34 Zur Ungleichheit des sozialen Nutzerprofils und Machtverhältnissen im Netz vgl. u. a. Rilling 2004.
22.2 Wiki-Technologie als Motor gesellschaftlichen Wandels?
■ ■ ■
379
22.2.7 Fortschritt? Problematischer Fortschritt
Erste Schritte
Beginn
Fortschritt ist spätestens im 20. Jahrhundert zu einem problematischen Begriff geworden. So schreibt Walter Benjamin: „Marx sagt, die Revolutionen sind die Lokomotiven der Weltgeschichte. Aber vielleicht ist dem gänzlich anders. Vielleicht sind die Revolutionen der Griff des in diesem Zug reisenden Menschengeschlechts nach der Notbrem35 se.“ Seine Kritik richtet sich gegen entfremdete Lebensweisen, die darauf bauen, dass sich historischer Wandel mit oder ohne den Eingriff des Menschen vollzieht. Seine Utopie ist derer vieler Free-SoftwareEntwickler sehr ähnlich. Es geht um die Herausbildung einer wirklich selbstbestimmten Lebensweise. Dies bedeutet, dass die Vorstellung darüber, was unter Fortschritt zu verstehen ist, immer wieder neu gedacht und vereinbart werden muss. Dabei werden sich Schwerpunkte gesellschaftlicher Arbeit verschieben. Wir sehen am Beispiel der Wiki-Communities, dass der erste Schritt sehr klein ist. Enzensberger merkt an, jede sozialistische Strategie der Medien müsse danach trachten, die Isolation der einzelnen Teilnehmer in gesellschaftlichen Lern- und Produktionsprozess aufzuheben. „Dies ist ohne Selbstorganisation der Beteiligten nicht mög36 lich. Dies ist der politische Kern der Medienfrage.“ Das WikipediaProjekt scheint die Bedingungen eines Wandels neu auszuloten. Wichtig ist u. a. die gegenseitige Anerkennung des Gegenübers als vernunftbegabtes – und man möchte hinzufügen: nicht konkurrierendes – Wesen. Die enormen Schwierigkeiten, die damit verbunden sind, können nicht übersehen werden. Wo sind die Grenzen der Akzeptanz? Von Fortschritt könnte vielleicht gesprochen werden, wenn Wikis ein wirkliches Kollaborations- und Integrationsmedium über bestimmte soziale Gruppen hinaus werden. Aber wenn Kollaboration, dann mit welchem Ziel? Wikis sind faszinierende Werkzeuge, doch keine Allheilmittel. Sie müssen immer wieder neu mit Ideen gefüllt werden, um das Fernziel der freien Entwicklung eines einzelnen als Bedingung für die freie Entwicklung aller ansteuern zu können. In der Wiki-Welt ist dies schon heute in vielen kleinen Bereichen verwirklicht.
35 36
380
■ ■ ■
Benjamin GS, I, 1231. Enzensberger 1970, 169.
22 Werkzeuge mit Zukunft? Technische und soziale Perspektiven mit Wikis
Anhang
A Installationen rund ums TWiki
Cygwin Um Cygwin manuell aus dem Netz zu installieren, gehen Sie wie folgt vor: ■
Starten Sie die Datei setup.exe auf der CD im Verzeichnis cygwin.
■
Wählen Sie „Install from Internet
■
Als nächstes müssen Sie das Installationsverzeichnis angeben.
■
Stellen Sie sicher, dass der „Default Text File Type“ auf „Unix“ gestellt ist. Cygwin sollte auch für alle Nutzer eingerichtet werden.
■
Geben Sie ein Verzeichnis an, in dem die Installationsdateien gespeichert werden. Sie müssen nun einige Angaben zu Ihrer Internet-Verbindung machen und daraufhin einen Server aus einer Liste auswählen, von dem die Quelldateien geholt werden sollen.
■
Nun sehen Sie ein Auswahlfenster, in dem Sie die Komponenten bestimmen können, die installiert werden sollen. Einige Da-
Cygwin
■ ■ ■
383
teien sind schon markiert, einige müssen Sie jedoch manuell kennzeichnen. Die folgende Tabelle zeigt die Programme, die Sie für die hier beschriebene Einrichtung und den Betrieb des TWikis benötigen und die daher ausgewählt werden müssen. Sie erkennen eine markierte Komponente daran, dass in der Zeile anstelle von „n/a“ eine Versionsnummer angezeigt wird. Name Archive unzip Base bash coreutils
Entpacken von .zip-Dateien.
+ +
Kommandozeileninterpreter unter UNIX. Hier: Werkzeuge zum Bearbeiten von Textdateien. Findet die Unterschiede zwischen Dateien. Suche nach spezifizieren Mustern in Zeichenketten und Dateien. GNU Komprimierungsprogramm. GNU Archivierungsprogramm.
+ +
gzip tar Devel binutils gcc
+ + -
make
-
Web wget
■ ■ ■
-
diffutils grep
pcre rcs Editors nano Interpreters perl Libs w32api Net ncftp
384
sel. Funktion
-
GNU Assembler und Linker. C-Compiler – Nötig zur Installation zusätzlicher Perl-Komponenten. Make-Tool – Nötig zur Installation zusätzlicher Perl-Komponenten Perl-Bibliothek für reguläre Ausdrücke. Versionierungs-Software.
-
Einfacher Texteditor.
-
Interpreter der Scriptsprache Perl .
+
Zugriff auf Windows-Funktionen.
-
FTP-Programm – Nötig zur Installation zusätzlicher Perl-Komponenten.
-
Download von Dateien aus dem Internet – alternative zu ncftp.
A Installationen rund ums TWiki
■
Wenn Sie fertig sind, klicken Sie auf Weiter. Nun werden die erforderlichen Dateien ins Installationsverzeichnis kopiert und eingerichtet.
■
Als letztes können Sie noch angeben, ob Sie Symbole auf dem Arbeitsplatz und im Startmenü haben wollen. Damit ist die automatische Installation von Cygwin abgeschlossen.
Perl Leider fehlen in einigen Perl-Installationen Module, die das TWiki oder seine Plugins zum reibungslosen Betrieb benötigen. Diese müssen also nachgeladen werden. Dafür gibt es das Programm CPAN, welches beim ersten Aufruf zunächst eingerichtet werden muss. Achtung: CPAN benötigt zur Installation der neuen Module einen Internetzugang! Unter Cygwin müssen Sie zunächst noch folgende Zeile eingeben: export TEMP=/c/temp Jetzt starten Sie in Cygwin wie Linux CPAN mit cpan Beim ersten Aufruf muss CPAN erst konfiguriert werden. Das bedeutet, es erwarten Sie eine Menge Fragen, die Sie alle mit <ENTER> quittieren können, bis Sie gefragt werden, in welchem Gebiet der Welt Sie sich befinden. Geben Sie hier die Zahl für „Europe“ ein und bei der nächsten Frage die Zahl für „Germany“. Jetzt sehen Sie eine Liste mit Servern, die Sie auswählen können, indem Sie eine oder mehrere Nummern durch Leerzeichen getrennt eingeben. Nun sollten Sie den Prompt cpan> sehen. Das Programm ist bereit und Sie können die fehlenden Module mit dem Befehl install einrichten. Das TWiki benötigt beispielsweise die folgenden drei Pakete: install Net::SMTP install Digest::SHA1 install MIME::Base64 Damit ist Perl für alle Eventualitäten des TWiki-Betriebs ausgestattet. Sie verlassen CPAN mit dem Befehl exit.
Perl
■ ■ ■
385
Shebang Die Perl-Skript-Dateien müssen so angepasst werden, dass sie auf den Perl-Interpreter verweisen. Dadurch „weiß“ der Webserver, was er mit der Datei anfangen kann. Unter UNIX ist es möglich, den Typ einer Datei bzw. das Programm, mit dessen Hilfe sie ausgeführt werden soll, am Anfang des Dokuments in der so genannten Shebang-Zeile anzugeben. In unserem Fall muss diese also auf den PerlInterpreter zeigen. Die Skripte des TWiki sind standardmäßig so eingestellt, dass sie auf den unter Linux üblichen Pfad von Perl zeigen. Sie müssen also unter Windows sehr wahrscheinlich angepasst werden. Verwenden Sie dazu die Cygwin-Shell. Der gezeigte Weg ist aber auch unter Linux gültig. Wechseln Sie zunächst ins Verzeichnis bin und erstellen Sie ein Backup für den Fall, dass etwas nicht gleich funktioniert: cd /twiki/bin mkdir .backup cp * .backup Mit dem Befehl head -1 view können Sie sich die aktuelle Shebang-Zeile des view-Skripts ausgeben lassen. Das folgende Perl-Kommando ändert die Zeilen aller Dateien im Verzeichnis. Der Perl-Pfad ist dabei der gesamte Pfad in Unix-Notation inklusive des Namens des Programms, also „perl“. In unserem Beispiel ist dieser c:/cygwin/bin/perl. perl -pi~ -e 's;#!/usr/bin/perl;#!perlpfad;' *[a-z]
Wenn Sie sich nun noch einmal die ersten Zeilen ausgeben lassen, sollte der neue Pfad erscheinen. Ansonsten löschen Sie die Dateien und holen sich die Sicherungskopien aus .backup um es noch mal zu versuchen: rm * cp .backup/* .
386
■ ■ ■
A Installationen rund ums TWiki
Wenn die Änderung erfolgreich war, können Sie die BackupDateien und das Verzeichnis wieder entfernen: rm .backup/* rmdir .backup
RCS-Eigentümer ändern Zur manuellen Anpassung der RCS-Locks in der Cygwin- bzw. Bash-Shell wechseln Sie zunächst ins Daten-Verzeichnis und machen Sie eine Sicherungskopie der Dateien: cd /twiki/data tar czvf alles.tar.gz */* Ändern Sie nun den Eintrag für den Eigentümer mit folgendem PerlBefehl (alles in einer Zeile): perl -pi~~~ -e 'NR