DokuWiki Architektur

Eine visuelle Darstellung der Systemkomponenten und deren Interaktionen

Frontend Layer
• Benutzeroberfläche (UI)
• JavaScript Handler
• AJAX Komponenten
• Media Manager
• Editor Interface (Wiki-Syntax oder WYSIWYG)
DokuWiki Core
• Request Handler
• Action Dispatcher
• Event System
• Configuration Manager
• Hauptlogik & Workflow
Plugin System
• Syntax Plugins
• Action Plugins
• Admin Plugins
• Helper Plugins
• Renderer Plugins
Template System
• HTML Templates
• CSS Styles
• JavaScript
• Template Functions
• Responsive Design
Parser & Renderer
• Wiki-Syntax Parser
• Lexer & Parser
• Instruction Generator
• XHTML Renderer
• Export Formate
Cache System
• Page Cache
• Metadata Cache
• Instruction Cache
• Media Cache
• Performance Optimierung
Auth & ACL
• Benutzerauthentifizierung
• Access Control Lists
• LDAP/AD Integration
• Session Management
• Rechteverwaltung
Storage Layer (Dateisystem)
Pages: data/pages/ (Wiki-Seiten als .txt Dateien)
Media: data/media/ (Bilder, Dokumente)
Metadata: data/meta/ (Änderungshistorie, Indizes)
Attic: data/attic/ (Versionsverwaltung)
Config: conf/ (Konfigurationsdateien)

Über DokuWiki

DokuWiki ist ein einfaches, aber leistungsfähiges Wiki-System, das ohne Datenbank auskommt. Alle Daten werden in einfachen Textdateien gespeichert, was die Wartung und Sicherung erheblich vereinfacht. Die modulare Architektur mit Plugins und Templates ermöglicht eine flexible Anpassung an verschiedene Anforderungen.

Keine Datenbank erforderlich

Alle Inhalte werden in reinen Textdateien gespeichert. Dies macht Backups einfach und ermöglicht die Versionskontrolle mit Standard-Tools wie Git.

Erweiterbar durch Plugins

Über 1000 Plugins erweitern die Funktionalität: von Syntax-Erweiterungen über Authentifizierungs-Methoden bis hin zu komplexen Workflow-Systemen.

Einfache Wiki-Syntax

Die intuitive Wiki-Syntax ermöglicht es Benutzern, schnell formatierten Inhalt zu erstellen, ohne HTML lernen zu müssen.

Zugriffskontrolle

Feingranulare ACL (Access Control Lists) ermöglichen die präzise Steuerung, wer was lesen oder bearbeiten darf.

Versionsverwaltung

Automatische Versionierung aller Änderungen mit der Möglichkeit, frühere Versionen anzusehen und wiederherzustellen.

Mehrsprachig

DokuWiki ist in über 50 Sprachen verfügbar und unterstützt UTF-8 für internationale Inhalte.

Datenfluss in DokuWiki

1. Anfrage: Der Benutzer sendet eine HTTP-Anfrage über den Browser
2. Core Processing: Der DokuWiki Core verarbeitet die Anfrage und triggert Events
3. Plugin Integration: Plugins können auf Events reagieren und den Prozess beeinflussen
4. Parser: Wiki-Syntax wird in strukturierte Instruktionen umgewandelt
5. Renderer: Instruktionen werden in HTML (oder andere Formate) gerendert
6. Template: Das Template fügt das gerenderte HTML in das Layout ein
7. Response: Die fertige Seite wird an den Browser zurückgesendet