Vom Joomla-Override zur vollständigen Layout Engine
OJ LayoutStudio entstand aus einem wiederkehrenden Problem: strukturierte Joomla-Inhalte sollten flexibel ausgegeben werden, ohne für jede Variante neue Template-Overrides zu bauen. Daraus entwickelte sich schrittweise eine eigenständige Layout Engine mit Builder, Conditions, Library, Performance, Diagnostics und Live Preview.
Ausgangslage
Klassische Joomla-Overrides funktionieren gut für einzelne Ausgaben, werden aber schwer wartbar, wenn viele Inhaltstypen, Custom Fields, Bedingungen und Layoutvarianten zusammenkommen. Ziel war eine zentrale Engine, die Darstellung und Zuweisungslogik vom Template entkoppelt.
Viele Layoutvarianten
Unterschiedliche Kategorien, Inhalte und Feldwerte sollten ohne Duplizierung eigener Override-Dateien abgebildet werden.
Strukturierte Inhalte
Custom Fields und Feldgruppen mussten als echte Layoutbausteine nutzbar werden.
Bedingungen & Zuweisungen
Layouts sollten kontextabhängig greifen und trotzdem nachvollziehbar bleiben.
Performance
Mit wachsender Flexibilität durfte die Ausgabe nicht durch unnötige Resolver- und Datenbankarbeit langsamer werden.
Die technische Struktur
Zuweisungen und Sichtbarkeitsbedingungen entscheiden zentral, welches Layout und welche Elemente aktiv sind.
Der Builder verwaltet Layoutbereiche, Felder, HTML-Elemente und Reihenfolge als strukturierte Konfiguration.
Layouts, Bausteine und Presets werden wiederverwendbar gespeichert und mit Abhängigkeiten verwaltet.
Compilation, Caches, Lazy Loading und Profiler reduzieren wiederholte Arbeit zur Laufzeit.
Wichtige Meilensteine
Kategorien, Snapshots, Abhängigkeiten und Medienvorschau machten Layouts und Bausteine wiederverwendbar.
Compilation, Render-, Dependency- und Query-Cache sowie Lazy Loading und Profiler wurden eingeführt.
Resolver Inspector und Assignment Diagnose machten komplexe Entscheidungen sichtbar und prüfbar.
AI Layout Assistant und Inspector wurden mit verschlüsseltem Schlüssel-Store ergänzt.
Drag & Drop, visuelle Custom-Field-Auswahl, Zuweisungseditor, HTML-Element und Live Preview wurden finalisiert.
Der abgenommene RC-Stand wurde ohne Funktionsänderung als stabile Basis veröffentlicht.
Was technisch besonders interessant war
Je flexibler die Engine wurde, desto wichtiger wurde erklärbar zu machen, warum ein bestimmtes Layout greift. Daraus entstand die Diagnostics-Schicht mit Resolver- und Assignment-Analyse.
Layoutauflösung, Datenzugriffe und Rendering mussten gezielt gecacht werden. Gleichzeitig brauchte es selektive Invalidierung, damit Änderungen sofort korrekt sichtbar bleiben.
Die Nutzung sollte nicht an YAML/PHP oder starren Formdefinitionen hängen. Deshalb wurden Drag & Drop, einklappbare Bereiche und visuelle Feld-/Zuweisungseditoren ausgebaut.
Tests und belastbare Nachweise
Die Layout Library wurde über 14 praktische Tests abgenommen, inklusive verschachtelter Abhängigkeiten und Installationsstatus.
Compilation, Render Cache, Query Cache, Dependency Cache und Lazy Loading wurden einzeln sowie in Regression geprüft.
Der finale 1.0.0-Stand wurde über Installation, Builder, Felder, Bedingungen, HTML-Element, Live Preview und bestehende Kernfunktionen abgenommen.
Aus einer Layout-Erweiterung wurde eine eigenständige Engine
OJ LayoutStudio verwaltet komplexe Joomla-Ausgaben heute zentral. Entscheidend war nicht nur der Funktionsumfang, sondern die Trennung von Builder, Runtime, Library, Diagnostics und QA – dadurch blieb die Architektur trotz wachsender Möglichkeiten wartbar.
Sie haben ein Joomla-Projekt mit komplexer Darstellungslogik?
Die Erfahrungen aus LayoutStudio lassen sich auf andere komponentenbasierte Joomla-Projekte übertragen – besonders dort, wo Daten, Bedingungen und Varianten sauber voneinander getrennt werden müssen.