Content-Management als Community-Event
Wikis gibt es fast schon seit den Anfängen des WWW. 1995 erfand Ward Cunningham das Wiki-Prinzip, das seitdem in unzähligen Programmen eine mehr oder weniger praxistaugliche Umsetzung gefunden hat.
Die Wiki-Idee ist bestechend einfach: Statt die Webseiten immer selber zu aktualisieren, lässt man die Besucher dabei helfen. Dies, indem sie beim Betrachten der Webseite mit wenigen Klicks in den Editier-Modus wechseln und die Seite bearbeiten können. Damit niemand etwas kaputtmachen kann, werden die Änderungen versioniert, womit sich ältere Versionen einer Seite problemlos wiederherstellen lassen. Einige Werkzeuge bieten zudem eine Rechtevergabe, damit nur autorisierte Benutzer Hand an den Seitenquelltext legen dürfen. Wiki ist hawaiisch und heisst schnell, entsprechend sind die Formatierungsoptionen sowie die Verlinkung auf Einfachheit und Schnelligkeit ausgelegt. Statt HTML-Tags werden einfache Symbole wie ein * oder = zur Formatierung genutzt. Obwohl dieses Prinzip bei allen Wikis gleich ist, unterscheiden sich die Formatierungsdialekte doch von Software zu Software. Bei der Verlinkung wird in der Regel nicht auf eine bestimmte Formatierung, sondern auf die sogenannte CamelCase-Schreibvariante (Binnenversalie) gesetzt. Dabei werden Worte, die nach dem CamelCase-Muster (beispielsweise DasIstEinBeispielLink) geschrieben werden, automatisch in Links umgewandelt.
Die Themenvielfalt der Wikis reicht vom Herrn der Ringe über diverse technologische Themen bis hin zum Fischen. Das wohl bekannteste Wiki ist die Online-Enzyklopädie Wikipedia, die in der deutschen Variante schon über 85'000 Artikel enthält und auf english knapp 270'000 Beiträge zählt. Trotzdem spielen Wikis besonders als Dokumentationsplattform oder Knowledge Base (siehe InfoWeek 08/2004, Seite 45) eine Rolle.
Nachdem Ward Cunningham seine Wiki-Idee in einer ersten Software realisiert hat, wurden unzählige Implementierungen in den verschiedensten Programmiersprachen realisiert. InfoWeek hat die Programme MediaWiki, phpWiki, SnipSnap, TWiki und WakkaWiki ausgewählt und genauer angeschaut.
MediaWiki
MediaWiki wird unter der GNU GPL vertrieben und ist die Software hinter der Online-Enzyklopädie Wikipedia sowie einer Handvoll anderer Seiten.
Voraussetzung ist ein Webserver mit PHP 4.1.2 oder höher sowie MySQL 4.0, wobei auch tiefere Versionen (minimal 3.22.x) funktionieren. Da MediaWiki auf eine hohe Last und viele Seiten ausgelegt ist, wurde auf den Support anderer Back-ends verzichtet. Dafür verfügt die Software über einen Caching-Mechanismus für die ansonsten dynamisch generierten Seiten sowie Unterstützung für den Proxy-Server Squid.
Die Installation geht schnell vonstatten. Nach dem Entpacken des Archivs und dem Setzen der richtigen Schreibrechte muss man nur die korrekten Zugangsdaten für die Datenbank eingeben und einige vom Script bereits ermittelten Pfade absegnen. Nach Absenden des Formulars ist MediaWiki einsatzbereit.
Neben den essentiellen Funktionen eines Wiki bietet MediaWiki eine ausgefeilte Versionierung der Artikel sowohl über das Verschieben als auch Umbenennen der Seiten hinweg, ebenso eine Unterstützung für mehrsprachige Artikel. Entsprechend wurde auch Support für UTF-8 integriert, wodurch auch das Bearbeiten von arabischen und japanischen Texten kein Problem darstellt. Bilder lassen sich nicht nur einbinden, sondern, sofern die Grafikbibliothek GD in PHP zur Verfügung steht, beim Upload automatisch verkleinern. Mathematische Formeln werden mit Hilfe von LaTeX in PNG-Grafiken umgewandelt. Als besonderes Schmankerl werden in den Artikeln auftauchende ISBN ausgewertet und so die direkte Recherche in einer wählbaren Auswahl von Bibliotheken und Online-Buchhandlungen wie Amazon ermöglicht.
Ebenfalls wurde viel Wert auf die Funktionen gelegt, welche für eine bessere Übersicht über die Artikel sorgen sollen. Neben der üblichen Liste der zuletzt geänderten Artikel lassen sich neu angelegte Seiten anzeigen, und auch verwaiste sowie Seiten mit besonders viel oder wenig Text sind schnell aufzufinden. Für die Benutzer ist es möglich, sogenannte Watchlists anzulegen, mit deren Hilfe man beliebig viele Seiten auf Veränderungen hin beobachten kann.
Der Code ist angenehm geschrieben und anständig dokumentiert, womit eigene Erweiterungen kein grosses Problem darstellen sollten, PHP-Kenntnisse natürlich vorausgesetzt. Das Design lässt sich recht problemlos anpassen. Eine Implementierung der Template-Engine Smarty ist für die Zukunft geplant.