Das Benutzerobjekt
Bei der Anlage eines neuen BPaaS-Benutzers werden Vorname, Nachname und E-Mail-Adresse des Anwenders in der Benutzerverwaltung hinterlegt. Zusätzlich können weitere personenbezogene Informationen gespeichert werden.
In den Zusatzdaten können die folgenden Angaben gepflegt werden:
Firma
Abteilung
Telefonnummer
Fax
Straße
PLZ
Stadt
Diese Informationen aus der Benutzerverwaltung sind im sogenannten Benutzerobjekt zusammengefasst. Das Benutzerobjekt kann sowohl über den Container als auch über den Kontext der Plattform angesprochen werden. Die Inhalte des Benutzerobjekts sind daher in Apps verfügbar und können auch für das dynamische Filtern von Instanzdaten genutzt werden.
Wichtige Hinweise zur Arbeit mit dem Benutzerobjekt
Im Benutzerobjekt stehen nur die Zusatzdaten zur Verfügung, die in der Benutzerverwaltung gepflegt wurden. Die Attribute loginId, firstname, lastname und email sind Pflichtfelder für die Benutzeranlage und enthalten daher immer Daten.
Bei den Inhalten des Benutzerobjektes handelt es sich um flüchtige Werte, die nur zur Laufzeit der App verfügbar sind.
Inhalte des Benutzerobjekts sind unveränderlich! Wenn Sie Inhalte des Benutzerobjekts in Formularfeldern anzeigen möchten, aktivieren Sie für die betreffenden Felder immer die Eigenschaft Nur lesbar. Wenn das Feld editierbar ist und Änderungen am Benutzerobjekt vorgenommen werden, werden diese Änderungen nicht gespeichert!
Das Benutzerobjekt im Container wird in Responsiven Formularen angesprochen über bpaas.userInfo.attributname:
Beispiel:
bpaas.userInfo.email liefert max.mustermann@scheer-group.com zurück.
In Mobilen Formularen wird das Benutzerobjekt im Container angesprochen über currentUser.attributname.
Beispiel: currentUser.firstname liefert Max zurück.
Das Kontext-Benutzerobjekt wird angesprochen über user.attributname:
{
"loginId": "max.mustermann",
"firstname": "Max",
"lastname": "Mustermann",
"email": "max.mustermann@scheer-group.com",
"company": "Mustermann GmbH",
"organisation": "Büro Musterstadt",
"department": "Geschäftsführung",
"phone": "0123-4567890",
"fax": "0987-6543210",
"street": "Musterstraße 2",
"zip": "99888",
"city": "Musterstadt",
"defLang" : "de"
}
Beispiel:
user.firstname liefert Max zurück.
Benutzerobjekt in einem Responsiven Formular
Beispiel: Ausfüllen des Formularfelds Aktueller Bearbeiter mit dem Wert aus dem Container-Benutzerobjekt im Beschaffungsprozess der Mustermann GmbH
Für die Vorbelegung von Formularfeldern wird die Nutzung der Formularfunktionen empfohlen. Weiterführende Informationen zur Vorbelegung von Formularfeldern finden Sie auf der Seite Felder vorbelegen.
In den Formularen des Beschaffungsprozesses soll angezeigt werden, welcher Mitarbeiter ein Formular jeweils gerade bearbeitet. Dafür fügt Max Mustermann das Feld Aktueller Bearbeiter in alle Formulare ein. Im Benutzerobjekt bpaas.userInfo steht neben dem Namen des Benutzers auch sein Login-Name zur Verfügung. Diesen möchte Max Mustermann verwenden, um das Feld Aktueller Bearbeiter beim Aufruf eines Formulars auszufüllen.
Über den Feldnamen im Container können Attribute des Benutzerobjekts direkt angesprochen werden. Das Formularfeld Aktueller Bearbeiter erhält daher als Feldname im Container bpaas.userInfo.loginId. Da Inhalte des Benutzerobjekts nicht gespeichert werden können, markiert Max das Feld als Nur lesbar und deaktiviert auch die Eigenschaft Wert in Instanz speichern.
Bei Ausführung der App wird die entsprechende Information aus dem Benutzerobjekt gezogen und im Feld Aktueller Bearbeiter angezeigt: Der Benutzer max.mustermann bearbeitet momentan den geöffneten Beschaffungsantrag:
Wenn Melanie Mustermann als Leiterin der Buchhaltung des Genehmigungsformular öffnet, wird ihr Login-Name angezeigt:
Verwendung im Filter einer Übersicht
Beispiel: Dynamisches Filtern von Instanzen unter Verwendung des Kontext-Benutzerobjekts
In der Übersicht Beschaffungsanträge soll jeder Mitarbeiter der Mustermann GmbH nur seine eigenen Anträge sehen können. Ohne Filterung werden in der Übersicht Beschaffungsanträge jedoch alle Anträge angezeigt:
Im Beschaffungsantrag wurde das Eingabefeld E-Mail eingefügt:
Der Name des Feldes lautet E-Mail.
Der Feldname im Container des Feldes lautet Email.
Der Anwender muss in dieses Feld seine E-Mail-Adresse eintragen. Diese Information ist auch im Kontext-Benutzerobjekt vorhanden. Um nur die Instanzen des angemeldeten Nutzers auszufiltern, kann man prüfen, ob der Eintrag im Formularfeld E-Mail mit dem Eintrag email im Benutzerobjekt übereinstimmt.
Im App-Projekt Beschaffung wird der Einstiegslink Übersicht Beschaffungsanträge markiert. In der Sidebar Editieren des Elementes findet sich die Option Such-Query. Der Editor wird über einen Klick auf das Zahnrad geöffnet:
Der Filterausdruck, um die Mailadresse aus dem Eingabefeld mit der Mailadresse aus dem Benutzerobjekt zu vergleichen, lautet: {"Email":#user.email#}
Die Übersicht zeigt anschließend nur noch Instanzen an, die vom angemeldeten Benutzer Max Mustermann angelegt wurden: