# Optionale Inhalte
Optionale Inhalte werden in JSON Schema, das als Framework für die Formularerstellung verwendet wird, als oneOf
definiert.
In der Modellierung wird ein oneOf-Element als Optional Group oder Optional Fields definiert.
Diese unterscheiden sich lediglich in der Art und Weise, wie die Daten persistiert werden.
Zusätzlich steht für die Modellierung ein Optional Container zur Verfügung.
WARNING
Die Modellierung von optionalen Inhalten ist sehr komplex. Dies liegt vor allem daran, dass im verwendeten Framework für die Visualisierung, VJSF, die Darstellung der Elemente an die Definition der Datenstruktur gekoppelt ist. Zudem wird das dahinterliegende JSON Schema vom System verwendet, um eine Validierung der Daten durchzuführen.
Die Modellierung von optionalen Inhalten sollte daher nur in Ausnahmefällen verwendet werden. In zukünftigen Versionen des Systems wird die Modellierung von optionalen Inhalten überarbeitet.
# Optional Group
Eine Optional Group beinhaltet eine Liste von Optional Select Items.
Diese können wie ein Feld in einer Gruppe definiert werden.
In einer Optional Group kann wie bei einem normalen Feld ein Key angegeben werden.
Unter diesem Key werden die Daten der Optional Select Items gespeichert.
{
"fahrzeug": {
"typ": "pkw",
"kennzeichen": "M-AB 1234"
}
}
2
3
4
5
6
oder
{
"fahrzeug": {
"typ": "bahn",
"bahnhof": "München Hbf"
}
}
2
3
4
5
6
# Optional Fields
Über Optional Fields gibt es die Möglichkeit, die Inhalte der Optional Select Items auf der obersten Ebene im JSON
zu speichern.
TIP
Optional Fields müssen in einem Optional Container definiert werden.
Ein Optional Container befindet sich auf derselben Ebene wie eine Group.
Das folgende Formular:

würde im JSON wie folgt gespeichert werden:
{
"typ": "pkw",
"kennzeichen": "M-AB 1234"
}
2
3
4
oder
{
"typ": "bahn",
"bahnhof": "München Hbf"
}
2
3
4
# Optional Select Item
Ein Optional Select Item ist ein Feld, das in einer Optional Group oder Optional Fields verwendet wird.
# Einstellungen
- Titel: Der Titel wird verwendet, um im Select-Element die Auswahlmöglichkeit anzuzeigen.

Über die selection wird die Auswahl identifiziert.
Der Key selection und der dazugehörige Wert können im Kontextmenü konfiguriert werden.
Im zuvor aufgeführten Beispiel ist der Key typ und der Wert pkw bzw. bahn.

WARNING
Selection Items, die sich in derselben Gruppe befinden, müssen den gleichen Key haben.