Datenstrom Yellow 0.8.2 erschienen

Geschrieben von Steffen Schultz 5 Kommentare
Kategorisiert in : Software Schlüsselwörter : CMS, GitHub, Markdown, OpenSource, PHP, Yellow

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 Funktion onParseContentShortcut() erstellt.
  • Die Funktion onParsePage() wurde in onParsePageLayout() umbenannt.
  • Die Funktion onExtra(), mit der sich Zusatzinhalte von Erweiterungen (Javascript und CSS) in die HTML-Ausgabe einbinden lassen, heißt jetzt onParsePageExtra().
  • Im Zuge der neuen HTML-Verwaltung wurden die Funktionen snippet() und getSnippetArgs() in layout() bzw. getLayoutArgs() umbenannt.
  • Alle Aufrufe von yellow->config erfolgen jetzt via yellow->system. Ein ähnliches Prinzip gilt für yellow->pages, das nun mittels yellow->content angesprochen wird, yellow->files wurde zu yellow->media, und die beiden Aufrufe yellow->plugins sowie yellow->themes sind nun als yellow->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.

Über den Autor

Steffen Schultz, ein lichtloser Gelegenheitsblogger aus dem Norden Brandenburgs. Ich bin auf den Betriebssystemen Windows, Linux und Android unterwegs und berichte u. a. über meine Erfahrungen beim Nutzen von Anwendungen mit Zugangstechnologien für Blinde.

5 Kommentare

#1  - Jochen sagte :

Sehr geehrter Herr Schultz , wird dieses CMS noch weiterentwickelt?

Auf der Websweite https://datenstrom.se/edit/de/yellow/demo/ hatte ich etwas gespielt. Echt klasse!
Ich komme aus der Typo3 Ecke, aber das macht bei kleinen Projekten überhaupt keinen Sinn mehr.

Würde mich sehr auf Ihre Antwort freuen.

vielen Dank
Mit freundlichen Grüßen Jochen Graf

Antworten
#2  - Steffen sagte :

Ja, Yellow lebt noch und erfreut sich stetiger Weiterentwicklung. Auch wenn das CMS eher einem Rolling-Release-Schema folgt, gibt es dann und wann feste Releases, deren Changelogs man unter https://github.com/datenstrom/yellow/releases nachlesen kann.

Antworten
#3  - Mike sagte :

Hallo Herr Schultz,
in diesem Bericht erwähnen Sie die Sidebar. Ist irgendwo dokumentiert, wie man eine solche Seitenleiste (Sidebar) einrichtet? Ich kann dazu auf der Yellow-Seite einfach nichts finden, will aber nicht ausschließen, dass ich es übersehen habe.
Viele Grüße - Mike

Antworten
#4  - Mike sagte :

Ich habe eine Lösung gefunden :)

<?php $this->yellow->layout("sidemap") ?>

Antworten
#5  - Steffen sagte :

Die Sidebar wurde inzwischen aus den Layout-Dateien entfernt und muss vom Benutzer individuell für das jeweilige Theme erstellt werden.

Antworten

Schreiben einen Kommentar

 Angaben merken
Was ist das zweite Charakter des Wortes rncpd ?

Kommentare-Feed (RSS) dieses Artikels