Da ich vor ungefähr zwei Wochen begonnen habe, ein MediaWiki einzurichten und seit 2010 ein DokuWiki betreibe, hier mal ein kleiner Erfahrungsbericht über Dinge, die aus meiner Sicht in MediaWiki besser, schlechter oder anders sind als in DokuWiki.

Im weiteren Text werden für beide Wikis nur noch Abkürzungen verwendet, DW für DokuWiki und MW für MediaWiki.

Editor

Der als Erweiterung mitgelieferte Editor WikiEditor bietet nur die wichtigsten Elemente an, wie auch der Editor in DW; macht aber nichts, schließlich kann man sich an die neue Syntax ziemlich schnell gewöhnen.

Syntax-Highlighting von Haus aus gibt es in keinem der Wiki-Systeme. Für DW kann man sich dafür z. B. den Ace-Editor installieren.

Für MW bietet sich wikEd an. Es gibt mehrere Möglichkeiten, diesen Editor System-weit, pro Benutzer, etc. zu installieren, siehe hier. Den WikiEditor benötigt man dann nicht mehr und kann diesen in LocalSettings.php deaktivieren.

Das Ergebnis sieht zwar etwas altbacken aus, aber dafür gibt es viele nützliche Funktionen:

[MediaWiki wikEd Editor][8]
MW mit wikEd Editor

Durch das Script von wikEd werden externe Daten im Wiki eingebunden, auch wenn man das Wiki nur betrachtet. Daher sollte man aus Datenschutzgründen die Installation pro Benutzer vorziehen. Hierfür muss die Einstellung wgAllowUserJs aktiviert werden.

Wer einen WYSIWYG-Editor benötigt kann sich z. B. den noch in der Beta-Phase befindlichen VisualEditor installieren. Dann muss aber zusätzlich noch ein Daemon namens Parsoid auf dem Webserver installiert werden.

Responsive Design

Der Standard-Skin namens Vector ist nicht „responsive„, d. h. die Anordnung der Elemente ändert sich nicht auf kleinen Bildschirmen von Mobilgeräten; bei DW ist dies Standard.

Als umständliche Lösung kann man auf die Erweiterung MobileFrontend zurückgreifen, die über PHP anhand des User Agents herausfindet, ob es sich um ein Mobilgerät handelt. Ist dies der Fall, wird die mobile Variante des MediaWikis angezeigt, die man auch von Wikipedia.org kennt:

[MediaWiki MobileFrontend Extension (Preview)][16]
MW MobileFrontend Extension (Preview)

Alternativ können Benutzer selbst die mobile Variante aufrufen.

In der Liste der verfügbaren Skins gibt es nur einen, der als „stable“ gekennzeichnet und „responsive“ ist, dieser hier.

Am meisten fehlt mir eine Art Navigationsbaum, wie z. B. Indexmenu von DW. Hier konnte ich bisher nur die Erweiterung TreeandMenu finden, habe mich aber noch nicht weiter damit beschäftigt.

Tags

Von DW kenne und nutze ich gerne sogenannte Tags, die es z. B. auch in WordPress gibt. Dadurch lassen sich gleichartige Artikel sehr gut gruppieren. Bei MW gibt es diese Funktionalität gar nicht.

Kategorien

Dafür kann man in MW Seiten mittels Kategorien gruppieren, die es wiederum in DW nicht gibt bzw. nur sehr umständlich.

Wie man eine sinnvolle Struktur mit Kategorien aufbaut hat sich mir noch nicht offenbart, vielleicht kommt das noch nach dem Studium der umfangreichen Dokumentation. Hier gibt es ein paar Überlegungen dazu.

Es gibt auch Unterkategorien, siehe hier.

Eine interessante Erweiterung für Kategorien ist CategoryTree.

Templates / Vorlagen

Einer der gewichtigsten Gründe, wieso ich mich mit MW beschäftigen wollte, sind Templates. Diese arbeiten im Prinzip wie eine Funktion, der man Werte übergeben kann. Die Ausgabe erscheint dann an der Stelle, an der das Template in anderen Seiten verwendet wird.

Mit Templates hat man ein gutes Mittel, um z. B. Infoboxen zu erstellen, Videos einzubetten usw. In DW wird dafür je ein eigenes Plugin benötigt.

Es gibt zwei Möglichkeiten, um an Templates zu kommen…

Möglichkeit 1 – Templates aus anderen Wikis exportieren

Über die Export-Funktion von MW kann man sich prinzipiell aus jedem MW die gewünschten Templates exportieren und in das eigene Wiki importieren. Dies funktionert optional mitsamt Abhängigkeiten von anderen Templates und Modulen ziemlich gut. Es fehlen jedoch Style Sheets (CSS), JavaScript und Bilder. Diese muss man sich selbst besorgen. Vielleicht geht es doch und ich habe es nur nicht gefunden.

Mitsamt Abhängigkeiten importiert man z. B. für das Template Infobox von Wikipedia eben mal um die 50 weitere Templates und Module, um in meinem Fall festzustellen, dass es am Ende doch nicht funktioniert. Schade, denn dieses Template war einer der Gründe, dass ich mich näher mit MW beschäftigen wollte.

Möglichkeit 2 –Templates selbst erstellen

Wegen der Problematik mit den Abhängigkeiten bin ich ziemlich schnell dazu übergegangen, Templates selbst zu erstellen. Das bedeutet jedoch ziemlich viel Arbeit und ich habe diesbezüglich noch Einiges vor mir.

Man kann es durchaus als Vorteil ansehen, wenn man sein Wiki dadurch individueller gestalten kann, z. B. mit an das Wrap-Plugin angelehnten Boxen:

[MediaWiki – selbst erstellte Boxen][31]
MW – selbst erstellte Boxen

Die verwendeten Icons stammen übrigens vom Oxygen Projekt (siehe hier).

Programmierung

Ist die Erweiterung ParserFunctions installiert, kann man sogar aus der Programmierung bekannte Dinge wie if, switch und mehr verwenden – in Templates und auch in normalen Seiten. Noch mehr Möglichkeiten erhält man durch die Erweiterung Scribunto, mit der es möglich ist, die Scriptsprache Lua zu nutzen.

Verschieben

Mir gefällt es, dass beim Verschieben von Inhalten per Voreinstellung eine Weiterleitung von der alten Position zur neuen erstellt wird, egal ob man Seiten, Templates oder Dateien verschiebt bzw. umbenennt. In DW muss man dazu die Ursprungsseite löschen, die Zielseite erstellen und dann z. B. mit dem Plugin Redirect eine Weiterleitung einrichten. (Für experimentierfreudige Menschen gibt es für DW ein in Entwicklung befindliches Plugin namens Move, siehe hier.)

Mit Dateien arbeiten

Habe mir für DW öfters die Möglichkeit gewünscht, bestimmte Informationen direkt an die Datei zu binden; in MW geht dies, da letztlich die Übersichtsseite einer Datei auch nur eine normale Seite ist. Außerdem sieht man dort auch, auf welchen Seiten die Datei verwendet wird.

Was mir gar nicht gefällt ist die Tatsache, dass alle hochgeladenen Dateien aus Wiki-Sicht in demselben Pfad liegen (auf dem Server natürlich nicht). Es ist nach meinem aktuellen Kenntnisstand nicht möglich, Dateien über Verzeichnisse zu strukturieren. Das bedeutet, dass jeder Dateiname eindeutig im gesamten Wiki sein muss. (Habe ich da etwas übersehen?)

SpecialPages

Im Bereich „Special:SpecialPages“ findet man Vieles, was man in DW nur teilweise über Plugins realisieren kann, z. B. Listen von ungenutzen Dateien, gewünschten (weil in einer Seite verwendeten aber nicht existierenden) Seiten, sehr kleinen Artikeln, Seiten ohne Kategorie usw.

Upgrade

Ein Upgrade ist bei MW etwas aufwendiger, siehe hier. In DW lässt sich das gesamte Update mittels des Plugins Upgrade im Interface selbst erledigen.

Update: Mit dem richtigen Weg per Patchfile lässt sich ein MW sehr viel einfacher upgraden als ein Dokuwiki; habe das erst später erfahren dürfen :)

Feeds

In MW lässt sich bei Ansicht der Versionsgeschichte jeder Seite über das kleine RSS-Symbol in der Toolbox ein eigener Feed abrufen:

[MediaWiki Tools][42]
MediaWiki Tools

In DW geht das zwar auch, jedoch nur umständlich, da man sich den URL für den Feed selbst zusammenstellen muss, wenn man nicht das ganze Wiki beobachten möchte, siehe hier.

Änderungen an CSS und JS

In DW muss man für Änderungen am Design die entsprechenden CSS- oder JavaScript-Dateien direkt auf dem Webserver bearbeiten. In MW dagegen lässt sich dies im Wiki selbst erledigen (z. B. im Bereich „MediaWiki:Vector.css“) und man erhält dadurch auch eine Versionierung der Dateien; das gefällt mir sehr gut.

\o/

Habe ich schon gesagt, dass ich MediaWiki und DokuWiki mag?

Passt.


Da bestimmt noch mehr zu MediaWiki kommen wird, gibt es jetzt eine neue Kategorie hier im Blog.

Die beiden Icons im Artikelbild stammen von hier und hier.