Metadaten
Um innerhalb des Skriptbereichs eines Formulars Daten zum aktuell angemeldeten Benutzer oder des ggf. dazugehörigen Vorgangs zu erhalten, steht das JavaScript-Objekt XFC_METADATA 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.
Struktur des Metadatenobjekts
Das Metadatenobjekt ist wie folgt strukturiert.
Metadaten-Feld | Beschreibung | |
---|---|---|
XFC_METADATA | Das Wurzelobjekt der verfügbaren Metadaten | |
- attachments | JavaScript-Array von verfügbaren Anhängen | |
- currentClient | Name und ID des Mandanten dem dieses Projekt zugeordnet ist | |
- id | ID des Mandanten | |
- name | Name des Mandanten | |
- currentLanguage | Aktuelle Ausgabesprache des Formulars, Default: "de". Kann durch Parameter "lang" verändert werden. | |
- currentProcess | 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. | |
- id | Die ID des Vorgangs | |
- processId | Die Prozess-ID zur eindeutigen Identifikation des Vorgangs | |
- status | Der Name des Status in welchem sich der Vorgang befindet | |
- currentProjekt | Unterobjekt welches die Daten des Projekts des Formulars beinhaltet. | |
- id | Die ID des Projekts | |
- title | Titel des Prokets | |
- description | Beschreibung des Projekts | |
- currentForm | Version des Formulars | |
- id | ID der Formularversion | |
- versionNumber | Versionsnummer | |
- currentSessionID | Aktuelle Session-ID | |
- currentUser | 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. | |
- title | Die Anrede des Benutzers. Mögliche Werte: HERR, FRAU | |
- forename | Der Vorname des Benutzers | |
- surename | Der Nachname des Benutzers | |
- username | Der Benutzername | |
Die E-Mail-Adresse des Benutzers | ||
- mandant | Der Name des Mandanten des Benutzers | |
- active | Status des Benutzers. Mögliche Werte: ACTIVE, LOCKED, DELETED | |
- role | Der Name der Rolle des Benutzers | |
- phonenumber | Die Telefonnummer des Benutzers | |
- usergroups | Ein JavaScript-Array bestehend aus den Namen der Benutzergruppen des Benutzers | |
- inbox | Der Name des Postfachs in welchem sich der Vorgang befindet | |
- ldap | Ein JavaScript-Objekt mit der LDAP-Struktur, des Nutzers welcher sich mittels NTLM-Authentifizierung am Formular angemeldet hat. Siehe auch Beispiel Datenstruktur im Firebug | |
- pluginResults | Ein JavaScript-Objekt mit Ergebnissen aus Plugins | |
- serverTime | JavaScript-Date-Objekt welches die Server-Zeit beim Aufruf des Formulars beinhaltet | |
- urlParams | Ein JavaScript-Objekt welches die übergebenen URL-Parameter beinhaltet | |
- Parameter-Name | Basierend auf dem übergebenen URL-Parameter benanntes Objekt mit dazugehörigem Wert | |
- urls | Ein JavaScript-Objekt mit relativen URL-Aufrufen zu unterschiedlichen Servlets | |
- attachment | Relative Servlet-URL zu Anhänge des Formulars, Beispiel: /formcycle/attachment/form/. | |
- context | Aktueller Kontext, Beispiel: formcycle | |
- dataquery_db | Relative Servlet-URL zur Datenabfrage innerhalb einer Datenbank, Beispiel: /formcycle/datenabfragedb/. Weiterführende Informationen finden Sie hier. | |
- dataquery_ldap | Relative Servlet-URL zur Datenabfrage eines LDAP-Servers, Beispiel: /formcycle/datenabfrageldap/. | |
- datasource_csv | Relative Servlet-URL zur CSV-Datenquelle, Beispiel: /formcycle/datenquellecsv/. Weiterführende Informationen finden Sie hier. | |
- datasource_db | Relative Servlet-URL zur Datenbank-Datenquelle, Beispiel: /formcycle/datenquelledb/. Weiterführende Informationen finden Sie hier. | |
- datasource_xml | Relative Servlet-URL zur XML-Datenquelle, Beispiel: /formcycle/datenquellexml/. Weiterführende Informationen finden Sie hier. | |
- plugin | Relative Servlet-URL zur Plugin-Schnittstelle, Beispiel: /formcycle/plugin/. | |
- previewAction | Relative Servlet-URL für Vorschau, Beispiel: /formcycle/form/preview/3601/1/. | |
- submitAction | Relative Servlet-URL für Abgesendete Formular, Beispiel: /formcycle/form/process/3601/1/?lang=de&frid=3819ffe0-4117-45b8-bf81-3933f2dd3414. | |
- requestType | Gibt an in welchem Kontext sich der aktuelle Formular-Aufruf befindet mögliche und benutzbare Werte: - provide (Formular-Auslieferung) - preview (Formular-Vorschau) - process (Absenden eines Formulars) - print (Druck eines Formulars über z.B. den PhantomPrinter) - review (Formular-Auslieferung im Postfach) zur interne Nutzung: alias, copy, aliascopy, publish, forward |
{{/table}}
Beispiele
Zugreifen auf formularspezifische Resourcen
function getResourceURL(filename){
var pid = String(window.XFC_METADATA.currentProject.id);
var url = XFC_METADATA.urls.context + "includes/ressource?pid=" + pid + "&name=" + encodeURI(filename);
return url;
}
$.get(getResourceURL("myData.json"), function(data){
// Do something with the data.
});
Auslesen des Benutzernamen des aktuellen Benutzers
Auslesen der LDAP-Daten des am Formular authentifizierten Benutzers
Auslesen des URL-Parameters parameter
Auslesen der Serverzeit und Anzeige dieser in einem Textfeld tfServertime
Eine bestimmte Aktion nur ausführen, wenn es sich um einen neuen Vorgang handelt. Zum Beispiel die Vorbelegung von Daten.
//execute function
}