# DokuWiki

DokuWiki ist eine Wiki-Software, die unter der GPL 2 lizenziert und in der Programmiersprache PHP geschrieben wurde. Zum Speichern der Inhalte und der Metadaten werden Textdateien genutzt. Anfangs war DokuWiki zur einfachen internen Dokumentation von Projekten gedacht. DokuWiki wird mittlerweile auch für reguläre Webseiten eingesetzt, nachdem der Funktionsumfang stetig erweitert wurde. Auf Basis einer übersichtlichen Struktur lassen sich mit Erweiterungen in Form von Plug-ins weitere Funktionen hinzufügen, etwa für Blogs, Mediendaten oder Arbeitsgruppen.

## Geschichte

DokuWiki wurde im Juni 2004 von dem deutschen Programmierer Andreas Gohr ins Leben gerufen. Im Juli wurde die erste offizielle Version auf Freshmeat veröffentlicht. Ein Meilenstein in der Entwicklung war die komplette Überarbeitung des Parsers und des Renderers im Januar 2005, bei dem ein effizienteres objektorientiertes Design eingeführt wurde. Durch dieses Redesign konnte DokuWiki nun auch für größere Projekte eingesetzt werden. Außerdem wurde ein System für Plugins eingeführt, mit dem Dritte die Funktionalität erweitern können, ohne dass dies in das Kernprojekt übernommen werden muss. Ebenfalls 2005 wurde DokuWiki in die Repositorys der Linux-Distributionen Debian und Gentoo aufgenommen.

## Merkmale
### Versionsverwaltung

    DokuWiki speichert alle Versionen einer Wikiseite in einer Versionsverwaltung. Man hat die Möglichkeit, ältere Versionen mit der aktuellen Version zu vergleichen. Außerdem wird verhindert, dass mehrere Benutzer gleichzeitig eine Seite verändern können.

### Zugriffskontrolle

    Die Zugriffsrechte lassen sich für Kombinationen von Benutzern, Gruppen und Namespaces vergeben, die Einstellung ist via Webinterface (Usermanager) oder manuell per Konfigurationsdatei möglich (Access Control List).

### Plugins

    Dritte können die Funktionalität mit Plug-ins ergänzen. Auf der Website von DokuWiki wird ein Katalog dieser Plugins vorgehalten. Mit einem im Wiki integrierten Plugin-Manager können in das lokale Wiki geladen und verwaltet werden. Der Katalog kennt mehr als 1.200 dieser Erweiterungen.

### Templates

    Das Erscheinungsbild des Wikis kann der Administrator über Templates festlegen. Es wurden inzwischen unterschiedliche Templates von der Entwicklergemeinde zur Verfügung gestellt.

### Internationalisierung

    DokuWiki verwendet als Standard-Zeichencodierung UTF-8, somit sind auch Sprachen wie Chinesisch, Thai oder Hebräisch darstellbar. Das Wiki selber kann in über 50 Sprachen verwendet werden.

### Caching

    Um den Server des Wikis zu entlasten, speichert ein Cache geparste Seiten. Bei einem erneuten Aufruf der Seite werden die gespeicherten Daten geliefert, anstatt die Wikiseite nochmals zu parsen.

### Volltextsuche

    DokuWiki hat eine Volltextsuche integriert, mit der in dem gesamten Wiki nach Stichwörtern gesucht werden kann.

### WYSIWYG-Editor

    Bei Wiki-Systemen liegt der Schwerpunkt auf einer einfachen Textbearbeitung. DokuWiki hat in der Grundausstattung keinen WYSIWYG-Editor, sondern verwendet als Markup eine Markdown-ähnliche Syntax. Ein WYSIWYG-Editor kann aber über ein Plugin nachgerüstet werden; alternativ gibt es eine Quickbuttonleiste ähnlich MediaWiki.

### Ohne Datenbank

    DokuWiki speichert alle Daten (aktuelle und alte Seiteninhalte, Indizes, Caches) in Textdateien. Dadurch ist keine separat laufende Datenbank (etwa MySQL) notwendig. Dies ermöglicht die Datensicherung eines Wikis sowie das Übertragen auf einen anderen Webserver durch einfaches Kopieren.

### Versionierung/Synchronisation

    Jede Wiki-Seite wird in einer eigenen Textdatei im Verzeichnis dokuwiki-JJJJ-MM-TT/data/pages gespeichert, der Name der Datei bleibt trotz Versionierung gleich. Vorherige Versionen befinden sich unter dokuwiki-JJJJ-MM-TT/data/attic. Es erfolgt kein Umbenennen/Neuanlegen der Originaldatei (z. B. Revision00011, Revision00012). Dies macht DokuWiki ideal für Synchronisations-Tools mit beidseitigem Abgleich und diff-Funktion wie Unison.

### Portable Version

    Für Windows-Rechner ist DokuWiki auch als portable Version zusammen mit einem portablen Apache Webserver für die Verwendung auf einem USB-Stick vorhanden.

### HTML5

    Seit Release 2012-10-13 „Adora Belle“ parst DokuWiki HTML5-Seiten.

## Trivia

Die Versionen werden mit den Namen von Charakteren der Scheibenwelt benannt.