...
Drawio | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Was sind Identifikatoren?
Jeder Teil einer Definition verfügt über einen Identifikator welcher entweder global oder lokal eindeutig sein muss. Zudem sind manche Identifikatoren durch äußere Umstände bereits vorgegeben und können innerhalb der Definition nicht verändert werden. Frei wählbare Identifikatoren dürfen nur aus den Zeichen a
bis z
, A
bis Z
sowie den Ziffern 0
bis 9
bestehen.
Wie definiere ich einen Widgetbestandteil?
Jedes Codepaket in brandbox kann eine Widget-, eine Modellierungs- und mehrere Strukturdefinitionen besitzen. Diese Definitionen werden in einer JSON-Datei abgelegt welche einem entsprechenden JSON-Schema folgen muss. Diese Schemata können auch in PHPStorm zur Validierung und Hilfestellung beim Erstellen dieser Dateien eingebunden werden.
Bestandteil | Dateiname | JSON-Schema |
---|---|---|
Widgetdefinition | <package root>/widget.json | plugin/remote/brandbox/framework/resources/widget-schema.json |
Modellierungsdefinition | <package root>/modelling.json | plugin/remote/brandbox/framework/resources/modelling-schema.json |
Strukturdefinition | <package root>/**/*.json | plugin/remote/brandbox/framework/resources/structure-schema.json |
Wann benötige ich eine Widgetdefinition?
Sobald ein Codepaket in brandbox über Entities für Doctrine verfügt, muss eine widget.json
für das entsprechende Paket erstellt werden um die Entity (Tabelle) sowie deren Eigenschaften (Eingabefelder) zu beschreiben und optional in Gruppen und Sets zu organisieren. Eine Eigenschaft muss nicht zwingend in der Widgetdefinition enthalten sein, die Entity selbst allerdings schon. Der Klassenname der erstellten Entity entspricht dem Tabellenidentifikator und die Namen der Eigenschaften den Eingabefeldidentifikatoren.