Projektdatenmodell
Um Projekte in brandbox umzusetzen sind in manchen Fällen neue Datenbanktabellen oder Datenbankspalten in bestehenden Datenbanktabellen erforderlich. In brandbox stehen für diese Anpassungen verschiedene Optionen zur Verfügung. Jede dieser Optionen ist für verschiedene Anwendungsfälle gedacht.
Option #1: Strukturmodellierung NO-code
Die Strukturmodellierung erlaubt die Erweiterung und Anpassung von bereits vorhandenen Datenbanktabellen. Diese Änderungen können konfigurativ in der Administrationsoberfläche vorgenommen werden.
Anpassungen können durch Anwender vorgenommen werden
Geringer Wartungsaufwand durch Migrationen
Hinzugefügte Eingabefelder dürfen nicht direkt im Code referenziert werden
Inhalte werden in ODM-Spalte als JSON abgespeichert
Option #2: Datenbankspalten per PHP erweitern Low-code high-code
Mithilfe einer Projekt-App können vorhandene Datenbanktabellen mit eigenen Spalten erweitert werden. Diese Option kann mit der modelling.json
kombiniert werden um die hinzugefügten Spalten als Eingabefelder in die Tabellendefinition einzufügen.
Hinzugefügte Spalten dürfen im Code referenziert werden
Inhalte werden in echten Datenbankspalten abgespeichert
Anpassungen durch einen Programmierer
Namenskollisionen können auftreten
Option #3: PIM NO-code
Mit PIM können eigene Datenbanktabellen sowie deren Verbindung zueinander über die Administrationsoberfläche definiert werden.
Konfiguration durch Anwender möglich
Trennung der Daten durch Datenpools
Referenzierung im Code nicht gestattet
Tabellen nur über PIM-Dashboard erreichbar
Option #4: Projektentitäten high-code
Mit dieser Option können in einem Projekt eigene Entitäten zusammen mit einer Widgetdefinition erstellt werden.
Datenbankentitäten und Spalten vollständig im Code referenzierbar
Performanceoptimierungen durch Indexierung möglich
Wartungsaufwand durch Projektcode
Anpassungen durch einen Programmierer
Welche Option ist für mein Projekt geeignet?
Die verfügbaren Optionen dürfen in einem Projekt kombiniert werden um verschiedene Anforderungen abzudecken.
Projektbeispiel | Geeignete Optionen |
---|---|
Eine Erweiterung von vorhandenen Datenbanktabellen um kundenspezifische Informationen abzuspeichern und durch einen Import zu befüllen. | #1, #2 (wenn die Informationen im Code referenziert werden) |
Eine Umstrukturierung einer vorhandenen Datenbanktabelle (bspw. Umbennenen von Feldgruppen und Sortieren von Eingabefeldern). | #1 |
Eine Katalogproduktion mit kundenspezifischer Datenstruktur. Eine direkte Verwendung der Datenbanktabellen im Code findet nicht statt. | #3 |
Individuelle Datenstrukturen für eine nicht mit einem Produkt abdeckbare Anforderung. Die Datenbanktabellen müssen direkt im Code referenziert werden um projektspezifische Prozesse abzubilden. | #4 |