dbXapp ist ein PHP-basiertes System fuer modulare Webanwendungen, CMS-Seiten, Admin-Werkzeuge, Datenbankmodelle, Formulare, Reports und eine laufzeitnahe Entwicklungsumgebung. Die zentrale Idee ist: die Infrastruktur liegt im Kernel, Module beschreiben Fachlogik, Templates beschreiben Ausgabe, DD/FD beschreiben Daten und Eingaben.
Diese Dokumentation ist fuer Menschen und KI-Agenten geschrieben. Menschen sollen schnell verstehen, wie dbXapp gedacht ist. KI-Agenten sollen einen verbindlichen Handlungsrahmen bekommen, damit Erweiterungen nicht an der Systemarchitektur vorbei gebaut werden.
Request-, Modul-, Template- und Interpreter-Ablauf
Was dbXapp leisten soll
Content-getriebene Frontends mit CMS-Seiten, Permalinks, Medien, Mehrsprachigkeit und Modul-Inclusion.
Parameter-getriebene Administration mit Reports, Formularen, DD-Sync, Konfiguration, Cache, Sessions, Systemmeldungen und Runtime-Editoren.
Wiederverwendbare Module, die mehrfach auf einer Seite laufen koennen, ohne sich ueber Parameter, Targets oder UI-State gegenseitig zu stoeren.
Eine RAD- und WYSIWYG-Laufzeit-IDE ueber dbx_edit, die Templates, Seitenbereiche, Modulquellen und teilweise Formularoberflaechen direkt in der Anwendung bearbeitbar macht.
Standardisierte Datenzugriffe, Formulare, Reports, Ajax-Aktualisierungen, Fensterdialoge, Confirm-Dialoge und UI-State-Verwaltung.
Lesepfad
Wer dbXapp neu kennenlernt, sollte zuerst die System- und Routing-Kapitel lesen. Wer konkret entwickeln will, folgt danach den Leitfaeden zu dbxTPL, dbxDB, dbxForm, dbxReport, JavaScript und Modulaufbau. Fuer Design- oder Shop-Aufgaben gibt es jeweils einen erklaerenden Leitfaden fuer Menschen und eine strukturierte, verbindliche Arbeitsreferenz fuer KI-Agenten.
Die Menschen-Leitfaeden erklaeren Ziel, Aufbau und Arbeitsablaeufe. Die KI-Referenzen enthalten zusaetzlich feste Invarianten, kanonische Pfade, Aufgabe-zu-Datei-Zuordnungen, verbotene Abkuerzungen und Mindesttests. Bei Widerspruechen muss zuerst der aktuelle Code geprueft und danach beide Dokumente gemeinsam berichtigt werden.
Grundregeln
Kernel-Klassen und zentrale JavaScript-Libs werden genutzt, nicht umgangen.
Templates aus /tpl sind die Quelle der Ausgabe. Der Template-Editor zeigt diese Dateien roh an und darf keine [modul=...]-Aufrufe auswerten.
dbxInterpreter laeuft bei der normalen Webausgabe, auch bei aktivem dbx_edit. Nur der Template-Editor selbst muss Modulaufrufe und Marker als Quelltext behandeln.
Die Ausgabe-Pipeline interpretiert nur einfache Marker: [inc], [tpl] und [modul].
Fuer Listen, Suche, Sortierung, Pagination und Aktionen dbxReport verwenden.
Ajax-, Confirm-, OpenWin- und UI-State-Verhalten ueber die vorhandenen JavaScript-Libs anbinden.
Modulaufruf in Content, Page-Template oder Admin-Template eintragen.
Doxygen und fachliche Screens im Browser pruefen.
dbXapp wird stabil, wenn Module klein bleiben und die gemeinsamen Pipelines genutzt werden. Die Dokumentation beschreibt deshalb bewusst Ablaeufe, Konventionen und Beispiele, nicht nur einzelne Methoden.