Den aktuellen Account benutzen
Beim Arbeiten mit Microflows stößt man immer wieder auf die Anforderung etwas mit dem Account des aktuell angemeldeten Benutzers tun zu müssen. Das Account Objekt steht jedoch nicht zur Verfügung. Was jedoch zur Verfügung steht ist $CurrentUser.
Eine sehr beliebte Art an den Aktuellen Account zu gelangen ist es, einen Datenbankretrieve zu machen und folgenden XPath Constraint zu benutzen:
[id = $CurrentUser]
Das funktioniert wunderbar, hat aber einen kleinen Nachteil. Es ist jedes mal ein Datenbankzugriff. Auf großen Systemen können da schnell mal hunderte von Datenbankanfragen pro Sekunde zusammenkommen. Jede für sich ist kein Problem, in der Summe stellen sie jedoch unter Umständen ein Performanceproblem da.
Diesen Datenbankzugriff kann man sich sparen. Im Prinzip steckt die Lösung auch schon in der Datenbankabfrage drin. Die Account Entity ist eine Spezialisierung der User Entity. Wenn der aktuelle User allerdings verfügbar ist, so können wir ihn zum aktuellen Account casten. Hierzu verwenden wir einen Inheritance Split auf dem $CurrentUser und setzen an den Administration.Account Pfad anschließend eine Cast Action. Heraus kommt der aktuelle Account. Ohne Datenbankzugriff.
Wird das ganze in einen Submicroflow gepackt, können wir es ohne großen Aufwand überall wiederverwenden.
Das sieht dann so aus:
Viel Spaß beim Nachbauen.