Case Study · OJ LayoutStudio

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.

Status1.0.0 Stable
PlattformJoomla
SchwerpunkteBuilder · Custom Fields · Performance · Diagnostics
EntwicklungIterative Releases mit Live-Abnahme
Projektstart

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.

Variants

Viele Layoutvarianten

Unterschiedliche Kategorien, Inhalte und Feldwerte sollten ohne Duplizierung eigener Override-Dateien abgebildet werden.

Fields

Strukturierte Inhalte

Custom Fields und Feldgruppen mussten als echte Layoutbausteine nutzbar werden.

Logic

Bedingungen & Zuweisungen

Layouts sollten kontextabhängig greifen und trotzdem nachvollziehbar bleiben.

Scale

Performance

Mit wachsender Flexibilität durfte die Ausgabe nicht durch unnötige Resolver- und Datenbankarbeit langsamer werden.

Architektur

Die technische Struktur

Resolver

Zuweisungen und Sichtbarkeitsbedingungen entscheiden zentral, welches Layout und welche Elemente aktiv sind.

Builder

Der Builder verwaltet Layoutbereiche, Felder, HTML-Elemente und Reihenfolge als strukturierte Konfiguration.

Library

Layouts, Bausteine und Presets werden wiederverwendbar gespeichert und mit Abhängigkeiten verwaltet.

Runtime

Compilation, Caches, Lazy Loading und Profiler reduzieren wiederholte Arbeit zur Laufzeit.

Entwicklung

Wichtige Meilensteine

0.20.4
Layout Library

Kategorien, Snapshots, Abhängigkeiten und Medienvorschau machten Layouts und Bausteine wiederverwendbar.

0.22.1
Performance Engine

Compilation, Render-, Dependency- und Query-Cache sowie Lazy Loading und Profiler wurden eingeführt.

0.23.1
Diagnostics

Resolver Inspector und Assignment Diagnose machten komplexe Entscheidungen sichtbar und prüfbar.

0.24.1
AI Integration

AI Layout Assistant und Inspector wurden mit verschlüsseltem Schlüssel-Store ergänzt.

0.99.x
Release Candidate

Drag & Drop, visuelle Custom-Field-Auswahl, Zuweisungseditor, HTML-Element und Live Preview wurden finalisiert.

1.0.0
Stable

Der abgenommene RC-Stand wurde ohne Funktionsänderung als stabile Basis veröffentlicht.

Probleme & Lösungen

Was technisch besonders interessant war

Komplexität sichtbar machen

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.

Performance stabil halten

Layoutauflösung, Datenzugriffe und Rendering mussten gezielt gecacht werden. Gleichzeitig brauchte es selektive Invalidierung, damit Änderungen sofort korrekt sichtbar bleiben.

Editor statt Konfigurationsdatei

Die Nutzung sollte nicht an YAML/PHP oder starren Formdefinitionen hängen. Deshalb wurden Drag & Drop, einklappbare Bereiche und visuelle Feld-/Zuweisungseditoren ausgebaut.

Abnahme

Tests und belastbare Nachweise

Library

Die Layout Library wurde über 14 praktische Tests abgenommen, inklusive verschachtelter Abhängigkeiten und Installationsstatus.

Performance

Compilation, Render Cache, Query Cache, Dependency Cache und Lazy Loading wurden einzeln sowie in Regression geprüft.

Stable

Der finale 1.0.0-Stand wurde über Installation, Builder, Felder, Bedingungen, HTML-Element, Live Preview und bestehende Kernfunktionen abgenommen.

Ergebnis

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.

Nächster Schritt

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.