Anfänger-Reihe: Die package.xml

Hey! Ich arbeite aktuell an dem neuem Design und habe nun die PC- & Handy-Version öffentlich gestellt. Die Tablett-Version werde ich die Tage entwickeln, um die Website responsive für alle anzubieten. Solltest du Design-Bugs finden, kannst du diese gern hier melden.

Wie auch schon unter Burning Board 3 & 4 kann man sein Woltlab Suite Core mit Plugins erweitern. Da sich jedoch einige Dinge geändert haben, gibt es nun ein einführendes Tutorial in die Plugin-Entwicklung unter dem Woltlab Suite Core 3. Die selbe Reihe für das Community Framework 2 ist hier zu finden.


Jedes Plugin hat mindestens eine package.xml, welche dem Core grundlegende Informationen über das Paket gibt. Zu diesen Informationen gehören Beschreibung, Version, benötigte andere Pakete und die Installations-Anordnungen. Ohne diese Datei - oder wenn selbige fehlerhaft ist - kann ein Plugin nicht installiert werden.



  • Zeile 1: Die package.xml wird als XML-Datei in v1.0 erkannt und nutzt die Kodierung UTF-8.
  • Zeile 2: Das Paket trägt den Paketbezeichner (Paketnamen) de.cnstudios.wcf.examplepage
    • Er sollte immer folgendermaßen aufgebaut sein: tld.domain.<applikation>.<plugin>
      • <application> steht für die jeweilige Anwendung, die das Plugin erweitert (z.B. Core (wcf) oder Burning Board (wbb)).
      • <plugin> steht für die Funktion des Plugins.
        • Hier wird die Seite (Page) "Example" examplePage hinzugefügt.
      • Der Paketbezeichner soll dabei helfen, schon ohne das Durchlesen der Dateien festzustellen, woher das Paket kommt und was es macht.
      • Die übrigen Inhalte (xmlns, xmln:xsi und xsi:schemaLocation geben Informationen zur allgemeinen Struktur der XML-Datei.
      • Wer bereits etwas weiter in XML ist, der kann sich gerne die schemaLocation ansehen, welche (in finaler Version) Informationen darüber bietet, was alles in der package.xml möglich ist: woltlab.com/XSD/tornado/package.xsd
        • Das ist übrigens bei jeder .xml-Datei so, die bei einer Plugin-Entwicklung genutzt wird


  • Zeile 3: Der Beginn der allgemeinen Paketinformationen.
  • Zeile 4: Der angezeigte Name des Paketes - z.B. in der Paketverwaltung.
  • Zeile 5: Der angezeigte Name des Paketes - z.B. in der Paketverwaltung - speziell für die deutsche Sprache.
  • Zeile 6: Die Beschreibung des Paketes in ausführlicher Form.
  • Zeile 7: Die Beschreibung des Paketes in ausführlicher Form - speziell für die deutsche Sprache.
  • Zeile 8: Die Versionsangabe des Paketes.
  • Zeile 9: Das Erstell-/Änderungsdatum des Paketes.
    • Im Format: YYYY-MM-DD
  • Zeile 10: Ende der allgemeinen Paketinformationen.


  • Zeile 12: Der Beginn der Autorinformationen des Paketes.
  • Zeile 13: Der Name des Autors.
  • Zeile 14: Die URL zur Webseite des Autors.
  • Zeile 15: Ende der Autorinformationen.


  • Zeile 17: Der Beginn von Informationen zu benötigten Paketen.
  • Zeile 18: Die Angabe des benötigten Paketes com.woltlab.wcf in mindestens Version 3.0.0.
  • Zeile 19: Ende der Informationen zu benötigten Paketen.


  • Zeile 21: Der Beginn von Informationen zu unterstützten API-Versionen.
  • Zeile 22: Kompatiblitätsfestlegung zur API-Version 2018 (gleichzusetzen mit dem WSC 3.1)
  • Zeile 23: Kompatiblitätsfestlegung zur API-Version 2017 (gleichzusetzen mit dem WSC 3.0)
  • Zeile 24: Ender der Informationen zu unterstützten API-Versionen.


  • Zeile 26: Der Beginn der Installations-Anweisungen.
  • Zeile 28: Anweisung zur Installation von Dateien aus dem Archiv files.tar
  • Zeile 29: Anweisung zur Installation von Templates aus dem Archiv templates.tar
  • Zeile 31: Anweisung zur Registration der Seiten aus der page.xml
  • Zeile 32: Anweisung zur Registration der Menüpunkte aus der menuItem.xml
  • Zeile 34: Anweisungen zur Installation von Sprachvariablen aus dem Verzeichnis language/
  • Zeile 35: Ende der Installations-Anweisungen.


  • Zeile 36: Ende der package.xml



Beim Speichern muss immer darauf geachtet werden, dass sämtliche .xml-Dateien als UTF-8 ohne BOM (ANSI as UTF-8) und sämtliche andere Dateien (z.B. .tpl oder .php) in ANSI gespeichert werden müssen, um Kodierungsfehler zu vermeiden.


Wie man demnach in den Zeilen 26-35 erkennen kann, benötigen wir auf jeden Fall eine files.tar, eine templates.tar und mindestens eine .xml im Verzeichnis language/. Doch dies wird Thema des nächsten Tutorials.



Du hast noch Fragen oder Probleme? Dann schreibe doch ein Kommentar oder sende mir eine private Nachricht.




Dieser Artikel wurde in Kooperation mit Black Rider erstellt.