Verarbeitungsanweisungen
Es ist zudem möglich, Verarbeitungsanweisung (XML Processing Instructions) für andere Systeme mitzugeben. Diese beginnen mit dem Prefix "<?jax " und sind intern nach dem key="value"-Prinzip aufgebaut.
Die Anweisungen können für Gruppen, Elemente oder für das ganze Formular hinterlegt werden.
Werden die eingereichten Formulardaten als JSON an einen Rest-Endpunkt verschickt, so werden die XML Daten generisch in ein JSON umgewandelt. Nähere Informationen dazu sind im nächsten Kapitel beschrieben.
Verarbeitungsanweisungen (Feld- und Gruppenebene)
Für Gruppen und Elemente können die Anweisungen im Wizard unter "Feldeigenschaften -> Verarbeitung" hinterlegt werden.
Verarbeitungsanweisungen (Formularebene)
Möchte man Verarbeitungshinweise für das gesamte Formular hinterlegen, so werden diese auf der Formulardefinition im Bereich "Eigenschaften" hinterlegt. Aktivieren Sie für eine Eigenschaft, bestehend aus Wert und Inhalt, die Checkbox "Serialisieren", damit diese als Processinginstruction für das gesamte Formular geschrieben wird.
Beispiel-XML mit Processinginstructions
Ein erzeugtes XML weist dann folgende Struktur auf:
Hinweis zu Processing Instructions
Innerhalb von Processing Instructions wird das Zeichen '&' escaped. Im Folgenden wird dies anhand eines Beispieles eines Attachments aufgezeigt.
Filename des Attachments:
Innerhalb der Processing Instruction:
- fileName="Grundriss Erdgeschoss Testzeichen; & .pdf"
1) Fingerprint
Im sogenannten Fingerprint stehen generelle Informationen zur Formularinstanz sowie die bei der Formulardefinition als zu Serialisieren angegebenen Eigenschaften, getrennt durch Semikolon und ggf. URL encoded. Folgende Parameter werden immer mitgeliefert:
Schlüssel | Bedeutung | Beispielswert |
---|---|---|
version | JAXFront Core Versionsnummer | 3.26.1 |
time / CREATED | Erstellzeitpunkt des Formulareingangs | 2019-07-08 17:44:52.119 |
MANDANT_ID | Systeminterne ID des Mandanten | 15 |
SEQUENCE_ID | Sequenz-ID des Formulareingangs | 52 |
LASTUPDATE_USER | User, welche als letztes die Formularinstanz aktualisiert hat. Im Falle eines öffentlichen Formulars ist dies stets "anonymous". | admin |
LASTUPDATE | Datum, wann als letztes die Formularinstanz aktualisiert wurde. Dies deckt sich im Normalfall mit "time", wenn keine Aktualisierung stattfand. | 2019-07-08 17:44:52.119 |
STATUS | Jetziger Formularinstanz-Status, abhängig von den im Workflow hinterlegten Zuständen. | 2 |
STATUS_TARGET | Zielstatus, welcher im Normalfall immer STATUS entsprechen sollte. Es ist jedoch möglich, dass programmatisch interferiert wird und bewusst beim STATUS nicht der Zielstatus gesetzt wird. | 4 |
STATUS_ORIGIN | Ursprungsstatus der Formularinstanz vor dem Speichern | 1 |
FORM_ID | System-ID des Formulars | Kontaktformular |
NAME | System-Name des Formulars | Kontaktformular |
pid | Prozess-ID des Formulareingangs | 13427 |
GUID | GUID des Formulareingangs | 6068bfc0-75fd-4fdb-b50a-40d77cb11d5b |
OWNER | Ursprünglicher Ersteller des Formulareingangs. Im Falle eines öffentlichen Formulars ist dies stets "anonymous". | anonymous |
ORIGIN_URL | Ursprüngliche URL des Formulars | http://testdomain.ch/formservice/eforms |
GROUP_ID | Systeminterne ID der Gruppe, zu welcher das Formular gehört | 7277 |
2) Processing Instructions: Elemente/Gruppen
Diese Verarbeitungsanweisungen wurden im Wizard hinterlegt, hier auf Feld und Gruppen-Ebene (analog Screenshot: Feldeigenschaften).
3) Automatisch generierte Processing Instructions
Bei Dateien wird der Name und die Grösse der Datei (Bytes) automatisch im XML hinzugefügt. Der Wert (GUID) ist der eindeutige Schlüssel der hoch geladenen Datei. Mit einem separaten Rest-Endpunkt kann die Datei mit Angabe dieser GUID heruntergeladen werden.
<var id="VAR_fileupload"> <?jax fileName="LEMFormularBetrieb12_Daten.pdf" fileSize="1104834"?> 49fec53f-3c74-475a-8025-dc04044247da </var>