Wiki-Quellcode von Platzhalter


Zeige letzte Bearbeiter
1 {{content/}}
2
3 Platzhalter werden für die Ersetzung von Formular- oder Systemwerten verwendet und stehen in [[Aktionen>>doc:Formcycle.Designer.Workflow.Actions.WebHome]], [[Templates>>doc:Formcycle.UserInterface.FilesAndTemplates.WebHome]] sowie [[Datenbank-Abfragen>>Formcycle.UserInterface.Data.DBQueries.WebHome]] zur Verfügung.
4
5 == Verwenden von Platzhaltern ==
6
7 {{figure image="1_de_PlatzhalterEMail.png" group="platzhalter"}}
8 Symbol für das Öffnen einer Platzhalterauswahl an einem Options- und einem Textfeld im Aktionstyp [[E-Mail>>doc:Formcycle.Designer.Workflow.Actions.EMail]].
9 {{/figure}}
10
11 {{figure image="2_de_Platzhalter.png" width="150" group="platzhalter"}}
12 Die geöffnete Platzhalterauswahl. Hier kann ein Formularfeld ausgewählt werden, dessen Wert genutzt wird.
13 {{/figure}}
14
15 === Verwendung in Aktionen ===
16
17 Bei Optionsfeldern von Aktionen, die diese unterstützen, kann über das Symbol rechts die Platzhalterauswahl geöffnet werden.
18
19 === Verwendung in Templates ===
20
21 {{figure image="3_de_PlatzhalterTemplates.png" group="platzhalter"}}
22 Platzhalter können auch in Templates genutzt werden. Der Knopf //Platzhalter// öffnet das entsprechende Auswahlmenü.
23 {{/figure}}
24
25 Das Platzhaltermenü kann über den Knopf //Platzhalter// im Template-Editor geöffnet werden oder auch über die Tastenkombination //Strg// + //Leerzeichenzeichentaste//.
26
27 == Platzhaltertypen ==
28
29 {{id name="sec_form_placeholder"/}}
30
31 === Formularplatzhalter ===
32
33 {{panel monospace="true" title="Syntax"}}
34 [%<NameDesFormularelements>%]
35 {{/panel}}
36
37 Dieser Platzhalter wird ersetzt durch den Wert des Formularelements mit dem angegebenen Namen. Formularplatzhalter werden in Aktionen wie z.B. [[E-Mail>>doc:Formcycle.Designer.Workflow.Actions.EMail]], [[Text erzeugen>>doc:Formcycle.Designer.Workflow.Actions.CreateTextFile]], [[Datenbank>>doc:Formcycle.Designer.Workflow.Actions.SQLStatement]] sowie bei [[Templates>>doc:Formcycle.Designer.Workflow.Actions.HtmlResponsePage]] verwendet.
38
39 Beispielweise wird der Platzhalter //[%tfVorname%]// durch den Wert des [[Eingabefelds>>doc:Formcycle.Designer.Form.FormElements.Input]] mit Namen //Vorname// ersetzt.
40
41 === Spezielle Formularplatzhalter ===
42
43 Einige spezielle Formularplatzhalter existieren für alle Formulare:
44
45 ; [%xf-action%]
46 : Der Name der Schaltfläche, die zum Absenden verwendet wurde. Kann etwa genutzt werden, um über eine Bedingung bestimmte Aktionen nur auszuführen, wenn eine bestimmte Schaltfläche gedrückt wurde.
47 ; [%lang%]
48 : Verweist auf die Sprache, die beim Ausfüllen des Formulars verwendet wurde, z.B. //de//, //de-CH//, //en// oder //fr-FR//.
49
50 === Systemplatzhalter ===
51
52 {{panel monospace="true" title="Syntax"}}
53 [%$<Name>%]
54 {{/panel}}
55
56 Dieser Platzhalter wird ersetzt durch den entsprechenden Systemwert. Aktuell stehen folgende Systemplatzhalter in Aktionen und Templates zur Verfügung.
57
58 ; [%$CLIENT_ID%]
59 : Gibt die Mandant-ID des Formulars zurück.
60 ; [%$FORM_LINK%]
61 : Gibt die URL des Formulars zurück.
62 ; [%$FORM_PROCESS_LINK%]
63 : Gibt die URL des Formulars mit dem Inhalt des Vorgangs zurück.
64 ; [%$FORM_VERIFY_LINK%]
65 : Gibt die einmalige Bestätigungs-URL zurück (nötig für [[Double-Opt-In>>doc:Formcycle.UserInterface.MyForms.DoubleOptIn.WebHome]]).
66 ; [%$FORM_INBOX_NAME%]
67 : Gibt den Namen des Postfachs zurück, indem sich der Vorgang derzeit befindet.
68 ; [%$FORM_INBOX_LINK%]
69 : Gibt den Link des Postfachs zurück, indem sich der Vorgang derzeit befindet.
70 ; [%$FORM_INVITE_LINK%]
71 : Gibt den Einladungslink zum Formular zurück.
72 ; [%$PROCESS_ID%]
73 : Gibt die aktuelle Prozess-ID des Vorgangs zurück.
74 ; [%$PROJECT_ALIAS%]
75 : Alias des derzeitigen Formulars.
76 ; [%$PROJECT_ID%]
77 : Gibt die Formular-ID zurück.
78 ; [%$PROJECT_TITLE%]
79 : Ab Version 7 heißt [%$PROJECT_NAME%] nun [%$PROJECT_TITLE%] .
80 : Titel des derzeitigen Formulars.
81 ; [%$RECORD_ID%]
82 : ID des derzeitigen Vorgangs.
83 ; [%$RECORD_READ%]
84 : Rückgabe ob der derzeitige Vorgang gelesen wurde. Liefert Boolean (true/false) zurück.
85 ; [%$RECORD_UNREAD%]
86 : Rückgabe ob der derzeitige Vorgang nicht gelesen wurde. Liefert Boolean (true/false) zurück.
87 ; [%$RECORD_ATTR.<customAttrKey>%]
88 : Auslesen von benutzerdefinierten Vorgangswerten (z.B. [%$RECORD_ATTR.loopCount%]). Damit können am Vorgang Werte gespeichert und in jeder Aktion darauf zugegriffen werden.
89 ; [%$SOURCE_SERVER%]
90 : Gibt den Namen des Servers zurück, auf welchem dieser bereitgestellt und abgesendet wurde (Name des {{fserver case="gen"/}} oder lokal).
91 ; [%$SOURCE_SERVER_URL%]
92 : Gibt die URL des Servers zurück, auf welchem dieser bereitgestellt und abgesendet wurde (Name des {{fserver case="gen"/}} oder lokal).
93 ; [%$STATUS_ID%]
94 : ID des derzeitigen Status.
95 ; [%$STATUS_NAME%]
96 : Name des derzeitigen Status.
97 ; [%$STATUS_TYPE%]
98 : Typ des derzeitigen Status. Diese Werte sind möglich: //RECEIVED// (Eingegangen) und //CUSTOM// (Benutzerdefinierter Status, der durch den Nutzer angelegt wurde).
99 ; [%$TRIGGER%]
100 : Kann im neuen Workflow verwendet werden, um auf die Daten zuzugreifen, die der aktuelle Trigger zur Verfügung stellt. Diese Daten werden als JSON zurückgegeben. Auf die einzelnen Werte des Triggers kann über JsonPath zugegriffen werden (siehe [%$TRIGGER.<JSON_PATH>%]).
101 ; [%$TRIGGER.<JSON_PATH>%]
102 : Abhängig vom Typ des Triggers werden unterschiedliche Informationen über den Trigger-Platzhalter zur Verfügung gestellt. Per JsonPath kann auf spezifische Informationen des Triggers zugegriffen werden. Welche Informationen die verschiedenen Triggertypen bereitstellen, ist über die Infobox am Trigger einsehbar.
103 ; [%$COUNTER_CLIENT.<counterName>%]
104 : Der aktuelle Wert eines Mandantzählers.
105
106 ==== Parametrisierbare Systemplatzhalter ====
107
108 {{panel monospace="true" title="Syntax"}}
109 [%$&lt;Name&gt;(&lt;Parameter&gt;...)%]
110 {{/panel}}
111
112 ; [%$DATE("<format>", <lang>)%]
113 : Aktuelles Datum. Die Parameter sind optional. Ohne Parameter wird das Datum im Standardformat zurückgegeben. Durch die Parameter kann das Format und die Sprache bestimmt werden. Siehe [[SimpleDateFormat>>https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html]] für mehr Informationen zum Datumsformat. Beispiel: {{code language="none"}}[%$DATE("dd.MM.yyyy", de)%]{{/code}}.
114 ; [%$FORM_DATE_CREATED("<format>", <lang>)%]
115 : Erstellungsdatum des Vorgangs. Die Parameter sind optional. Ohne Parameter wird das Datum im Standardformat zurückgegeben. Durch die Parameter kann das Format und die Sprache bestimmt werden, wobei letztere sich auf die Benennung von Wochentagen und Monaten auswirkt. Siehe [[SimpleDateFormat>>https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html]] für mehr Informationen zum Datumsformat. Beispiel: {{code language="none"}}[%$FORM_DATE_CREATED("dd.MM.yyyy", de)%]{{/code}}
116 ; [%$FORM_DATE_MODIFIED("<format>", <lang>)%]
117 : Datum der letzten Änderung des Vorgangs. Die Parameter sind optional. Ohne Parameter wird das Datum im Standardformat zurückgegeben. Durch die Parameter kann das Format und die Sprache bestimmt werden, wobei letztere sich auf die Benennung von Wochentagen und Monaten auswirkt. Siehe [[SimpleDateFormat>>https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html]] für mehr Informationen zum Datumsformat. Beispiel: {{code language="none"}}[%$FORM_DATE_MODIFIED("dd.MM.yyyy", de)%]{{/code}}
118
119 {{id name="sec_user_variables"/}}
120
121 === Benutzerplatzhalter ===
122
123 {{id name="fig_prefill_user_variables"/}}
124 {{figure image="prefill_user_variables_de.png"}}Vorbefüllung von Formularfeldern mit Daten des angemeldeten Benutzers.{{/figure}}
125
126
127 {{html wiki="true"}}
128 <div class='xm-figure xm-float-right xm-clear-h2' data-alt='Vorbefüllung von Formularfeldern mit Daten des angemeldeten Benutzers.'><div class='xm-figure-inner' style='width:310px'>{{lightbox image='prefill_user_variables_de.png' width='300' group='$height' group='$group' title='Vorbefüllung von Formularfeldern mit Daten des angemeldeten Benutzers.'/}}<div class='xm-figure-caption'>Vorbefüllung von Formularfeldern mit Daten des angemeldeten Benutzers.</div></div></div>
129 {{/html}}
130
131
132
133 {{html wiki="true"}}
134 <div class='xm-figure xm-float-right xm-clear-h2' data-alt='Vorbefüllung von Formularfeldern mit Daten des angemeldeten Benutzers.'><div class='xm-figure-inner' style='width:310px'>{{lightbox image='prefill_user_variables_de.png' width='300' group='$height' group='$group' title='Vorbefüllung von Formularfeldern mit Daten des angemeldeten Benutzers.'/}}<div class='xm-figure-caption'>Vorbefüllung von Formularfeldern mit Daten des angemeldeten Benutzers.</div></div></div>
135 {{/html}}
136
137
138 Benutzerplatzhalter können in [[Aktionen>>doc:Formcycle.Designer.Workflow.Actions.WebHome]], [[Templates>>doc:Formcycle.UserInterface.FilesAndTemplates.WebHome]], [[Datenbank-Abfragen>>Formcycle.UserInterface.Data.DBQueries.WebHome]] und direkt in [[Formularelementen>>Formcycle.Designer.Form.FormElements.WebHome]] zur Vorbefüllung des Formulars verwendet werden (siehe [[Abbildung>>||anchor="fig_prefill_user_variables"]]).
139
140 {{panel monospace="true" title="Syntax"}}
141 [%$&lt;Benutzerobjekt&gt;.&lt;Attribut&gt;%]
142 {{/panel}}
143
144 Über verschiedene Benutzerobjekte kann auf die Informationen der angemeldeten Benutzer zugrgriffen werden (Benutzerprofil). Wird der Platzhalter ohne Attribut angegeben (z.b. [%$USER%]), so werden sämtliche Benutzerinformation im [[JSON>>https://de.wikipedia.org/wiki/JavaScript_Object_Notation]]-Format ausgegeben.
145
146 Für die sinnvolle Verwendung von Benutzerplatzhaltern ist es nötig, dass eine [[Formularanmeldung>>doc:Formcycle.UserInterface.MyForms.Access.WebHome||anchor="form_login"]] am Formular konfiguriert ist. Ist dies nicht der Fall, ist das Benutzerobjekt mit einem anonymen Nutzer vorbelegt.
147
148 ==== Benutzerobjekte ====
149
150 ; [%$USER%]
151 : Benutzerobjekt für den Zugriff auf den aktuellen Benutzer.
152
153 ; [%$LAST_USER%]
154 : Benutzerobjekt für den Zugriff auf den letzten Benutzer.
155
156 ; [%$INITIAL_USER%]
157 : Benutzerobjekt für den Zugriff auf den Benutzer, der den Vorgang angelegt hat.
158
159 ==== Attribute ====
160
161 Mit den Attributen eines Benutzerobjektes können gezielt Informationen über den Benutzer ermittelt werden. Die folgenden Attribute stehen bei allen Benutzern zur Verfügung. Auch wenn diese Attribute immer zur Verfügung stehen, müssen sie nicht immer einen Wert haben. Ob das Attribut einen Wert besitzt, hängt davon ab mit welcher [[Authentifizierungsmethode>>doc:Formcycle.UserInterface.UserSettings.ExternalUsers.WebHome]] sich der Benutzer angemeldet hat.
162
163 Beispiel: Mit dem Platzhalter **[%$USER.mail%]** gelangt man an die E-Mailadresse des angemeldeten Benutzers.
164
165 ; authTypeId
166 : ID des [[Authentifikators>>doc:Formcycle.UserInterface.UserSettings.ExternalUsers.WebHome]], der vom Benutzer verwendet wurde, um sich anzumelden.
167 ; displayName
168 : Anzeigename des angemeldeten Benutzers
169 ; familyName
170 : Nachname des angemeldeten Benutzers
171 ; firstName
172 : Vorname des angemeldeten Benutzers
173 ; gender
174 : Geschlecht des angemeldeten Benutzers
175 ; groups
176 : Namen der Gruppen, denen der Benutzer angehört
177 ; id
178 : ID des angemeldeten Benutzers. (System-ID bei FORMCYCLE-Benutzern)
179 ; linkedId
180 : Ein Benutzerprofil kann einen sog. "linked identifier" haben. Dies ist der Identifikator eines anderen Benutzerprofils.
181 ; locale
182 : Sprache des angemeldeten Benutzers
183 ; location
184 : Ort des angemeldeten Benutzers
185 ; mail
186 : E-Mailadresse des angemeldeten Benutzers
187 ; phone
188 : Telefonnummer des angemeldeten Benutzers
189 ; pictureUrl
190 : URL zum Profilbild des angemeldeten Benutzers
191 ; profileUrl
192 : URL zum Profil des angemeldeten Benutzers
193 ; rawData
194 : Die gesamte Rohdaten des angemeldeten Benutzers im [[JSON>>https://de.wikipedia.org/wiki/JavaScript_Object_Notation]]-Format. Abhängig vom verwendeten Authentifikator können die Rohdaten weitere Benutzerinformationen enthalten, die nicht über die Attribute des Benutzerobjektes abgebildet werden.
195 ; role
196 : Rolle des angemeldeten Benutzers
197 ; title
198 : Titel des angemeldeten Benutzers
199 ; typedId
200 : Typ des [[Authentifikators>>doc:Formcycle.UserInterface.UserSettings.ExternalUsers.WebHome]], der vom Benutzer verwendet wurde, um sich anzumelden.
201 ; userName
202 : Benutzername des angemeldeten Benutzers
203
204 {{id name="sec_appointment_variables"/}}
205
206 === Terminplatzhaler ===
207
208 Terminplatzhalter können verwendet werden, wenn mit dem Formular [[Termine>>doc:Formcycle.Designer.Form.FormElements.Appointment.WebHome]] gebucht werden.
209
210 {{panel monospace="true" title="Syntax"}}
211 [%$&lt;Name&gt;%]
212 {{/panel}}
213
214 ; [%$APPOINTMENT_LIST%]
215 : Erzeugt eine Zusammenfassung der mit dem Vorgang gebuchten Termine in Form einer //ul//-HTML-Liste. Für jeden Termin wird zudem ein Button erzeugt, mit welchem der gebuchte Termin zu einem Kalender hinzugefügt werden kann. Ist für die Verwendung in HTML-Templates angedacht.
216 ; [%$APPOINTMENT_LINK%]
217 : Erzeugt einen Link zu einer iCal-Datei, die sämtliche Termine des Vorgangs beinhaltet.
218
219 {{id name="sec_system_placeholder_html"/}}
220
221 === Systemplatzhalter für HTML-Templates ===
222
223 {{panel monospace="true" title="Syntax"}}
224 [%$&lt;Name&gt;(&lt;Parameter1&gt;,&lt;Parameter2&gt;)%]
225 {{/panel}}
226
227 Zusätzlich zu den allgemeingültigen Systemplatzhaltern gibt es noch einige weitere Systemplatzhalter, welche nur innerhalb eines [[HTML-Templates>>doc:Formcycle.UserInterface.FilesAndTemplates.HTML.WebHome]] verwendet werden können. Diese dienen zum Herunterladen von Anhängen und sind hierfür nur innerhalb der Browser-Session nach dem Absenden eines Formulars nutzbar.
228
229 ; [%$ATTACHMENT_LIST%]
230 : Stellt alle an einem Vorgang verfügbaren Anhänge (Attachments) in einer Liste zum Herunterladen bereits. Die erzeugte Liste wird als //ul//-HTML-Element in das Tempalte eingefügt.
231 ; [%$ATTACHMENT_ZIP=Dateiname,Link-Text%]
232 : Erzeugt einen Link zum Herunterladen aller Anhänge eines Vorgangs. Die Parameter //Dateiname// sowie //Link-Text// sind optional, sodass dieser Systemplatzhalter in folgenden Varianten genutzt werden kann.
233 :; [%$ATTACHMENT_ZIP=Dateiname,Link-Text%]
234 :: Erzeugt einen Link mit dem Text //Link-Text// zum Herunterladen der Datei, die den Dateinamen //Dateiname// erhält.
235 :; [%$ATTACHMENT_ZIP=Dateiname%]
236 :: Erzeugt einen Link mit dem Text //Dateiname// zum Herunterladen der Datei, die den Dateinamen //Dateiname// erhält.
237 :; [%$ATTACHMENT_ZIP%]
238 :: Erzeugt einen Link mit dem Text //attachment.zip// zum Herunterladen der Datei, die den Dateinamen //attachment.zip// erhält.
239 ; [%$ATTACHMENT=Anhang,Link-Text,Dateiname%]
240 : Erzeugt einen Link zum Download eines einzelnen Anhangs eines Vorgangs mit dem Namen "Anhang". Dieser muss für eine korrekte Funktion den Namen einer erzeugten bzw. an den Vorgang angehangenen Datei entsprechen. Die Parameter "Link-Text" und "Dateiname" sind hierbei optional, sodass sich folgende Verwendungsmöglichkeiten ergeben:
241 :; [%$ATTACHMENT=Anhang,Link-Text,Downloadname%]
242 :: Erzeugt einen Link mit dem Text //Link-Text// zum Herunterladen des Anhangs mit dem Namen //Anhang//, der den Dateinamen //Dateiname// erhält.
243 :; [%$ATTACHMENT=Anhang,Link-Text%]
244 :: Erzeugt einen Link mit dem Text //Link-Text// zum Herunterladen des Anhangs mit dem Namen //Anhang//, der den Dateinamen //Anhang// erhält.
245 :; [%$ATTACHMENT=Anhang%]
246 :: Erzeugt einen Link mit dem Text //Anhang// zum Herunterladen des Anhangs mit dem Namen //Anhang//, der den Dateinamen //Anhang// erhält.
247
248 Zusätzlich ist bei dieser Art von Platzhaltern zu beachten, dass sie automatisch aus dem Template entfernt werden, wenn keine entsprechende Datei gefunden wurde bzw. erzeugt werden konnte.
249
250 === Textbausteinplatzhalter ===
251
252 {{panel monospace="true" title="Syntax"}}
253 [%$$&lt;Name&gt;%]
254 {{/panel}}
255
256 Ein Textbausteinplatzhalter gibt den Inhalt eines [[Templates>>doc:Formcycle.UserInterface.FilesAndTemplates.WebHome]] (zum Beispiel [[Text->>doc:Formcycle.UserInterface.FilesAndTemplates.Text]], [[Mail->>doc:Formcycle.UserInterface.FilesAndTemplates.Email]], [[Link-Templates>>doc:Formcycle.UserInterface.FilesAndTemplates.Link]]) zurück und wird beispieslweise in Aktionen vom Typ [[E-Mail>>doc:Formcycle.Designer.Workflow.Actions.EMail]] verwendet.
257
258 === Aktionsplatzhalter ===
259
260 {{panel monospace="true" title="Syntax"}}
261 [%$&lt;Aktionsname&gt;.&lt;RückgabeWert&gt;%]
262 {{/panel}}
263
264 Einige Aktionen haben Rückgabewerte, die über diesen Platzhalter ausgelesen werden können.
265
266 Sie sehen ähnlich wie Systemplatzhalter aus, haben aber im Unterschied zu diesen einen Punkt als Trennzeichen zwischen dem Namen der Aktion und dem Rückgabewert. Folgende Rückgabebezeichner sind vorhanden.
267
268 ; [%$<Aktionsname>.SUCCESS%]
269 : Rückgabe ob Aktion erfolgreich ausgeführt wurde. Liefert Boolean (true/false) zurück.
270 ; [%$<Aktionsname>.COUNT%]
271 : Dieser Platzhalter wird im neuen Workflow nicht unterstützt.
272 : Rückgabe der Anzahl von Ergebnissen. Liefert Integer-Wert zurück.
273 ; [%$<Aktionsname>.RESULT%]
274 : Rückgabe eines einzelnen Ergebnis. Liefert String-Wert zurück.
275 ; [%$<Aktionsname>.RESULT[<Index>].<Bezeichner>%]
276 : Einige Aktionen liefern mehrere Ergebnisse zurück (//List<Map<String,String>>// in Java). Der Bezeichner ist dabei fest durch die Verarbeitung definiert. Wird häufig bei Plugins verwendet, falls mehrere Ergebnisse zurückgegeben werden.
277
278 : Diese Aktionsplatzhalter werden nicht im alten Workflow unterstützt.
279
280 ; [%$<Aktionsname>.ERROR_CODE%]
281 : Der geworfene Fehler-Code im Fehlerfall der Aktion.
282 ; [%$<Aktionsname>.ERROR_MESSAGE%]
283 : Die geworfene Fehler-Nachricht im Fehlerfall der Aktion.