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.
Neueste Kommentare
1 Kommentar zu Eigene Erweiterungen für Mediawiki schreiben
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.
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.