tfuchs
Elite Observer

Im Workflow für eine Transition allowedUsers/Groups dynamisch setzen

Ich möchte gerne in einem Workflow mittels Script die allowedUsers/allowedGroups dynamisch setzen. Geht das überhaupt? Ich habe in der API keinen offiziellen Weg gefunden.

Screenshot 2019-11-26 at 14.49.46.png

0 Kudos
1 Reply
mbergmann
Crownpeak employee

Hallo Timo,

da gibt es keinen mir bekannten Weg, Hintergrund ist letztlich dass die Berechtigungen ja im Workflow-MODELL hinterlegt sind, das es nur einmal gibt und eben nicht für jedes Objekt, auf dem der WF läuft eine eigene Instanz existiert die man bzgl. der Rechte unabhängig anpassen könnte.

Mögliche Alternative:

Hinter der letzten Aktivität einen weiteren Zustand mit anschließender (auch neuer) automatischen Aktivität mit Skript erstellen. Das Skript wertet dann aus, ob der aktuelle Nutzer „die vorherige Aktion überhaupt ausführen durfte“ und schaltet dann entweder einfach weiter oder (nach einem Hinweis-Popup) eine andere Transition, die wieder zum vorherigen Zustand „release_requested“ führt. Wenn die Ermittlung im ersten Skript erfolgt und im zweiten nur „gelesen“ werden soll bzw. dort nicht „rein lokal“ ermittelt werden kann, kannst du die Info im Rahmen des ersten Skripts in die WorkflowSession schreiben und im zweiten auslesen und nutzen.

Nachteil: Der nicht „berechtigte“ Redakteur dreht ggf. eine unnötige „Schleife“, die Aktion wird ihm erst angeboten und dann mit „ach nee, geht doch nicht“ doch „abgelehnt“.

Der Vollständigkeit halber noch eine Variante die ich schon fast als „dirty Hack“ bezeichnen würde:

Du könntest auch ein „nicht relevantes“ Recht am Objekt selbst (das im Workflow ist) temporär „passend“ ändern und dann in der Aktivität die Berichtigungen so konfigurieren dass sie dieses Recht nutzen. Nachteile: Kann je nachdem welche Änderung Du brauchst aufwändig sein, wenn Du z.B. nur für einzelne Nutzer die Transition deaktivieren willst, wird es schwierig. Du musst die Rechte außerdem später wieder zurück setzen, erzeugst zusätzliche Revisionen des Objektes und brauchst ein Recht, dass Du dazu nutzen kannst, ohne dass das an anderen Stellen ungewünschte Auswirkungen hat. Insgesamt ist das eine Variante deren Umsetzung(smöglichkeit) stark von konkreten Kontext abhängt - wirklich „schön“ ist anders...

Viele Grüße

Michael

0 Kudos