Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Die Datenmodellierung in brandbox ermöglich die Erweiterung und Veränderung von existierenden Datenbanktabellen sowie die Definition von unabhängigen Eingabefeldstrukturen. Sie erweitert und nutzt die Widgetstruktur von brandbox. Die Konfiguration der Datenmodellierung ist in die folgenden Datenbanktabellen verteilt:

  • Fomularmasken
  • Gruppen
  • Sets
  • Felder

Jede dieser Datenbanktabellen stellt eine Ebene der Datenmodellierung dar. Felder können optional in Gruppen und Sets struktutiert werden. Felder, Gruppen und Sets werden innerhalb einer Formularmaske organisiert. Die Struktur der Datenmodellierung wird im Cache von brandbox vorgehalten um nicht immer aus den Datenbanktabellen erstellt werden zu müssen. Um diesen Cache zu aktualisieren steht in den Toolbars der genannten Tabellen die Schaltfläche " Datenbankschema aktualisieren" zur Verfügung. Hierüber wird der bestehende Cache der Datenmodellierung bereinigt und aus den Datenbanktabellen neu aufgebaut.

Formularmasken

Eine Formularmaske wird genutzt um Gruppen, Sets und Felder zu organisieren und optional einer Tabelle zuzuordnen. Bei Zuordnung von einer oder mehreren Tabellen wird die in der Formularmaske geplegte Struktur mit den Strukturen der gewählten Tabellen vereint. Neue Gruppen, Sets und Felder werden den Tabellen hinzugefügt, bestehende Felder, Sets und Gruppen mit der Struktur aus den Formularmasken überschrieben bzw. erweitert. Felder welche direkt als Kinder einer Formularmaske zugewiesen sind, werden indirekt der Gruppe "Allgemein" und dem Set "Allgemein" zugewiesen.

Gruppen

Eine Gruppe wird genutzt um Felder und Sets zusammenzufassen. Gruppen werden bspw. auch von den bestehenden Datenbanktabellen von brandbox genutzt um die Eingabefelder eine Tabelle zu strukturieren. Die Datenmodellierung nutzt dieses System daher nur. Zusätzlich bietet die Datenmodellierung die Möglichkeit eine bereits exisitierende Gruppe einer Tabelle zu erweitern.

Sets

Ein Set fasst eines oder mehrere Eingabefelder innerhalb einer Gruppe zusammen. Wie auch bei den Gruppen, können auch existierende Sets erweitertert werden.

Felder

Felder repräsentieren Eingabefelder sowie ihrer spezifischen Konfiguration wie bspw. das Label, der Typ des Eingabefeldes, die Feldbeschreibung, etc. Hier besteht zudem die Möglichkeit ein bereits existierendes Eingabefeld einer Datenbanktabelle zu ersetzen. Hierbei nimmt das Feld aus der Datenmodellierung den Platz des Feldes aus der Tabellenstruktur ein. Die gesamte Konfiguration des Eingabefeldes wird dann aus der Datenmodellierung bezogen.

Feldtypen

...

Info

Bitte beachten Sie auch die Anwenderdokumentation

Feldtypen

Die in der Strukturmodellierung zur Verfügung stehenden Feldtypen der Eingabefelder werden über das Event OnPopulateTypes eingesammelt. Es stehen derzeit fast alle Feldtypen welche von brandbox untersützt werden zur Verfügung.

Programmatische Eingriffsmöglichkeiten

Info

Die Datenmodellierung arbeitet Strukturmodellierung arbeitet mit einer öffentlichen und einer internen Datenstruktur. Die interne Datenstruktur darf niemals außerhalb der Datenmodellierung Strukturmodellierung bzw. der internen Events der Datenmodellierung eingesetzt Strukturmodellierung eingesetzt werden.


Codeblock
languagephp
themeRDark
titleAbrufen einer Formularmaskenstruktur
use Brandbox\Framework\Component\Modelling;

$id = 0; // ID des Formularmaskendatensatzes

$mask = $this
  ->staticController(Modelling\Manager::class)
  ->getMaskWidget($id)
;

...

Codeblock
languagephp
themeRDark
titleAbrufen einer Feldstruktur
use Brandbox\Framework\Component\Modelling;

$id = 0; // ID des Felddatensatzes
$identifier = 'ExampleIdentifier'; // Identifikator des Felddatensatzes

$column = $this
  ->staticController(Modelling\Manager::class)
  ->getColumnWidgetById($id)
;

// oder

$column = $this
  ->staticController(Modelling\Manager::class)
  ->getColumnWidgetByIdentifier($identifier)
;

Events

KlassennameBeschreibung
\Brandbox\Framework\Component\Modelling\Lib\Event\OnPopulateTypesSammelt die verfügbaren Eingabefeldtypen für die Datenmodellierung ein.

...