Zeige letzte Bearbeiter
1 {{figure image="LDAP_Daten_Client.png"}}
2 Beispiel der Struktur von XFC_METADATA im Firebug. Die einzelnen Werte des Metadaten-Objekts sind hierbei komfortabel über den entsprechenden Feldnamen abrufbar.
3 {{/figure}}
4
5 Um innerhalb des Skriptbereichs eines Formulars Daten zum aktuell angemeldeten Benutzer oder des ggf. dazugehörigen Vorgangs zu erhalten, steht das JavaScript-Objekt {{code}}XFC_METADATA{{/code}} zur Verfügung. Dieses wird beim Aufruf eines Formulars mit den aktuellen Daten dynamisch befüllt und in den JavaScript-Kontext des Formulars eingebunden. Zusätzlich zu den Vorgangs und Benutzer-Daten werden alle URL-Parameter und die Serverzeit beim Aufruf des Formulars hierüber komfortabel zur Verfügung gestellt.
6
7 == Struktur des Metadatenobjekts ==
8
9 Das Metadatenobjekt ist wie folgt strukturiert.
10
11 (% height="1572" width="1262" %)
12 |=(% style="font-size: 18px;" %)Metadaten-Feld|=(% style="font-size: 18px;" %)Beschreibung|=(% colspan="1" %)
13 |(((
14 **XFC_METADATA**
15 )))|Das Wurzelobjekt der verfügbaren Metadaten|(% colspan="1" %)
16 |(((
17 **~ - attachments**
18 )))|JavaScript-Array von verfügbaren Anhängen|
19 |(% colspan="1" %)(((
20 **~ - currentClient**
21 )))|Name und ID des Mandanten dem dieses Projekt zugeordnet ist|
22 |{{html}}<span style="padding-left:20px;">- id</span>{{/html}}|ID des Mandanten|
23 |{{html}}<span style="padding-left:20px;">- name</span>{{/html}}|Name des Mandanten|
24 |** - currentLanguage**|Aktuelle Ausgabesprache des Formulars, Default: "de". Kann durch Parameter "lang" verändert werden.|\\
25 |(% colspan="1" %)(((
26 **~ - currentProcess**
27 )))|(% colspan="1" %)Unterobjekt welches die Daten zum aktuellen Vorgang beinhaltet. Wird das Formular initial aufgerufen und ist dem entsprechend noch nicht als Vorgang im System eingegangen, so sind alle Felder dieses Objekts leer.|(% colspan="1" %)
28 |(% colspan="1" %){{html}}<span style="padding-left:20px">- id</span>{{/html}}|(% colspan="1" %)Die ID des Vorgangs|(% colspan="1" %)
29 |(% colspan="1" %)(((
30 {{html}}
31 <span style="padding-left:20px;">- processId</span>
32 {{/html}}
33 )))|(% colspan="1" %)Die Prozess-ID zur eindeutigen Identifikation des Vorgangs|(% colspan="1" %)
34 |(% colspan="1" %)(((
35 {{html}}
36 <span style="padding-left:20px;">- status</span>
37 {{/html}}
38 )))|(% colspan="1" %)Der Name des Status in welchem sich der Vorgang befindet|(% colspan="1" %)\\
39 |(% colspan="1" %)(((
40 **~ - currentProjekt**
41 )))|(% colspan="1" %)Unterobjekt welches die Daten des Projekts des Formulars beinhaltet.|(% colspan="1" %)
42 |(% colspan="1" %)(((
43 {{html}}
44 <span style="padding-left:20px;">- id</span>
45 {{/html}}
46 )))|(% colspan="1" %)Die ID des Projekts|(% colspan="1" %)
47 |{{html}}<span style="padding-left:20px;">- title</span>{{/html}}|Titel des Prokets|
48 |{{html}}<span style="padding-left:20px;">- description</span>{{/html}}|Beschreibung des Projekts|
49 |{{html}}<span style="padding-left:20px;"><b>- currentForm</b></span>{{/html}}|Version des Formulars|
50 |{{html}}<span style="padding-left:35px;">- id</span>{{/html}}|ID der Formularversion|
51 |{{html}}<span style="padding-left:35px;">- versionNumber</span>{{/html}}|Versionsnummer|\\
52 |** - currentSessionID**|Aktuelle Session-ID|
53 |(% colspan="1" %)(((
54 **~ - currentUser**
55 )))|(% colspan="1" %)Unterobjekt welches die Daten des aktuellen Benutzers beinhaltet. Wird das Formular ohne Anmeldung aufgerufen, so werden diese Daten mit einem fiktiven Benutzer mit dem Namen //[Anonymous]// befüllt.|(% colspan="1" %)
56 |(% colspan="1" %)(((
57 {{html}}
58 <span style="padding-left:20px;">- title</span>
59 {{/html}}
60 )))|(% colspan="1" %)Die Anrede des Benutzers. Mögliche Werte: //HERR, FRAU//|(% colspan="1" %)
61 |(% colspan="1" %)(((
62 {{html}}
63 <span style="padding-left:20px;">- forename</span>
64 {{/html}}
65 )))|(% colspan="1" %)Der Vorname des Benutzers|(% colspan="1" %)
66 |(% colspan="1" %)(((
67 {{html}}
68 <span style="padding-left:20px;">- surename</span>
69 {{/html}}
70 )))|(% colspan="1" %)Der Nachname des Benutzers|(% colspan="1" %)
71 |(% colspan="1" %)(((
72 {{html}}
73 <span style="padding-left:20px;">- username</span>
74 {{/html}}
75 )))|(% colspan="1" %)Der Benutzername|(% colspan="1" %)
76 |(% colspan="1" %)(((
77 {{html}}
78 <span style="padding-left:20px;">- email</span>
79 {{/html}}
80 )))|(% colspan="1" %)Die E-Mail-Adresse des Benutzers|(% colspan="1" %)
81 |(% colspan="1" %)(((
82 {{html}}
83 <span style="padding-left:20px;">- mandant</span>
84 {{/html}}
85 )))|(% colspan="1" %)Der Name des Mandanten des Benutzers|(% colspan="1" %)
86 |(% colspan="1" %)(((
87 {{html}}
88 <span style="padding-left:20px;">- active</span>
89 {{/html}}
90 )))|(% colspan="1" %)Status des Benutzers. Mögliche Werte: //ACTIVE, LOCKED, DELETED//|(% colspan="1" %)
91 |(% colspan="1" %)(((
92 {{html}}
93 <span style="padding-left:20px;">- role</span>
94 {{/html}}
95 )))|(% colspan="1" %)Der Name der Rolle des Benutzers|(% colspan="1" %)
96 |(% colspan="1" %)(((
97 {{html}}
98 <span style="padding-left:20px;">- phonenumber</span>
99 {{/html}}
100 )))|(% colspan="1" %)Die Telefonnummer des Benutzers|(% colspan="1" %)
101 |(% colspan="1" %)(((
102 {{html}}
103 <span style="padding-left:20px;">- usergroups</span>
104 {{/html}}
105 )))|(% colspan="1" %)Ein JavaScript-Array bestehend aus den Namen der Benutzergruppen des Benutzers|(% colspan="1" %)
106 |(% colspan="1" %)(((
107 {{html}}
108 <span style="padding-left:20px;">- inbox</span>
109 {{/html}}
110 )))|(% colspan="1" %)Der Name des Postfachs in welchem sich der Vorgang befindet|(% colspan="1" %)
111 |{{html}}<span style="padding-left:20px;"><b>- ldap</b></span>{{/html}}|Ein JavaScript-Objekt mit der LDAP-Struktur, des Nutzers welcher sich mittels NTLM-Authentifizierung am Formular angemeldet hat. Siehe auch [[Beispiel Datenstruktur im Firebug>>url:http://help.formcycle.de/download/attachments/1966720/LDAP_Daten_Client.png?version=1&modificationDate=1425481220990&api=v2]]|
112 |** - pluginResults**|Ein JavaScript-Objekt mit Ergebnissen aus Plugins|
113 |(((
114 **~ - serverTime**
115 )))|JavaScript-Date-Objekt welches die Server-Zeit beim Aufruf des Formulars beinhaltet|(% colspan="1" %)
116 |(% colspan="1" %)(((
117 **~ - urlParams**
118 )))|(% colspan="1" %)Ein JavaScript-Objekt welches die übergebenen URL-Parameter beinhaltet|(% colspan="1" %)
119 |(% colspan="1" %)(((
120 {{html}}
121 <span style="padding-left:20px;">- Parameter-Name</span>
122 {{/html}}
123 )))|(% colspan="1" %)Basierend auf dem übergebenen URL-Parameter benanntes Objekt mit dazugehörigem Wert|(% colspan="1" %)
124 |**- urls**|Ein JavaScript-Objekt mit relativen URL-Aufrufen zu unterschiedlichen Servlets|
125 |{{html}}<span style="padding-left:20px;">- attachment</span>{{/html}}|Relative Servlet-URL zu Anhänge des Formulars, Beispiel: {{code}}/formcycle/attachment/form/{{/code}}.|
126 |{{html}}<span style="padding-left:20px;">- context</span>{{/html}}|Aktueller Kontext, Beispiel: {{code}}formcycle{{/code}}|
127 |{{html}}<span style="padding-left:20px;">- dataquery_db</span>{{/html}}|Relative Servlet-URL zur Datenabfrage innerhalb einer Datenbank, Beispiel: {{code}}/formcycle/datenabfragedb/{{/code}}. Weiterführende Informationen finden Sie [[hier>>doc:Main.UserInterface.Data.DBQueries]].|
128 |{{html}}<span style="padding-left:20px;">- dataquery_ldap</span>{{/html}}|Relative Servlet-URL zur Datenabfrage eines LDAP-Servers, Beispiel: {{code}}/formcycle/datenabfrageldap/{{/code}}.|
129 |{{html}}<span style="padding-left:20px;">- datasource_csv</span>{{/html}}|Relative Servlet-URL zur CSV-Datenquelle, Beispiel: {{code}}/formcycle/datenquellecsv/{{/code}}. Weiterführende Informationen finden Sie [[hier>>doc:Main.UserInterface.Data.Sources]].|
130 |{{html}}<span style="padding-left:20px;">- datasource_db</span>{{/html}}|Relative Servlet-URL zur Datenbank-Datenquelle, Beispiel: {{code}}/formcycle/datenquelledb/{{/code}}. Weiterführende Informationen finden Sie [[hier>>url:http://help4.formcycle.de/xwiki/bin/view/Main/Quellen]].|
131 |{{html}}<span style="padding-left:20px;">- datasource_xml</span>{{/html}}|Relative Servlet-URL zur XML-Datenquelle, Beispiel: {{code}}/formcycle/datenquellexml/{{/code}}. Weiterführende Informationen finden Sie [[hier>>url:http://help4.formcycle.de/xwiki/bin/view/Main/Quellen]].|
132 |{{html}}<span style="padding-left:20px;">- plugin</span>{{/html}}|Relative Servlet-URL zur Plugin-Schnittstelle, Beispiel: {{code}}/formcycle/plugin/{{/code}}.|
133 |{{html}}<span style="padding-left:20px;">- previewAction</span>{{/html}}|Relative Servlet-URL für Vorschau, Beispiel: {{code}}/formcycle/form/preview/3601/1/{{/code}}.|
134 |{{html}}<span style="padding-left:20px;">- submitAction</span>{{/html}}|Relative Servlet-URL für Abgesendete Formular, Beispiel: {{code}}/formcycle/form/process/3601/1/?lang=de&frid=3819ffe0-4117-45b8-bf81-3933f2dd3414{{/code}}.|
135 |**- requestType**|Gibt an in welchem Kontext sich der aktuelle Formular-Aufruf befindet
136 **mögliche und benutzbare Werte:**
137 - provide (Formular-Auslieferung)
138 - preview (Formular-Vorschau)
139 - process (Absenden eines Formulars)
140 - print (Druck eines Formulars über z.B. den PhantomPrinter)
141 - review (Formular-Auslieferung im Postfach)
142 **zur interne Nutzung:** alias, copy, aliascopy, publish, forward|
143
144 ~{~{/table}}
145
146 == Beispiele ==
147
148 {{panel title="Zugreifen auf formularspezifische Resourcen"}}
149 (((Wurde etwa eine Datei //myData.json// als formularspezifische Resource hochgeladen, kann auf diese wie folgt zugegriffen werden.)))
150 {{code language="javascript"}}
151 // Get the URL for a file uploaded to this project.
152 function getResourceURL(filename){
153 var pid = String(window.XFC_METADATA.currentProject.id);
154 var url = XFC_METADATA.urls.context + "includes/ressource?pid=" + pid + "&name=" + encodeURI(filename);
155 return url;
156 }
157 $.get(getResourceURL("myData.json"), function(data){
158 // Do something with the data.
159 });
160 {{/code}}
161 {{/panel}}
162
163
164 {{panel title="Auslesen des Benutzernamen des aktuellen Benutzers"}}
165 {{code language="javascript"}}
166 var benutzername = XFC_METADATA.currentUser.username;
167 {{/code}}
168 {{/panel}}
169
170
171 {{panel title="Auslesen der LDAP-Daten des am Formular authentifizierten Benutzers"}}
172 {{code width="600px" language="javascript"}}
173 var urlParameter = XFC_METADATA.currentUser.ldap;
174 {{/code}}
175 {{/panel}}
176
177
178 {{panel title="Auslesen des URL-Parameters //parameter//"}}
179 {{code width="600px" language="javascript"}}
180 var urlParameter = XFC_METADATA.urlParams.parameter;
181 {{/code}}
182 {{/panel}}
183
184
185 {{panel title="Auslesen der Serverzeit und Anzeige dieser in einem Textfeld //tfServertime//"}}
186 {{code width="600px" language="javascript"}}
187 $('[name=tfServertime]').val(XFC_METADATA.serverTime.toString());
188 {{/code}}
189 {{/panel}}
190
191
192 {{panel title="Eine bestimmte Aktion nur ausführen, wenn es sich um einen neuen Vorgang handelt. Zum Beispiel die Vorbelegung von Daten."}}
193 {{code width="600px" language="javascript"}}
194 if(!XFC_METADATA.currentProcess.processId) {
195 //execute function
196 }
197 {{/code}}
198 {{/panel}}
Copyright 2000-2024