Version: GSB 7Formularvarianten
Einfache Formularvariante
Bei der einfachen Variante müssen, wie bereits gesagt, vier Dokumente angelegt werden.
Navigationsknoten [NavNode]
Der Navigationsknoten definiert den Navigationseintrag, unter dem das Formular adressiert werden soll. D. h. die Property Navigationsziel-Standard [navTarget] verweist auf Navigationsziel des Knoten (NavTarget).
Navigationsziel [NavTarget]
Die Seitenbefüllung des Navigationsziels verweist auf einen HTML-Formular Integrator [HTMLFormEnt]. D. h. der HTML-Formular Integrator wird in einem freien Slot zugeordnet (Property Dokumente) und mit einer geeigneten Layout Variante verknüpft (Property Layout).
HTML-Formular Integrator [HTML_FormEnt]
Die Property HTML-Formular [form] ist mit dem eigentlichen HTML-Formular [HFForm] verknüpft.
HTML-Formular [HFForm]
Die Properties des HTML-Formulars müssen folgendermaßen belegt werden:
- Formularverarbeitungsreferenz verweist mit dem Text-Classifier failure auf den Navigationsknoten (NavNode) des Formulars.
- Formularverarbeitungsreferenz verweist mit dem Text-Classifier success auf den Navigationsknoten, der im Erfolgsfall aufgerufen werden soll (Folgeseite).
- Formularelemente (cl2Items) enthält die anzuzeigenden Formularelemente (siehe unten) mit ihren jeweiligen ViewVarianten.
- Layout verweist auf das LOGrid, welches zur Anordnung der Formularelemente verwendet werden soll. In diesem LOGrid entspricht in der Regel ein konfigurierter „Slot“ einem Element des Formulars. Die Bestückung des Slots mit den Formularelementen entspricht dabei dem Vorgehen beim NavTarget.
- iD kann den HTML-Namen des Formulars enthalten.
- Action verweist auf die zu verwendende Formular-Aktion.
- Method gibt die zu verwendende Methode (get oder post) an und ob die Zielseite über http oder https aufgerufen werden soll.
- Encoding gibt das zu verwendende Formular-Encoding an. In der Regel kann dieses Feld leer bleiben. Lediglich bei Multipart-Formularen muss das zu verwendende Encoding ausgewählt werden.
- Die Checkbox CSRF-Zugriffsschutz definiert, ob das Formular gegen CSRF-Attacken geschützt werden soll.
Komplexe Variante
Diese Variante ist die präferierte Variante zur Definition von HTML-Formularen. Folgende Dokumente müssen angelegt werden.
Navigationsknoten [NavNode]
- Navigationsziel-Standard [navTarget] verweist auf das Navigationsziel [NavTarget].
- Navigationsziel-Dokument (langEntTarget) verweist auf ein Navigationsziel, das genauso aufgebaut ist wie das Navigationsziel des Formulars selbst, jedoch ein dynamisches ID-Dokument (DynDocIdLangEnt) anstelle des Formular-Integrators enthält. In der Regel kann dieses ID-Dokument an mehreren Stellen verwendet werden. Daher sollte es in einem anderen Verzeichnis untergebracht werden. Das Navigationsziel-Dokument wird für die Anzeige der Fehlerseite nach Abschicken des Formulars verwendet.
Navigationsziel [NavTarget]
Die Seitenbefüllung des Navigationsziels verweist auf einen HTML-Formular Integrator (Cacheable) [HTML-FormEnt]. D. h. der HTML-Formular Integrator wird in einem freien Slot zugeordnet (Property Dokumente) und mit einer geeigneten Layout Variante verknüpft (Property Layout).
HTML-Formular Integrator (Cacheable) [HTMLFormEnt]
Dieses Dokument wird vom Navigationsziel referenziert.
Die Property HTML-Formular [form] ist mit dem eigentlichen HTML-Formular [HFForm] verknüpft. Zusätzlich ist die Property Cachingstrategie auf „cacheable“ konfiguriert werden.
HTML-Formular Integrator (Non-Cacheable) [HTMLFormEnt]
Dieses Dokument wird zur Anzeige der Folgeseite nach Abschicken des Formulars verwendet.
Die Property HTML-Formular [form] ist mit dem eigentlichen HTML-Formular [HFForm] verknüpft. Zusätzlich ist die Property Cachingstrategie auf „non-cacheable“ konfiguriert werden.
Als Standardnavigationsknoten [defaultNavNode] wird eine Referenz auf den Navigationsknoten konfiguriert.
HTML-Formular [HFForm]
Die Properties des HTML-Formulars müssen folgendermaßen belegt werden:
- Formularverarbeitungsreferenz verweist mit dem Text-Classifier failure auf den non-cacheable HTML-Formular Integrator [HTMLFormEnt].
- Formularverarbeitungsreferenz verweist mit dem Text-Classifier success auf de Navigationsknoten, der im Erfolgsfall aufgerufen werden soll (Folgeseite).
- Formularelemente (cl2Items) enthält die anzuzeigenden Formularelemente (siehe unten) mit ihren jeweiligen ViewVarianten.
- Layout verweist auf das LOGrid, welches zur Anordnung der Formularelemente verwendet werden soll.
- ID kann den HTML-Namen des Formulars enthalten.
- Action verweist auf die zu verwendende Formular-Aktion.
- Method gibt die zu verwendende Methode (get oder post) an, und ob die Zielseite über http oder https aufgerufen werden soll.
- Encoding gibt das zu verwendende Formular-Encoding an. In der Regel kann dieses Feld leer bleiben. Lediglich bei Multipart-Formularen muss das zu verwendende Encoding ausgewählt werden.
Bei diesem Mechanismus wird im ersten Aufruf des Formulars (über das NavNode und das NavTarget) der cacheable-Integrator verwendet. Im Fehlerfall dagegen wird der noncacheable-Integrator direkt aufgerufen. Das führt dazu, dass dessen Standard-Navigationsknoten angezeigt wird und die bereits eingegebenen Daten vorausgefüllt werden können.
Formularverzweigungen
Eine Realisierung mehrseitiger Formulare kann durch eine Abfolge von einzelnen Formularseiten realisiert werden. Die Verknüpfungen der Formularseiten erfolgt über die Success- bzw. Back-Zielseiten in der Formularverarbeitungsreferenz der Formularseiten, wobei grundsätzlich über Success die nachfolgende Formularseite und über die Back-Zielseite die vorherige Formularseite adressiert wird. Der folgende Screenshot skizziert die Definition der Success-Zielseite anhand der Expertensuche.
Eine Verzweigung in der Formularnavigation kann anhand von Formularparametern dynamisch ermittelt werden. Die jeweiligen Zielseiten werden hierbei im Format success[NAME] bzw. success[NAME=WERT] definiert. Mit einer analogen Syntax kann auch die Zieseite für die Zurücknavigation definiert werden.
Um bspw. für die Expertensuche eine andere Zielseite zu konfigurieren, wenn der Nutzer nach dem Dokumenttyp „Speech“ sucht, muss die Formularverarbeitungsreferenz folgendermaßen konfiguriert werden.