Versionen im Vergleich

Schlüssel

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

Durch die Datenmodellierung lassen sich bestimmte Datentabellen um dynamische Informationen erweitern.

Image Removed

Aufbau des Plugins

Die Datenmodellierung

...

in

...

Aktualisierung des Datenbankschemas

Werden Änderungen an der Datenmodellierung in Form der Datenpflege vorgenommen, so ist eine Aktualisierung des Datenbankschema notwendig. Hierbei werden die Datenbankwidgets aller Tabellen, welche die Datenmodellierung nutzen können, aktualisiert und ein Cache über diese Datenbankwidgets erstellt.

Image Removed

...

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

  • Fomularmasken
  • Feldgruppen
  • Felder

Jede dieser Datenbanktabellen stellt eine Ebene der Datenmodellierung dar. Felder können optional in Feldgruppen struktutiert werden. Felder und Feldgruppen 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 können die o.g. Aktionen ausgelöst werden.

Info

Neben dem manuellen Aktualisieren des Datenbankschemas, wird dies auch im Rahmen der Installation bzw. eines Updates von brandbox durchgeführt.

Datenpflege

Die Datenmodellierung wird auf drei Ebenen gepflegt - den Formularmasken, den Feldgruppen und den Feldern. Felder können Kinder von Feldgruppen sein, Felder und Feldgruppen können Kinder von Formularmasken seinwird der bestehende Cache der Datenmodellierung bereinigt und aus den Datenbanktabellen neu aufgebaut.

Formularmasken

Eine Formularmaske repräsentiert eine generelle Erweiterung einer Datentabelle um die mit dieser Formularmaske verknüpften Felder und Feldgruppen.

Image Removed

...

Hier stehen alle Tabellen zur Auswahl, welche durch die Datenmodellierung erweitert werden können. Es können mehrere Tabellen gewählt werden.

Info

Es gibt Anwendungsfälle aus anderen Plugins in denen hier keine Tabelle ausgewählt werden muss.

Feldgruppen

Eine Feldgruppe repräsentiert einen Reiter (Tab) innerhalb eines Datenformulars. Unter diesem Reiter werden alle mit dieser Feldgruppe verknüpften Felder angezeigt.

Image Removed

...

Der Identifikator dieser Feldgruppe.

Info

Identifikatoren von Feldgruppen müssen pro Mandant eindeutig sein und dürfen ausschließlich aus Groß- und Kleinbuchstaben von A bis Z und Zahlen von 0 bis 9 bestehen. Gemäß der brandbox-Code-Konvention sollten Identifkatoren mit einem kleinen Buchstaben beginnen.

...

Feld

Ein Feld repräsentiert ein tatsächliches Feld, welches in der Datenbank abgespeichert wird.

Info

Übersetzungsmöglichkeiten beachten.

Image Removed

Image Removed

Image Removed

...

Der Identifikator dieses Feldes.

Info

Identifikatoren von Feldern müssen pro Mandant eindeutig sein und dürfen ausschließlich aus Groß- und Kleinbuchstaben von A bis Z und Zahlen von 0 bis 9 bestehen. Gemäß der brandbox-Code-Konvention sollten Identifkatoren mit einem kleinen Buchstaben beginnen.

...

Der Formulartyp des Feldes. Es stehen die gängigen Formulartypen für brandbox zur Verfügung.

Info

Felder mit dem Formulartyp "Benutzerdefiniertes Feld" benötigen ggf. eine erweiterte Konfiguration.

...

Der Standardwert für dieses Feld, sollte es in einem neuen Datensatz verwendet werden.

Info

Nicht jede Implementation der Datenmodellierung nutzt diesen Standardwert.

...

Die Konfiguration des gepflegten Feldes.

Info

Die hier einzutragenden Werte können sich gravierend unterscheiden. Die jeweiligen möglichen Konfigurationen werden von den entsprechenden Plugins behandelt.

...

Eine Liste an Einschränkungen welche für die Werte des gepflegten Feldes gelten.

Info

Genutzt werden hier Symfony Validator Constraints.

...

Verwendung

Durch die Hauptklasse \brandbox\component\modelling\engine werden drei öffentliche Methoden zur Verfügung gestellt:

...

Liest das entsprechende Feld der Datenmodellierung anhand der eindeutigen numerischen ID aus und gibt ein Objekt zurück welches das Interface \brandbox\component\widget\lib\widget\interfaces\columnInterface implementiert.

Info

Die Methode \brandbox\component\widget\lib\widget\interfaces\columnInterface::getColumnGroupWidget wird hier null zurückgeben, da dieses Feld direkt bezogen wurde.

...

Info

Die Datenmodellierung integriert sich in die Datenbankwidgets und wird von anderen Plugins gesondert genutzt. Diese Plugins dokumentieren ihre Integration der Datenmodellierung selbst.

Events

Interface: \brandbox\component\modelling\lib\event\modellingEventInterface

Adapter: \brandbox\component\modelling\lib\event\adapter\modellingEventAdapter

...

wird genutzt um Feldgruppen 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 Feldgruppen und Felder werden den Tabellen hinzugefügt, bestehende Felder und Feldgruppen mit der Struktur aus den Formularmasken überschrieben bzw. erweitert. Felder welche direkt als Kinder einer Formularmaske zugewiesen sind, werden indirekt der Feldgruppe "Allgemein" zugewiesen.

Feldgruppen