Aus Linux-Magazin 04/2008

Wiki-Software im Test

© jlokij, photocase.com

Wikis lassen sich schnell und von überall aus mit Inhalt füllen. Die verbreitetste Lösung – Mediawiki – ist ausgereift, aber auf ein bestimmtes Szenario hin optimiert. Twiki und Wiki on a Stick sind vielversprechende Alternativen für den Unternehmenseinsatz und als persönlicher Notizblock.

User-generated Content ist eines der Schlagwörter des Web 2.0. Dahinter verbergen sich Video- oder Fotoportale wie zum Beispiel Youtube und Flickr, unzählige Blogs und last but not least Wikis wie die freie Online-Enzyklopädie Wikipedia oder das Meatball-Wiki. Der Gedanke, der hinter öffentlich editierbaren Wikis steckt, ist, dass sich eine hohe Produktivität einstellt, wenn jeder Leser auch gleichzeitig Schreibzugriff hat. Das Prinzip der gegenseitigen Kontrolle vieler Benutzer (Peer Review) soll dafür sorgen, dass sich gleichzeitig der qualitativ beste Inhalt durchsetzt.

Schnell, schnell

Die wichtigste Voraussetzung dafür, dass das Wiki-Prinzip funktioniert, verrät schon der Name: Wiki ist das hawaiianische Word für “schnell”. Angeblich soll den Entwickler der ersten Wiki-Software, Ward Cunningham [1], die mit “Wiki Wiki” überschriebene Hinweistafel zum Shuttle-Bus am Flughafen Honolulu auf den Namen für seine Software gebracht haben. Wikis werden diesem Anspruch gerecht, indem sie HTML-Seiten eine Bearbeiten-Funktion hinzufügen.

Mediawiki

Mediawiki ist dank seines Einsatzes bei Wikipedia (Abbildung 1) die wohl bekannteste und am besten getestete Wiki-Software. Zwar listet Secunia seit der Entstehung von Mediawiki einige Sicherheitslücken [2], doch im Vergleich mit umfangreichen Contentmanagement-Systemen oder Blogservern wie WordPress hält sich ihre Zahl in Grenzen. Sicherheitsupdates erschienen bisher meist alle zwei bis drei Monate.

Abbildung 1: Praxistauglich und im Dauereinsatz bewährt: Mediawiki ist stabil und gut zu bedienen, aber nicht auf den Unternehmenseinsatz zugeschnitten.

Abbildung 1: Praxistauglich und im Dauereinsatz bewährt: Mediawiki ist stabil und gut zu bedienen, aber nicht auf den Unternehmenseinsatz zugeschnitten.

Mit Mediawiki erstellte Seiten bieten etwa denselben Gestaltungsspielraum, den die Schöpfer von HTML in der Urzeit des Internets anvisierten: hierarchisch geordnete Überschriften in sechs Ebenen, kursiven und fetten Text sowie Grafiken, die sich links- oder rechtsbündig anordnen lassen. Auf Wunsch erzeugt die Software eine verkleinerte Vorschau. Auch nummerierte und nicht nummerierte Listen beherrscht der Editor. Außerdem kennt er Fußnoten.

Mediawiki verwaltet Bild- und Sounddateien. Die Software ist jedoch kein Document Management System, hochgeladene Dateien lassen sich nicht verschlagworten oder unterschiedlichen Kategorien zuweisen.

Keep it simple

Der Editor des Mediawiki arbeitet nicht nach dem Wysiwyg-Prinzip: Formatierungen wie kursive Schrift oder die Auszeichnung als Überschrift wählt der Benutzer mit Hilfe von umschließenden einfachen Anführungszeichen oder Gleichheitszeichen aus (Abbildung 2). Das ist zwar weniger intuitiv als die Formatierung über Buttons, mit etwas Übung geht es jedoch schneller, als zur Maus zu wechseln, Textstellen zu markieren und auf einen Button zu klicken. Außerdem ist der Editor zuverlässig auf jedem noch so alten oder ungewöhnlichen Browser nutzbar. Das Mediawiki-und-Fckeditor-Projekt [3] bindet den bekannten Javascript-Wysiwyg-Editor in die Wiki-Software ein.

Abbildung 2: Das Wiki-Prinzip: Formatierte HTML-Seiten entstehen mit Hilfe von Formatierungscodes (siehe Hervorhebung). Anders als bei Wysiwyg-Editoren funktioniert dies zuverlässig mit allen Webbrowsern.

Abbildung 2: Das Wiki-Prinzip: Formatierte HTML-Seiten entstehen mit Hilfe von Formatierungscodes (siehe Hervorhebung). Anders als bei Wysiwyg-Editoren funktioniert dies zuverlässig mit allen Webbrowsern.

Mediawiki erlaubt auch die direkte Eingabe einiger HTML-Tags, darunter Formatierungen mit CSS. Ist die Variable »$wgRawHtml« in der Konfigurationsdatei »LocalSettings.php« gesetzt, so übernimmt die Software HTML-Code ungeprüft, was allerdings nur in vertrauenswürdigen Umgebungen praktikabel ist. Mehr Sicherheit verspricht die Secure-HTML-Extension [4].

Pro und Kontra

Das Prinzip, jedem Besucher Schreibzugriff zu gestatten, wirkt nur dann konstruktiv, wenn sich falsche oder gar böswillige Änderungen mit Hilfe einer leistungsfähigen Versionsverwaltung rückgängig machen lassen. Eine Diff-Anzeige vereinfacht bei Mediawiki den Vergleich von Versionen (Abbildung 3). Editieren zwei Bearbeiter zur gleichen Zeit die gleiche Textstelle, warnt Mediawiki vor dem Speichern und stellt die in Konflikt stehenden Versionen ebenfalls in einer Diff-Anzeige gegenüber.

Abbildung 3: Online-Kooperation: Schreiben zwei Benutzer konkurrierende Änderungen auf eine Wiki-Seite, stellt Mediawiki die Überschneidung mit einer Diff-Anzeige übersichtlich grafisch dar. Für die Absprache zwischen den Bearbeitern gibt es zu jeder Seite ein Diskussionsforum.

Abbildung 3: Online-Kooperation: Schreiben zwei Benutzer konkurrierende Änderungen auf eine Wiki-Seite, stellt Mediawiki die Überschneidung mit einer Diff-Anzeige übersichtlich grafisch dar. Für die Absprache zwischen den Bearbeitern gibt es zu jeder Seite ein Diskussionsforum.

Eine Reihe von Spezialseiten hilft bei der Pflege der Wiki-Struktur. Mit ihnen findet der Administrator Seiten, die über keinen Link erreichbar sind, hochgeladene, aber nirgends eingebundene Mediendateien, seit Längerem nicht mehr bearbeitete Seiten und kurze, also vermutlich unvollständig Seiten.

Was Mediawiki für den Einsatz in größeren Firmen jedoch fehlt, ist eine feingranulare Zugriffssteuerung. Der Lese- oder Schreibzugriffschutz für einzelne Seiten differenziert nur zwischen anonymen und angemeldeten Besuchern und Administratoren. Schreib- oder Leserechte auf der Basis von Gruppen ermöglicht erst eine Erweiterung [5].

Die Entwickler weisen jedoch darauf hin, dass der gruppenbasierte Zugriffsschutz den Designprinzipien von Mediawiki entgegenläuft und sich deswegen als nicht vollständig sicher erweisen könne. Eine andere Erweiterung erlaubt die Übernahme von Benutzeraccounts aus LDAP-Verzeichnissen [6].

Auf dem Server

Die Installation der Software auf dem Server erfordert wenig Aufwand. Der Administrator entpackt das Programmarchiv und legt eine leere MySQL- oder PostgreSQL-Datenbank an. Die wichtigsten Einstellungen fragt ein Installationsskript im Browser ab. Es erzeugt auch die Datenbanktabellen. Liegt ein Datenbankaccount mit Administrator-Rechten vor, übernimmt der Installer auch das Anlegen der Datenbank und eines Benutzers mit minmalen Rechten.

Zur Performancesteigerung cacht Mediawiki einmal erzeugte Seiten, das Puffern funktioniert allerdings nur für die Zugriffe nicht angemeldeter Besucher. Zusätzlich kann die Software das Objektcache-System Memcached nutzen. Auf Mediawiki.org finden sich etwa 200 Extensions, die Funktionen für das vereinfachte Einbinden von Youtube-Seiten oder eine Erweiterung der Diskussionsseiten um Threads sorgen.

Twiki

Der Erfolg des Internets beruht sicherlich zu einem guten Teil auf den Hypertextverknüpfungen, denen der Seitenbesucher mit einem Mausklick folgt. Wikis übernehmen dieses Erfolgsprinzip. Ein Hyperlink verknüpft genau zwei Orte. Die Stärke dieser binären Verknüpfungen liegt in ihrer Flexibilität. Hierarchische Strukturen, zum Beispiel Gliederungen mit mehreren Ebenen, lassen sich jedoch mit Hyperlinks allein nicht abbilden. Hierfür sind noch zusätzliche strukturierende Mittel nötig.

In Form gebracht

In der Präsentation seiner Wiki-Software Twiki [7] führt Peter Thoeny den Begriff “Strukturiertes Wiki” ein. Die Zielvorstellung umreißt er mit dieser Formel: In freier Form Inhalte zusammentragen und nach Bedarf Strukturen hinzufügen. Twiki bietet zahlreiche Hilfmittel, die das Auffinden von Information innerhalb eines über Hyperlinks zunächst “weich” strukturierten so genannten Wiki-Webs erleichtern: Eine Twiki-Installation lässt sich ohne Administrationsaufwand auf dem Server in mehrere Webs untergliedern. Webs dürfen hierarchisch voneinander abhängen und lassen sich auch nachträglich noch umbenennen oder in der Hierarchie verschieben.

Eine so gennannte Breadcrumb-Zeile am oberen Seitenrand visualisiert wie ein Dateimanager den Link-Pfad von der Startseite aus (Abbildung 4). Kritisch dabei ist, dass sich der Breadcrumb-Pfad beim in der Praxis häufig auftretenden Fall, dass mehrere Linkpfade zu einer Seite führen, aus der Reihenfolge des Erstellens der Seiten ergibt und nicht unbedingt der Logik folgt. Über die Einstellungen »Topic parent« und »Child topics« lässt sich die Seite in der Hierarchie jedoch per Hand neu einordnen.

Abbildung 4: Klar gegliedert: Der Pfad am oberen Seitenrand ordnet jeder Seite ihren Platz im Wiki-Web zu.

Abbildung 4: Klar gegliedert: Der Pfad am oberen Seitenrand ordnet jeder Seite ihren Platz im Wiki-Web zu.

Zahlreiche Plugins, etwa Tagme, das Seiten unabhängig vom enthaltenen Text mit Schlagwörter auszeichnet, oder ein Report-Plugin, das aus SQL-ähnlichen Abfragen formatierte Ergebnislisten erzeugt, eröffnen weitere Möglichkeiten, die Inhalte eines Wiki aufzubereiten. Das bereits in der Standardinstallation enthaltene Spreadsheet-Plugin [8] erweitert das Wiki zu einer Tabellenkalkulation. Ebenfalls im Lieferumfang enthalten ist ein Wysiwyg-Editor-Plugin. Das ist der Standardeditor, ein Klick auf einen Button schaltet jedoch zu einem ähnlich wie in Mediawiki funktionierenden Wikicode-Editor um, in dem der Benutzer Formatierungen über Steuerzeichen auswählt.

Wie Mediawiki prüft Twiki, ob ein anderer Benutzer die Seite bereits zum Bearbeiten geöffnet hat. Der Konflikt-Check funktioniert aber nicht, wenn zwei unter dem gleichen Benutzernamen angemeldete Anwender am Werk sind. Dafür warnt Twiki anders als Mediawiki nicht erst beim Speichern der Seite, sondern bereits beim Öffnen. Eine Liste der mit Twiki ab Version 4.0 getesteten Plugins ist unter [9] veröffentlicht. Darunter findet sich auch eine LDAP-Anbindung, die allerdings nur mit Version 4.1, dem Vorgänger der aktuellen, getestet ist.

Enterprise

Ein weiteres Kernfeature, das Twiki als Enterprise-Wiki auszeichnet, ist seine gruppenbasierte Zugriffkontrolle: Den Lese- oder Schreibzugriff sowie die Berechtigung, Seiten zu verschieben oder umzubenennen, steuern Ein- und Ausschlusslisten auf der Ebene des gesamten Wiki, der Subwebs oder einzelner Seiten (Abbildung 5).

Abbildung 5: Plus für das Unternehmen: Twiki regelt Zugriffsrechte über gruppenbasierte Ein- und Ausschlusslisten. Auf Mausklick spaltenweise sortierbare Tabellen präsentieren Daten und Zahlen übersichtlich.

Abbildung 5: Plus für das Unternehmen: Twiki regelt Zugriffsrechte über gruppenbasierte Ein- und Ausschlusslisten. Auf Mausklick spaltenweise sortierbare Tabellen präsentieren Daten und Zahlen übersichtlich.

Der Wiki-Code von Twiki stellt viele Variablen und Funktionen bereit. Das Spektrum reicht vom einfachen »%USERNAME%«, das es erlaubt, auf Wiki-Seiten Benutzernamen auszugeben, bis zur Funktion »%TOC{“Seitenname” web=”Subweb-Name” title=”Inhaltsverzeichnis:”}%«, die Inhaltsverzeichnisse beliebiger Wiki-Seiten erzeugt.

Auf Twiki.org steht ein Apache-Konfigurationsgenerator, der Twiki als CGI-Anwendung einbindet. Prinzipiell lässt sich die Software per »expert option« auch mit dem für die Performace günstigeren Apache-Modul »mod_perl« betreiben. Im Test funktionierte die erzeugte Konfiguration jedoch nicht auf Anhieb.

Die CGI-Installation gelingt hingegen leicht. Der Administrator muss lediglich das Programmarchiv entpacken, als Eigentümer der entpackten Verzeichnisse den Webserver-Benutzer zuweisen und die online erzeugten Zeilen in die Apache-Konfiguration einfügen. Ein im Browser aufgerufenes Konfigurationsskript, das die meisten Parameter automatisch errät, schließt die Installation ab. Eine Datenbank benötigt Twiki nicht. Wie die Mediawiki-Entwickler veröffentlichen auch die Twiki-Maintainer regelmäßig Sicherheitsupdates [10].

Wiki on a Stick

Die Stärke jedes Wiki liegt in seiner einfachen Bedienung. Auch bei der Installation auf dem Server gibt sich Wiki-Software meist nicht besonders sperrig. Dennoch ist ein zentraler Server Voraussetzung – außer bei Wiki on a Stick [11]. Die Software ist als lokal im Browser zu öffnende DHMTL-Anwendung geschrieben, die sich beim Editieren des Wiki selbst verändert. Räumliche Mobilität entsteht, wie der Name schon andeutet, nicht durch einen Netzdienst, sondern dadurch, dass der Benutzer die Wiki-Datei auf einem Wechselmedium wie einem USB-Stick speichert.

Die Browser quittieren den Versuch einer Datei, ihren eigenen Inhalt zu verändern, mit einer Warnung. Lässt der Benutzer dies jedoch zu, funktioniert Wiki on a Stick zwar in Firefox 1.5, 2 und 3 (im Test Version 2.0.0.12) und im Internet Explorer 5.5, 6 und 7, nicht allerdings im Konqueror und in Safari. Obwohl Wiki on a Stick auch Opera ohne Versionsangabe in der Kompatibilitätsliste aufführt, schlug das Speichern der Änderungen im Test unter Opera 9.25 fehl.

Die Wiki-Software ist im Lieferumfang inklusive enthaltener Beispieldaten etwa 200 KByte groß. Dafür bietet sie beinahe den Funktionsumfang von Mediawiki. Der Editor versteht die üblichen Wiki-Formatierungen inklusive nummerierter Listen und Tabellen. Zum Redaktionsschluss lag die Software in Version 0.9.6B Beta vor.

Erstaunlicherweise lassen sich sogar eigene Grafikdateien in Wiki on a Stick einbetten, ohne dass die Software weitere Dateiein auf die Festplatte schreibt. Sie integriert die Daten vielmehr in die eine HTML-Datei, aus der Wiki on a Stick besteht. Ist eine Datei mit diesem Namen bisher noch nicht eingebunden, öffnet der Browser beim Klick auf den als Platzhalter angezeigten Link den Dialog zum Hochladen.

Was bei der Javascript-Software im Vergleich zu fast allen anderen Wikis fehlt, ist eine Versionsverwaltung. Wiki on a Stick ist als persönlicher Notizblock, nicht als Werkzeug für die Online-Zusammenarbeit konzipiert. Dafür bietet es einen Zugriffsschutz. Da die Daten jedoch lokal und damit für alle mit Zugriff auf den Rechner lesbar vorliegen, ergibt eine reine Passwortabfrage wenig Sinn. Wiki on a Stick schützt seine Daten daher mit einer 256 Bit starken AES-Verschlüsselung, die für sich genommen als sicher gelten kann. Zu Recht machen die Entwickler allerdings darauf aufmerksam, dass bezüglich der Javascript-Umgebung, in der die Anwendung läuft, Vorsicht angebracht ist.

Abbildung 6: In a Nutshell: Wiki on a Stick verpackt Wiki-Funktionalität und Daten wie eingebettete Grafiken in eine einzige HTML-Datei. Als Programmiersprache nutzt es Javascript.

Abbildung 6: In a Nutshell: Wiki on a Stick verpackt Wiki-Funktionalität und Daten wie eingebettete Grafiken in eine einzige HTML-Datei. Als Programmiersprache nutzt es Javascript.

Ungleiche Brüder

Mediawiki bleibt dem ursprünglichen Wiki-Prinzip treu, bei dem alle Benutzer Schreibzugriff auf alle Inhalte haben. Der Editor funktioniert mit Wiki-typischer, auf Steuerzeichen beruhender Formatierung und bietet kein Wysiwyg, funktioniert aber zuverlässig in allen Webbrowsern. Seine Stabilität und Funktionalität hat es in vielen umfangreichen Projekten bewiesen, allen voran Wikipedia, aus dem es hervorging.

Während öffentliches Schreibrecht bei Wikipedia zum Credo gehört, gibt es in Unternehmen manchmal gute Gründe, die Schreibrechte auf Wiki-Seiten differenziert zu verteilen. Wer auf der Suche nach einer für den Unternehmenseinsatz optimierten Wiki-Software ist, findet sie in der Perl-Software Twiki. Außer einer auf Gruppen und Ein- und Ausschluss basierten Kontrolle der Benutzeraktionen bietet es über Hyperlinks hinausgehende Möglichkeiten, das Wiki zu strukturieren. Sie reichen von der für eine schnelle Orientierung nützlichen Breadcrumb, also einem am oberen Seitenrand angezeigten Pfad zu aktuellen Seite, bis hin zu der Fähigkeit, über eine SQL-ähnliche Abfragesprache formatierte Suchergebnisse einzubinden.

Wiki on a Stick überrascht dadurch, dass es alle Softwarefunktionen und sogar vom Benutzer eingebundene externe Grafiken und Dokumente in einer einzigen, sich selbst verändernden HTML-Datei unterbringt, auf die der Anwender mit seinem Browser lokal, nicht über einen Webserver zugreift. Anders als gewöhnliche Wikis handelt es sich bei Wiki on a Stick also nicht um ein Online-Kooperationswerkzeug, sondern um einen persönlichen Notizblock, der jedoch das Wiki-Prinzip nutzt, Inhalte auf verlinkbaren HTML-Seiten mit eingebautem Editor zu sammeln.

Infos

[1] Ward Cunninghams Wiki: [http://c2.com/cgi/wiki?WardCunningham]

[2] Mediawikis Sicherheitslücken: [http://secunia.com/search/?=mediawiki]

[3] Mediawiki-und-Fckeditor-Projekt: [http://mediawiki.fckeditor.net/index.php/Main_Page]

[4] Secure-HTML-Extension: [http://www.mediawiki.org/wiki/Extension:SecureHTML]

[5] Zugriffskontrolle für Mediawiki: [http://www.mediawiki.org/wiki/Extension:Group_Based_Access_Control]

[6] LDAP für Mediawiki: [http://www.mediawiki.org/wiki/Extension:LDAP_Authentication]

[7] Twiki-Überblick: [http://twiki.org/cgi-bin/view/Codev/TWikiPresentation2007x10x22]

[8] Spreadsheet-Plugin: [http://twiki.org/cgi-bin/view/Plugins/SpreadSheetPlugin]

[9] Twiki-Plugins: [http://twiki.org/cgi-bin/view/Plugins/ExtensionsTestedOnTWiki04x00]

[10] Twiki: [http://twiki.org/cgi-bin/view/Codev/TWikiSecurityAlerts]

[11] Wiki on a Stick: [http://twiki.org/cgi-bin/view/Codev/TWikiSecurityAlerts]

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben