Datenstrom Yellow 0.8.2 erschienen
Das zur Erstellung kleiner Webseiten geeignete Markdown-Content-Management-System Datenstrom Yellow erhielt mit Version 0.8.2 ein großes Update. Eine in Teilen umgestaltete Entwickler-API, noch flexiblere Markdown-Unterstützung sowie eine vereinfachte Verzeichnisstruktur sind die Höhepunkte einer vergleichsweise langen Änderungsliste.
Extensions: Alle unter einem Dach
Um das Auffinden und Installieren von Plugins und Themes zu vereinfachen, wurden diese unter dem neuen Begriff Extensions (Erweiterungen) zusammengefasst. Es gibt dabei drei Typen von Erweiterungen: Features (vormals Plugins), Languages und Themes, die im neu organisierten Extensions-Repository auf GitHub heruntergeladen werden können. Zu jeder Kategorie findet sich wie üblich eine Übersicht mit allen verfügbaren Features, Themes und Sprachen, die im Fall der Features und Themes nach offiziell von Datenstrom angebotenen Erweiterungen sowie Erweiterungen von Drittanbietern gegliedert ist. Drittanbieter-Erweiterungen, welche vormals über die Feature-Installation verfügbar waren, wurden im Zuge der API-Änderungen entfernt und in ein separates Repository verschoben, das aus Kompatibilitätsgründen noch bis zum 31. August die alte API unterstützt.
Neue Verzeichnisstruktur vereinfacht den Quellcode
Content, Media und System bleiben als Hauptordner bestehen, jedoch wurde der System-Ordner grundlegend überarbeitet. Dem neuen Namensschema folgend enthält der Unterordner Extensions nun Features, Themes und Sprachen. Der Ordner Layouts enthält sämtliche für die HTML-Ausgabe des CMS verantwortliche Dateien. Die ehemaligen Snippets und Templates (also Code-Schnipsel und Vorlagen) wurden dabei in Layouts umbenannt und zusammengeführt, um das Anpassen der HTML-Ausgabe zu vereinfachen. Theme-Dateien, wie etwa Javascript, CSS und Schriftarten, werden im Ordner Resources abgelegt. Der Ordner Settings enthält weiterhin die Systemkonfiguration, Benutzer-Logins sowie benutzerdefinierte Texte zum Anpassen der Sprache.
Neu im Content-Ordner ist die Unterstützung von sogenannten Shared-Content-Dateien im Unterverzeichnis Shared. Hierbei handelt es sich um Markdown-Dateien, die bestimmte Inhalte auf der gesamten Website verfügbar machen. Der Seitenkopf und -Fuß (Header und Footer) sowie eine Seitenleiste (Sidebar) sind auf diese Weise seitenweit verfügbar, ohne sie in jeden einzelnen Unterordner neu hochladen zu müssen. Diese globalen Inhalte lassen sich natürlich trotzdem individuell überschreiben. Des Weiteren enthält der Shared-Ordner Markdown-Vorlagen für Erweiterungen und Layouts, die vormals im System-Ordner zu finden waren.
Viele Änderungen in der API
Obwohl die meisten Plugins noch funktionieren, sollten Entwickler ihre Erweiterungen aktualisieren, da die Kompatibilität mit der alten API Ende August entfernt wird. Hier eine Übersicht einiger Änderungen:
- Shortcuts werden statt mit
onParseContentBlock()
mittels der erweiterten FunktiononParseContentShortcut()
erstellt. - Die Funktion
onParsePage()
wurde inonParsePageLayout()
umbenannt. - Die Funktion
onExtra()
, mit der sich Zusatzinhalte von Erweiterungen (Javascript und CSS) in die HTML-Ausgabe einbinden lassen, heißt jetztonParsePageExtra()
. - Im Zuge der neuen HTML-Verwaltung wurden die Funktionen
snippet()
undgetSnippetArgs()
inlayout()
bzw.getLayoutArgs()
umbenannt. - Alle Aufrufe von
yellow->config
erfolgen jetzt viayellow->system
. Ein ähnliches Prinzip gilt füryellow->pages
, das nun mittelsyellow->content
angesprochen wird,yellow->files
wurde zuyellow->media
, und die beiden Aufrufeyellow->plugins
sowieyellow->themes
sind nun alsyellow->extensions
zusammengefasst. - Diverse Einstellungen wurden auf Grund der System-Änderungen umbenannt und zusammengefasst.
- Die globale Variable
$yellow
wird nun überall mittels$this->yellow
aufgerufen. - Die Funktion
register()
wurde aus allen Erweiterungen entfernt, da der Yellow-Kern (Core) das Registrieren der Erweiterungen selbst erledigt.
Eine überarbeitete API-Dokumentation ist auf der Datenstrom-Website verfügbar. Entwickler können die meisten Änderungen mit automatischen Ersetzungs-Werkzeugen übernehmen, jedoch erfordern einige Funktionen zusätzliche Parameter. Ein händisches Überarbeiten von Erweiterungen ist daher nicht nur ratsam, sondern deckt mitunter auch kleine Fehler auf, die sich mit der Zeit eingeschlichen haben könnten. Das Entwickler-Kit ist beim Aktualisieren der Erweiterungen hilfreich, da es bereits keine Rückwärtskompatibilität mehr enthält.
Wer Datenstrom Yellow hingegen einfach nur nutzen möchte, hat in Sachen Aktualisierung keine größeren Probleme zu befürchten, da der Updater die meisten Änderungen automatisch übernimmt. Ein nachträglicher Blick über die Installation ist dennoch ratsam. Pakete zur Neuinstallation sind wie immer auf GitHub zu haben.
Meine Erweiterungen wurden bereits aktualisiert, sind allerdings noch nicht im offiziellen Repository verfügbar. Alle Features können jedoch in meinem ebenfalls umbenannten Erweiterungs-Repository heruntergeladen werden.