Yellow 0.8.4

BUOA.DE ist auf Yellow 0.8.4 aktualisiert. Das hat im Gegensatz zu sonst ganz schön weh getan.

Aktualisiert am 06.05.2019: Schwierigkeiten mit bundle.php gelöst!

Ich schätze Yellow als CMS aufgrund der sehr einfachen Aktualisierbarkeit und der sehr übersichtlichen Strukturen. Ohne dass ich dafür auf irgend etwas verzichten müsste, das eine Webseite aus meiner Sicht braucht. Mit dem Update auf Version 0.8.4 war das etwas anders, denn das ist – von Vorgängerversionen kommend – bei genauerer Betrachtung ein „Upgrade“. Bisher Abwärtskompatibilität gewährleistende Funktion wurden gekappt. Dafür gab es zwar einen sanften Übergang, doch den hatte ich bisher geflissentlich auf das Notwendigste reduziert. Die Folge: nichts ging mehr bei BUOA.DE.

Was jedoch keiner gesehen hat, denn natürlich habe ich das auf einem Testserver ausprobiert. Die größte Hürde des Upgrades habe ich mir selbst in den Weg gestellt: meine eigenen Yellow-Erweiterungen (viele davon bei GitHub zum Download frei verfügbar). Da ich hier recht ausgiebig davon Gebrauch mache, war „erst mal weglassen“ keine Option. Was einen gewissen Druck für die erforderliche Produktpflege erzeugte. Es sind zwar noch einige Nacharbeiten erforderlich, ich muss vor allem prüfen, ob alle noch beiläufig gemachten Änderungen bei der Aktualisierung von BUOA in die Dateien bei GitHUB eingeflossen sind1, doch erst einmal funktionieren sie wieder.

Die Überarbeitung der Erweiterungen war bis zu einem gewissen Grad von „Umbenennen“ geprägt. Aus „Plugins“ wurden „Extensions“, einige Funktionen fallen weg, einige heißen oder verhalten sich etwas anders. In Ermangelung einer detaillierten Dokumentation zum Upgrade war dafür Code-Schaufeln bei anderen Entwicklern erforderlich. Also „abkupfern“ wie die das machen. Wobei sich zeigte, dass es zwar grundsätzlich so geht, doch mit daraus entwickeltem Wissen einiges iterativ mit eigenen neuen Ideen angereichert wurde.

Nachdem in einer neuen Yellow-Installation alle meine Erweiterungen auch rüde Tests klaglos überstanden, habe ich kurzerhand die vorhandenen Dateien aus BUOA Zug um Zug nach Löschen der dort enthaltenen Dateien in die dort vorhandenen Verzeichnisse kopiert und mich an den Fehlermeldungen entlang gehangelt.

Etwas Fleiß (= Suchen und Ersetzen in allen content-Dateien) erforderte der Kopfeintrag Template. Der muss durch Layout ersetzt werden, wofür ich notepad++ verwendet habe.

Etwas mehr Aufwand erforderte die neue Struktur, die mit der aktuellen Version endgültig greift. Aus dem Bauch heraus gefällt mir das so besser – wobei ich es ehrlicherweise auf Nachfrage des federführenden Entwicklers von Yellow vor einigen Monaten bezweifelt habe. Die Struktur des system-Verzeichnisses ist „aufgeräumter“:

bisher

  • system
    • config
    • plugins
    • themes
      • assets
      • snippets
      • templates
    • trash

ab jetzt

  • system
    • extensions (statt plugins)
    • layouts (statt templates und snippets)
    • resources (statt assets)
    • settings (statt config)
    • trash

Ein Ordner auf der Hauptebene mehr, dafür keine Unterordner. Das gerade für Einsteiger verwirrende Konzept des „Snippets zusammen basteln“ ist einem deutlich transparenterem Baustein-Konzept allein im Ordner layouts gewichen. Das ist ebenso flexibel wie das Vorherige, es ist jedoch darüber hinaus viel „aufgeräumter“. Nach einigem Ausprobieren habe ich die vorhandenen Layouts der frischen Installation mit Ergänzen der gewünschten Elemente aus den entsprechenden Dateien meines alten snippets-Verzeichnis ergänzt. So filterten sich gleich einige mittlerweile überflüssigen oder nie gebrauchte Dateien heraus. Mit deutlich weniger davon als vorher bekam ich die gleiche Optik.

| Aktualisiert | Anfänglich gab es Schwierigkeiten mit der Erweiterung bundle.php. Diese schnürt aus allen CSS- und JS-Dateien jeweils ein komprimiertes Paket. Eine dolle Sache, weil es die Anzahl Zugriffe und die Datenmenge reduziert. Allerdings verfälschte das die Darstellung. Ich habe intensiv nach dem Fehler gesucht, doch es war mir unerklärlich, weshalb die komprimierte Version ausschließlich den fetten Font verwendete, die Darstellung wirkte sehr gedrungen.

Das Ergebnis mit <code>bundle.png</code> ist *verfettet*

Mit bundle.phpist die Schrift immer fett.

Mit einzelnen CSS-Dateien ist die Schrift *normal*

Unkomprimiert erzeugen die CSS-Dateien die gewünschte Optik.

Ich nahm Rücksprache mit Datenstrom, denen wir Yellow verdanken. Dort wurde der Fehler an einer Stelle gefunden, an der ich ehrlicherweise nie gesucht hätte: bei der Kodierung der CSS-Datei. Diese war auf „UTF-8 BOM“ gesetzt – vermutlich ein Überbleibsel eines früher verwendeten Editors. Kaum war das „BOM“ weg, war auch das Problem weg.

Einen kräftigen Schreck hat mir ein schon länger bekannter, von mir regelmäßig vergessener Effekt eingejagt. Wird mit dem Online-Editor eine Stammseite („page.md“) bearbeitet, wird beim Speichern der Stammordner mit dem aktuellen Datum und dem vergebenen Titel umbenannt. Das führt natürlich prompt zu einer Fehlermeldung, dass Dateien fehlen. Beim ersten flüchtigen Blick packt einen die Panik, wo denn jetzt der ganze Ordner hin ist. Bis man merkt, dass da einer mit aktuellem Datum und Titel der Stammseite statt dessen vorhanden ist. Den auf Dateiebene wieder mit der beim Umbenennen überschriebenen Ordnungszahl versehen, dann klappt alles wieder.


  1. Die Entwicklung und Pflege der Extensions erfolgt bei mir eher bedarsgetrieben und hemdsärmelig. Da fließen Entwicklung und Test ineinander, was zweifellos suboptimal ist, doch für eine unabhängige Yellow-Entwicklungsumgebung und einen strukturierten Entwicklungsplan fehlt einfach die Zeit. ↩︎