Beispiel der Struktur von XFC_METADATA im Firebug. Die einzelnen Werte des Metadaten-Objekts sind hierbei komfortabel über den entsprechenden Feldnamen abrufbar.

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-FeldBeschreibung 

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 
- idID des Mandanten 
- nameName des Mandanten 
 - currentLanguageAktuelle 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. 
- idDie 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 
- titleTitel des Prokets 
- descriptionBeschreibung des Projekts 
- currentFormVersion des Formulars 
- idID der Formularversion 
- versionNumberVersionsnummer
 - currentSessionIDAktuelle 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 

- email

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 
- ldapEin JavaScript-Objekt mit der LDAP-Struktur, des Nutzers welcher sich mittels NTLM-Authentifizierung am Formular angemeldet hat. Siehe auch Beispiel Datenstruktur im Firebug 
 - pluginResultsEin 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 
- urlsEin JavaScript-Objekt mit relativen URL-Aufrufen zu unterschiedlichen Servlets 
- attachmentRelative Servlet-URL zu Anhänge des Formulars, Beispiel: /formcycle/attachment/form/. 
- contextAktueller Kontext, Beispiel: formcycle 
- dataquery_dbRelative Servlet-URL zur Datenabfrage innerhalb einer Datenbank, Beispiel: /formcycle/datenabfragedb/. Weiterführende Informationen finden Sie hier. 
- dataquery_ldapRelative Servlet-URL zur Datenabfrage eines LDAP-Servers, Beispiel: /formcycle/datenabfrageldap/. 
- datasource_csvRelative Servlet-URL zur CSV-Datenquelle, Beispiel: /formcycle/datenquellecsv/. Weiterführende Informationen finden Sie hier. 
- datasource_dbRelative Servlet-URL zur Datenbank-Datenquelle, Beispiel: /formcycle/datenquelledb/. Weiterführende Informationen finden Sie hier. 
- datasource_xmlRelative Servlet-URL zur XML-Datenquelle, Beispiel: /formcycle/datenquellexml/. Weiterführende Informationen finden Sie hier. 
- pluginRelative Servlet-URL zur Plugin-Schnittstelle, Beispiel: /formcycle/plugin/. 
- previewActionRelative Servlet-URL für Vorschau, Beispiel: /formcycle/form/preview/3601/1/. 
- submitActionRelative Servlet-URL für Abgesendete Formular, Beispiel: /formcycle/form/process/3601/1/?lang=de&frid=3819ffe0-4117-45b8-bf81-3933f2dd3414. 
- requestTypeGibt 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

Wurde etwa eine Datei myData.json als formularspezifische Resource hochgeladen, kann auf diese wie folgt zugegriffen werden.
// Get the URL for a file uploaded to this project.
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

var benutzername = XFC_METADATA.currentUser.username;

Auslesen der LDAP-Daten des am Formular authentifizierten Benutzers

var urlParameter = XFC_METADATA.currentUser.ldap;

Auslesen des URL-Parameters parameter

var urlParameter = XFC_METADATA.urlParams.parameter;

Auslesen der Serverzeit und Anzeige dieser in einem Textfeld tfServertime

$('[name=tfServertime]').val(XFC_METADATA.serverTime.toString());

Eine bestimmte Aktion nur ausführen, wenn es sich um einen neuen Vorgang handelt. Zum Beispiel die Vorbelegung von Daten.

if(!XFC_METADATA.currentProcess.processId) {
 //execute function
}
Tags:
Erstellt von awa am 09.04.2019, 16:14
Copyright 2000-2024