Eigene Erweiterungen für Mediawiki schreiben

Mediawiki ist eine leistungsfähige, PHP-basierte Wiki-Implementierung und wird für viele Websites verwendet, darunter Wikipedia. Es ist recht flexibel, sehr sicher, simpel zu benutzen - und man kann auch sehr einfach eigene Plugins dafür schreiben.

Ein großer Vorteil von Mediawiki ist, dass es fertige Erweiterungen gibt, aber auch eigene geschrieben werden können. Fertige Erweiterungen werden nach dem Herunterladen im Unterverzeichnis extensions/ gespeichert. Mit ein paar Grundkenntnissen in PHP kann man aber auch seine eigenen Erweiterungen schreiben, die sich problemlos in das Wiki integrieren lassen.

Ein Fallbeispiel: Der Inhalt einer externen Datei soll in ein Wiki integriert werden. Die Datei ändert sich häufig, und das Wiki soll immer ihren aktuellen Stand enthalten. Zu diesem Zweck kann man ganz einfach eine Erweiterung schreiben.

Die folgende Erweiterung zeigt den Inhalt der angegebenen Datei auf einer Wiki-Seite an. Der Benutzer des Webservers muss Lesezugriff auf die Datei haben.


Man sollte nicht vergessen, dass diese Erweiterung gefährlich sein kann, wenn die Eingaben nicht entsprechend gefiltert werden. Der Code überprüft, ob $input den Namen einer von zwei Dateien enthält: /var/lib/foo oder /tmp/status. Ist dies nicht der Fall, wird die Variable $file nicht gesetzt – ihr Wert bleibt NULL. Falls der übergebene Dateiname einer der beiden zulässigen Dateien entspricht, wird der Dateiinhalt abgerufen und dem Mediawiki zur Anzeige übergeben.

Die folgende Zeile muss der Datei LocalSettings.php hinzugefügt werden, um die Erweiterung einzubinden (wobei die entsprechende Datei plugin_file.php heißt):


include("./extensions/plugin_file.php");

Und um dieses Plugin im Mediawiki zu benutzen, muss im Wiki eine Seite mit dem folgenden Code erstellt (oder dieser eingefügt) werden:


/tmp/status

Dieser von der Datei plugin_file.php verwendete Code wurde im Aufruf $wgParser->setHook definiert. Er gibt die Datei samt der zugehörigen Funktion (renderFile) an, die ebenfalls dort definiert wurde.

Wie man sieht, ist es extrem einfach, eine eigene Erweiterung zu schreiben. Mit eigenem PHP-Code stehen einem damit grenzenlose Möglichkeiten offen, sein Wiki zu erweitern.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

1 Kommentar zu Eigene Erweiterungen für Mediawiki schreiben

Kommentar hinzufügen
  • Am 31. Oktober 2009 um 0:42 von Mauri

    Dokumentation wären nett
    Links zu Seiten mit weitergehender Dokumentation wären sehr hilfreich. Beim Entwickeln von Plugins für’s MediaWiki kommt da da sowieso nicht dran vorbei.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *