"Yet Another Boring" CMS – Fast Forward (YAB CMS)

"Yet Another Boring" CMS – Fast Forward (YAB CMS) ist das Content-Management-System, auf dem eigene Portale und kundenspezifische Anwendungen aufbauen. Es ist Open Source, läuft auf CakePHP 5 und PHP 8 und bleibt bewusst schlank. Die Architektur ist so angelegt, dass Erweiterungen dort entstehen, wo sie gebraucht werden – nicht als unkontrollierte Plugin-Schicht.

Das System wird produktiv eingesetzt und weiterentwickelt. Die Investition in das Open-Source-Projekt ist gleichzeitig die Grundlage für eigene Kundenprojekte: Wer die Basis kennt, kann sie erweitern, ohne bei jedem Auftrag neu anzufangen.

Content-Modell (EAV)

Artikeltypen definieren die Struktur, Attribute die Felder, Values den Inhalt. Dadurch können Produkte, Seiten, Projekte oder eigene Typen ohne Schemaänderungen abgebildet werden. Der Editor unterstützt WYSIWYG, Medienfelder und vordefinierte Auswahlwerte. Artikel lassen sich nach Domain, Locale und Typ filtern und können als promoted markiert werden.

Multi-Domain und Mehrsprachigkeit

Jede Domain kann ein eigenes Theme und eigene Locales besitzen. Menüs, Kategorien und Einstellungen werden pro Domain und Sprache verwaltet. Das System erkennt beim ersten Aufruf den Host, legt die Datenbank an und richtet die Domain ein – Zero-Config mit SQLite als Startpunkt, austauschbar gegen MySQL, MariaDB oder PostgreSQL.

Rollen und Zugriff

TinyAuth steuert den Zugriff. Vordefinierte Rollen (Admin, Manager, Public) decken die üblichen Fälle ab. Öffentliche Routen (Login, Registrierung, promoted Articles) sind explizit freigegeben. Formulare geben sofortiges Feedback zu Pflichtfeldern.

REST-API und Import/Export

Die meisten Entitäten sind über eine JSON-REST-API unter /api erreichbar. Authentifizierung erfolgt über einen Token-Endpoint. Import und Export unterstützen CSV, XLSX, XML und JSON – für Artikel, Einstellungen und weitere Objekte.

Technische Basis

  • CakePHP 5 und PHP 8.2+
  • AdminLTE für das Backend
  • EAV-Content-Modell ohne Schemaänderungen
  • Multi-Domain und Multi-Locale
  • Rollenbasierte Rechte (TinyAuth)
  • REST-API und Token-Authentifizierung
  • Import/Export in mehreren Formaten
  • Bot-Protection-Middleware gegen gängige Scanner-Pfade

Der Code liegt auf GitHub und kann als Plugin in bestehende CakePHP-Anwendungen eingebunden werden. Die Weiterentwicklung erfolgt im gleichen Stack, der auch für Kundenprojekte verwendet wird.