Fünf schlanke Wikis ohne Datenbank

Aus LinuxUser 10/2006

Fünf schlanke Wikis ohne Datenbank

Schnell serviert

Für die Dokumentation eines kleinen Projekts oder zum Sammeln von Informationen muss nicht immer ein schwergewichtiges Wiki mit Datenbank dahinter her. Oft tut es auch eine kleinere Lösung, die zum Speichern des Inhalts einfache Textdateien nutzt.

Wikis sind in Mode. Sie erlauben es einer mehr oder weniger großen Gemeinde von Nutzern, Informationen zusammen zu tragen und gemeinsam zu bearbeiten. Nicht immer sind an einem Wiki so viele Menschen beteiligt wie an der Wikipedia [1]. Auch Entwicklern nutzen Wikis zur Koordination und zum Planen, und in der Dokumentation sind sie ein gern gesehenes Hilfsmittel. Sie lehnen sich mit der offnen Arbeitsweise (jeder darf einen Beitrag einstellen oder editieren) an das Prinzip an, das auch die Blogs populär gemacht hat.

Bei überschaubaren Aufgaben bringt allerdings der Einsatz eines großen, Datenbank-basierenden Systems oft mehr Nachteile als Vorteile. Zu aufwändig gerät die Installation und Administration. Auch für kostenlose Webspace-Angebote, die oft keine Datenbank enthalten, bietet sich ein Wiki nur dann an, wenn es die Artikel einfach nur in Textdateien ablegt.

Allerdings stoßen auch die kleinen Wikis an Grenzen: Sie eignen sich für Projekte, in denen höchstens einige hundert Artikel zusammenkommen. Steigt die Zahl der Artikel weiter, sinkt die Verarbeitungsgeschwindigkeit drastisch. Dieser Artikel stellt fünf Wikis vor, die ohne Datenbank auskommen. Im Kasten “Datenbank-gestützte Wikis” finden Sie Links zu drei größeren Wiki-Projekte, die auch mit mehreren tausend Artikeln klarkommen.

Datenbank-gestützte Wikis

Für größere Projekte mit mehreren tausend Seiten taugen die im Artikel vorgestellten Wikis nicht mehr. Wer von vornherein erwartet, dass eine Menge Artikel zusammenkommen und zudem Wert auf eine ausgefeilte Benutzerverwaltung legt, sollte sich für ein Datenbank-gestütztes Wiki entscheiden.

Mediawiki: Das sicherlich bekannteste Wiki, das Basis des Online-Enzyklopädie Wikipedia samt der lokalen Ableger ist. Mediawiki [2] benutzt MySQL als Datenbank.

Wikka Wiki: Das Projekt [3] benutzt ebenfalls eine MySQL-Datenbank zum Speichern der Texte. Darüberhinaus erlaubt die Software das Erweitern über Plugins. Daher eignet sich das Programm vor allem für solche Projekte, bei denen die vollständigen Funktionen zu Beginn noch nicht feststehen.

ErfurtWiki: Dieses Programm [4] versteht sich auf verschiedene Datenbanken und liest auch Flatfiles als Backend ein. Sein Vorteil liegt darin, dass Sie das Aussahen über Plugins, Skins und Extension Module ebenfalls an Ihre individuellen Bedürfnisse anpassen können.

Im Netz finden Sie die Wikimatrix [5], die etliche Wikis mit und ohne Datenbank-Backend auflistet und die Eigenschaften der einzelnen Systeme in einer umfangreichen Tabelle zusammen stellt.

Die Kandidaten

Mit Wikepage, PWP, MoinMoin, PmWiki und Dokuwiki stellt dieser Artikel fünf Wikis vor, an der die Projektmitglieder aktiv weiterentwickeln. Alle Projekte versprechen eine einfache Installation ohne Datenbankkenntnisse. Im einfachsten Falle läuft das System nach dem Auspacken eines Quelltext-Archivs auf dem Webserver. Einige Systeme erlauben ein Anpassen des Aussehen durch Vorlagen oder Makros oder das Erweitern der Funtionalität durch Plugins.

Ein wichtiger Aspekt ist der Zugriffsschutz. Wenn ein Wiki für jedermann offen ist, besteht die Gefahr, dass Zeitgenossen oder Robots das Wiki für Propaganda oder Werbung missbrauchen. Ein Beispiel für den Missbrauch ungeschützter Wikis ist die Homepage von Tipiwiki [6]. Im August 2006 war fast das gesamte Wiki mit Werbelinks zugemüllt, so dass die Seiten bis auf die Einstiegsseite nicht mehr nutzbar waren.

Während Wikis wie Mediawiki eine ausgefeilte, auf eine Datenbank gestützte Benutzerverwaltung mitbringen, die unterschliche Benutzergruppen mit genau definierten Rechten ermöglicht, fehlen diese Möglichkeiten bei den kleinen Wikis häufig. Ebenfalls von Interesse ist der verwendete Wiki-Dialekt, also des Markups zum Erstellen von Auszeichnungen oder Links. Falls später einmal der Wunsch besteht, auf ein größeres System umzusteigen, lohnt es sich zu wissen, inwieweit Sie den Inhalt dazu noch einmal umformatieren müssen.

Wikepage

Das Wiki Wikepage [7] funktioniert nach dem Motto “Auspacken und loslegen”. Die Gesamtgröße des Paktes liegt unter 38 KByte und Autor Sefer Bora Lisesivdin nennt dafür einen guten Grund: Zu Zeiten des Commodore 64 standen dem Entwickler lediglich 38911 Bytes zur Verfügung, und trotzdem existierten lauffähige Programme. Daher, so sein Versprechen, werde der Code von Wikepage nie größer als 38911 Byte. Allerdings arbeitet er an einer Plugin-Schnittstelle.

Wikepage basiert auf dem Code von Tipiwiki [6] und benötigt einen Webserver mit PHP 5.1.4 oder besser. Die Installation setzt lediglich voraus, das Programmarchiv zu entpacken, und schon geht es los. Wikepage lässt sich über Themes verändern und mit Hilfe einer Übersetzungsdatei, die Sie einfach nur in das Basisverzeichnis des Wikis kopieren, mit einer deutschen Oberfläche versehen.

Das Aussehen des Wikis passen Sie mit Hilfe von Themes an Ihre Wünsche an. Eine Reihe fertiger Vorlagen, die als Ausgangspunkt für eigene Experimente dienen könnten, finden sich im Internet [8].

In der Grundkonfiguration steht das Wiki für jeden Besucher offen. Es existiert einen Personal Mode, in dem vor dem Bearbeiten der Seite ein Passwort einzugeben ist. Dieses Passwort gilt für alle Seiten; das Programm erlaubt es nicht, verschiedenen Benutzern unterschiedliche Rechte einzuräumen.

Die Formatierungsoptionen reichen von verschiedenen Textauszeichnungen über Listen bis hin zu einfachen Tabellen. Auch das Integrieren von Bildern in die Wikiseiten haben die Entwickler vorgesehen. Der Wiki-Dialekt weicht allerdings sehr stark von dem der Mediawiki ab; bei der Übernahme der Inhalte in ein anderes Wiki wäre also mit Schwierigkeiten zu rechnen.

Unglücklicherweise sieht es bei Wikepage in Bezug auf Anleitungen oder Handbücher eher dünn aus: Weder auf der Homepage noch im Quelltextarchiv findet sich eine Beschreibung des Markups oder eine Anleitung, wie eigene Themes herzustellen sind.

Abbildung 1: Der einfache Aufbau von Wikepage erlaubt zwar ein schnelles Aufsetzen, aber der Mangel an Dokumentation verhindert ein zügiges Arbeiten.

Abbildung 1: Der einfache Aufbau von Wikepage erlaubt zwar ein schnelles Aufsetzen, aber der Mangel an Dokumentation verhindert ein zügiges Arbeiten.

PWP

PWP [9] speichert die Wikiseiten in Textdateien und benötigt einen Webserver mit PHP ab Version 4.2. Falls PHP5 zu Einsatz kommt, setzt die Software den PHP4-Kompatibilitätsmodus voraus. Auch bei PWP geht die Grundkonfiguration schnell von der Hand: Es genügt das Entpacken eines Quelltextarchives und Aufruf der Index-Seite, schon läuft das Wiki. Änderungen an der Konfiguration nehmen Sie mit Hilfe eines Texteditors an den Konfigurationsdateien vor. PWP formatiert die Bildschirmausgabe mit Hilfe von CSS, was Sie an die eigenen Vorlieben anpassen dürfen.

PWP kennt keine Benutzerverwaltung. Lediglich Funktionen, wie der Export der Wiki-Seiten in statisches HTML versahen die Entwickler mit einem Passwortschutz. Lars Ackermann, Autor von PWP, empfiehlt, als Zugriffsschutz die Mechanismen des Webservers zu nutzen und den Zugriff auf das Wiki über die Datei .htaccess zu begrenzen.

PWP unterstützt zahlreiche Formatierungsoptionen: Textauszeichnungen, Einrückungen, Tabellen und das Einbinden von Grafiken. Grafiken müssen Sie dazu zunächst in einem eigenen Bereich des Wikis, genannt Uploaded Files heraufladen. Anschließend erlaubt die Software dann ein Link auf die Grafiken aus jeder Wiki-Seite heraus. Der Bereich Uploaded Files nimmt auch Dateien anderer Formate auf, die dann allen Benutzern des Wikis zur Verfügung stehen.

Das Wiki benutzt eine Versionskontrolle, in der es alle alten Revisionen der Wikiseiten ablegt und bei Bedarf wiederherstellt. Mit Hilfe eines Diff zeigt es die Unterschiede zwischen zwei Versionen einer Seite übersichtlich an. Bei der Suche nach Informationen hilft eine Volltextsuche über alle Wikiseiten, die auch hochgeladene Textseiten aus dem Bereich Uploaded Files mit einschließt.

Auf Wunsch generiert PWP Reports über die Wikiseiten. Dabei haben Sie die Wahl zwischen hierarchischen Listen, Tabellen, einem Schlagwortindex oder einer Liste, die neben der Überschrift auch die ersten Sätze der Wiki-Seiten enthält. PWP erzeugt auf Knopfdruck Kalender. Für jeden Monat gibt es eine Seite, dazu eine Jahresübersicht. Wie von Mediawiki gewohnt, erzeugt PWP ein Inhaltsverzeichnis aus den Überschriften erster und zweiter Ordnung am oberen Ende der Seite.

Während Sie eine Seite bearbeiten, sperrt PWP diese gegen den Zugriff anderer Autoren. Auf Wunsch exportiert PWP den gesamten Inhalt des Wikis in einen gesondertes Verzeichnis in statische HTML-Seiten. Die englischsprachige Onlinehilfe erklärt ausführlich das von Mediawiki abweichende Markup sowie Installation und Konfiguration von PWP.

Abbildung 2: PWP ist schnell eingerichtet und bietet die wichtigsten Funktionen eines Wikis.

Abbildung 2: PWP ist schnell eingerichtet und bietet die wichtigsten Funktionen eines Wikis.

MoinMoin

MoinMoin [10] ist als einziges hier vorgestelltes Wiki in Python realisiert. Es benötigt zum Funktionieren einen Webserver mit entpsrechendem Python-Support. Zum lokalen Ausprobieren gibt es eine vollständig ohne Webserver lauffähige Version von MoinMoin mit Namen Desktop MoinMoin [11]. Eine weitere lokale Installationsmöglichkeit besteht darin, MoinMoin mit dem integrierten Server zu betreiben. Dies setzt dann lediglich eine funktionierende Python-Installation voraus.

Für ein offenes Wiki, an dem jedoch viele Benutzern gleichzeitig arbeiten, empfiehlt es sich, eines Webservers zu verwenden. Unter [12] beschreiben die Entwickler von MoinMoin verschiedene Szenarien, wie das Programm zum Einsatz kommt. Das Wiki speichert jeden Text in einem Verzeichnis, das nach den Wikiseitennamen benannt ist.

Die Oberfläche von MoinMoin erscheint auf Wunsch auf Deutsch; ein Umschalten der Sprache ist direkt im Wiki möglich. Intern verwendet das Wiki UTF-8 zum Speichern der Texte. Mit Hilfe von Makros und Themes passen Sie das Wiki an Ihre Bedürfnisse an. Auf der MoinMoin-Homepage liegen etliche dieser Makros fertig zum Einsatz bereit.

MoinMoin hat eine Benutzerverwaltung integriert, die eine präzise Rechtevergabe ermöglicht. Zudem sperrt das Programm Seiten während dem Bearbeiten, sodass es nicht zu konkurrierenden Zugriffen kommt. Es ist möglich, Texte umzubenennen. Daher darf der Administrator festlegen, wenn beispielsweise Hilfeseiten oder Texte nicht mehr editierbar sind.

Das Markup ermöglicht Zeichen- und Absatzformatierungen, farbig hervorgehobenen Python-Quelltext, Links innerhalb des Wikis und nach außen, auf Wunsch auch mit erläuterndem Text. Listen und Icons sind ebenfalls dabei. MoinMoin unterstützt Tabellen. Als einziges hier vorgestelltes Programm nutzt es eine Art WYSIWYG-Editor zur Eingabe der Wikitexte. Außerdem erlaubt die Software das Erzeugen von Subpages. Als Besonderheit sticht hervor, dass das System die DocBook-Syntax bei der Eingabe von Text versteht und auf Wunsch auch Wikiseiten nach DocBook exportiert.

MoinMoin speichert alle Versionen eines Textes als Backup. So sind die letzten 100 Versionen über die Versionskontrolle zugänglich, alle anderen über die URL. Ein Diff zwischen zwei Versionen ist möglich, ebenso das Anzeigen der letzten Änderungen an einem Text.

Die letzten Änderungen am Wiki macht MoinMoin über einen RSS-Feed zugänglich. Eine umfangreiche Suchfunktion haben die Entwickler ebenfalls integriert: Diese erlaubt die Suche nach Seitentiteln oder im Volltext und versteht die Eingabe mehrere verknüpfbarer Suchbegriffe sowie den Einsatz logischer Ausdrücke. Das Wiki erstellt Indizes über Titel, Wörter und Kategorien.

Wirklich vorbildlich ist die Auswahl an Hilfstexten und Tutorials. Für jeden Einsatzzweck stehen ausführliche, leicht verständliche Anleitungen zur Verfügung.

Abbildung 4: MoinMoin bringt einen WYSIWYG-Editor zum Bearbeiten der Texte mit.

Abbildung 4: MoinMoin bringt einen WYSIWYG-Editor zum Bearbeiten der Texte mit.

PmWiki

PmWiki [13] speichert die Artikel in einfachen Textdateien. Es benötigt zum Funktionieren einen Webserver mit PHP ab Version 4.1. Es ist in der Grundkonstellation ebenso einfach installiert wie die anderen hier vorgestellten Wikis: Einfach das Quelltextarchiv in ein Verzeichnis auf dem Webserver entpacken, und das Wiki über den Aufruf der Indexseite zu starten. Neben der Server-Version gibt es noch eine Standalone-Variante [14], die – lokal installiert – einen ersten Blick auf das Wiki ermöglicht.

PmWiki erlaubt das Verwenden von Passwörtern für verschiedene Bereiche: Entweder schützen Sie direkt die Wikiseiten vor dem Zugriff, oder Sie erlauben das Editieren nur einer bestimmten Anwendergruppe. Das Einteilen der Benutzer in solche Gruppen ermöglicht eine genau Zugriffssteuerung auf das Wiki.

Das Programm unterstützt das Anpassen an die jeweilige Landessprache. Dazu kopieren Sie den Inhalt der gewünschten Sprachdatei aus dem Netz [15] in zwei Verzeichnisse innerhalb des Wikis und passen die Konfigurationsdatei manuell an. PmWiki unterstützt dabei UTF-8.

Das Aussehen des Wikis steuern Sie über CSS oder Skins, ein entsprechendes Addon eröffnet die Möglichkeit, Skins interaktiv zu erstellen und für jeden Benutzer seperat ein solches einzurichten. Zur Interaktion mit Benutzern gibt es Addons für Gästebücher und Foren.

Die Formatierungsmöglichkeiten der Wiki-Seiten sind ausreichend: Neben den üblichen Zeichen- und Absatzformaten bietet PmWiki Listen, Tabellen und Bildintegration an. Ein spezielles Addon zeigt Bilder skaliert an. PmWiki bietet eine Druckansicht der Artikel, in es die Menüs sowie Kopf- und Fußzeilen ausblendet.

Bei der Dokumentation gibt sich das Projekt beinahe vorbildlich: Es liefert Anleitungen und Handbücher zu Installation und Betrieb des Wikis mit. Die Anleitungen heißen Cookbooks und sind zum Teil auch auf Deutsch verfügbar.

Abbildung 5: PmWiki ist ein gut ausgestattetes und ausführlich kommentiertes Wiki.

Abbildung 5: PmWiki ist ein gut ausgestattetes und ausführlich kommentiertes Wiki.

Dokuwiki

Das Dokuwiki [16] funktioniert vom Start weg als offenes Wiki. Wie bei den anderen Projekten entpacken Sie lediglich das Quelltextarchiv in ein Verzeichnis auf dem Webserver und legen dann sofort los. Wollen Sie das Feature Access Control List nutzen, um den Zugriff auf das Wiki zu kontrollieren, bearbeiten Sie nach der Installation die entsprechenden Textdateien conf/dokuwiki.php beziehungsweise conf/local.php bearbeiten und darin einen Adminstrator nebst Passwort definieren.

Das Aussehen des Wikis passen Sie über Vorlagen an die eigenen Wünsche an. Die Konfiguration nehmen Sie durch Bearbeiten einer Konfigurationsdatei vor. Ein grafisches Frontend gibt es für diese Aufgabe nicht. We bei allen vorgstellten Projekten funktioniert auch hier das Verändern der Oberfläche mit Hilfe von CSS, da diese Technik am flexibelsten ist.

Wer sich gerne über die letzten Änderungen am Wiki auf dem Laufenden halten möchte, den bedient auch das Dokuwiki mit entsprechenden Informationen: Es liefert eine Liste der Seiten als RSS- oder Atomfeed aus, die Sie problemlos in aktuelle Reader einbinden.

Dokuwiki unterstützt zahlreiche Sprachen für die Oberfläche, die Sie jeweils durch das Einfügen einer entsprechenden Anweisung in der Konfiguration. Die Dokumentation von Dokuwiki gibt ausführlich darüber Auskunft. Auf den Dokuwiki-Seiten findet sich auch eine Möglichkeit, aktiv an der Übersetzung mitzuarbeiten. Daneben bietet das Wiki vollen UTF-8-Support für den Inhalt.

An Formatierungen unterstützt Dokuwiki alles, was das Herz begehrt. Text- und Absatzformate sind ebenso selbstverständlich wie Tabellen und das Einbinden von Grafiken in die Wikiseiten. Wie Mediawiki bietet Dokuwiki die Möglichkeit, Grafiken als Vorschaubild zu skalieren und nur auf Mausklick die große Version anzuzeigen. Die Funktion Section Editing erlaubt das Bearbeiten kleiner Abschnitte des Textes. Mit Hilfe der Funktion diff zeigt das Programm zwei Versionen einer Seite an, wobei Dokuwiki dann Unterschiede farbig hervor hebt.

Bei der Suche nach Inhalten steht eine Volltextsuche zur Seite. Eine Brotkrümmelnavigation am oberen Fensterrand zeigt den Weg an, den der Benutzer durch das Wiki genommen hat. Dokuwiki generiert automatisch Inhaltsverzeichnisse. Außerdem schützt das System Dateien vor dem Editieren, wenn Sie einen bestimmten Status erreicht haben.

Die Homepage von Dokuwiki liefert neben der ausführlichen Dokumentation eine Reihe von Tutorials. Diese beschäftigen sich mit dem Erweitern der Syntax, einem verbesserten Layout und Design sowie dem Hinzufügen neuer Funktionalität.

Abbildung 6: Dokuwiki eignet sich besonders für die Dokumentation technischer Prozesse.

Abbildung 6: Dokuwiki eignet sich besonders für die Dokumentation technischer Prozesse.

Fazit

Die vorgestellten Wikis erleichtern den Einstieg in die Welt der Wikis enorm, da sie einfach aufzusetzen und zu verwalten sind. Als Haupteinsatzgebiete kommen die Dokumentation kleiner und mittlerer Projekte, eine Vereinshomepage, die sich öfter ändert oder der Einsatz als einfaches Content Managment System in Frage.

Da PmWiki, MoinMoin und Dokuwiki die Möglichkeit eröffnen, über eine Benutzerverwaltung verschiedene Gruppen von Autoren anzulegen, die mit unterschiedlichen Rechten ausgestattet sind, bieten sich diese Projekte auch für den Einsatz in größeren Benutzergruppen an.

Bei den anderen Systemen bleibt nur die Möglichkeit, das Verzeichnis, in dem das Wiki installiert ist, über die Zugriffssteuerung des Webservers vor unwünschtem Zugriff zu schützen.

Glossar

.htaccess

Die Datei .htaccess erlaubt es, den Zugriff auf die Daten eines Webservers auf vielfältige Weise zu regeln. Ein Selfhtml-Tutorial (http://de.selfhtml.org/servercgi/server/htaccess.htm) erläutert ausführlich den Einsatz.

LinuxUser 10/2006 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben