Grundlagen zur Programmierung einer MediaWiki Erweiterung

24 Nov

MediaWiki ist die Software auf der viele Wikis basieren wie z.B Wikipedia. Dem Wiki lassen sich durch viele schon exisitierende Erweiterungen Funktionen hinzufügen. So ermöglichen welche die Umwandelung von Artikeln in PDFs oder die Einbindung von Google Maps. Andere unterstützen Verfasser einfacher und schneller Artikel zu schreiben, wie z.B eine Erweiterung um Referenzen einzufügen.

Möchte man nun eine eigene Erweiterung für MediaWiki schreiben, muss man folgende Punkte beachten:

Was soll die Erweiterung machen?

Dafür werden die Erweiterungen von MediaWiki grob in drei Arten eingeteilt, die auf den Programmiertechniken basieren. Bei komplexen Erweiterungen ist eine strikte Einteilung jedoch kaum möglich, da meist mehrere Programmiertechniken benutzt werden.

  • Erstellen neuer Magic Words: Eine Variable aus dem Bereich Magic Words wäre beispielsweise {{SITENAME}}. Eingesetzt in einen Wiki Text wird dann anstelle der Variable der Name des Wikis eingesetzt. Außer Variablen gehören noch Parser Funktionen – und Tags und HTML Tags in diese Kategorie. Magic Words dienen also entweder als Platzhalter oder führen Berechnungen durch und geben danach entweder Wiki Text (Parser Funktionen) oder HTML (Tag Erweiterungen) aus.
  • Erweiterungen, die das Verhalten von MediaWiki ändern: Dies kann durch Callback Funktionen, die einem bestimmten Hook zugeordnet werden, dem Definieren eigener Hooks, dem Hinzufügen von Skins, die die Oberfläche des Wikis ändern oder durch AJAX Erweiterungen realisiert werden. Ein Hook ist ein Array von Funktionen, welches an einem bestimmten Punkt im Code durchlaufen wird. Zum Beispiel wird der Hook ArticleSave immer aufgerufen bevor ein Artikel gespeichert wird. Für Entwickler bieten Hooks also die Möglichkeit den eigenen Code an gewünschten Stellen des Seitenaufbaus eines Wikis einzubinden.
  • Erweiterung als Unterklasse der SpecialPage: Diese Erweiterungen sind dynamische Seiten, die meist Zugriff auf MediaWiki Datenbanken oder andere interne Daten benötigen. Dazu zählen Erweiterungen, die z.B die Anzahl von Editierungen eines Benutzers anzeigen oder ein Gästebuch dem Wiki hinzufügen.

Fängt man nun an die Erweiterung zu programmieren, sollte man sich an den Standard von MediaWiki halten. Dem Standard nach soll die Erweiterung aus drei Dateien bestehen: Eine Datei, die die Setup Anweisungen beinhaltet. Dazu gehört z.B die Definition von globalen Variablen oder das Einbinden von benötgten anderen Erweiterungen. Weiter exisitert eine Datei, die den Code für die Ausführung enthält und eine Datei, um den angezeigten Text der Erweiterung festzuhalten und diesen in mehreren Sprachen zu definieren. Von diesem Standard sollen nur komplexe Erweiterungen abweichen die für den Ausführungscode mehrere Dateien benötigen.

Die Erweiterung zur Bewertung der Informationsqualität wird demnach eine Unterklasse der SpecialPage, die je nach Funktion auch eigene Hooks benötigt. Die Einhaltung des MediaWikis Standards ist wichtig, um die Einarbeitung und Benutzung der Erweiterung für eventuelle weitere Arbeiten soweit wie möglich zu vereinfachen und die Wahrscheinlichkeit der Funktionalität in nachfolgenden MediaWiki Versionen zu erhöhen.

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: