Gerhard_Weywade
I'm new here

Mit der API ist das Manipulieren der erlaubten Gruppen an einer Workflow-Transaktion nicht möglich

Jump to solution

Wir möchten gerne für Schulungen eine Gruppe (SCHULUNG) temporär berechtigen.

Die Rechte sollen mit einem BeanShell - Script automatisiert vor der Schulung gesetzt und danach wieder entfernt werden.

Für die diversen Stores sollte es über storeElement.setPermission und storeElement.removePermission funktionieren, für die Transitions eines Workflows gibt es dazu aber nichts Vergleichbares.

Mit transition.getAllowedGroups erhält man zwar die berechtigten Gruppen, kann diese mit API-Methoden aber nicht erweitern oder verkleinern.

Dazu meine Frage: Gibt es eine Möglichkeit, via API, Gruppen zu den erlaubten Gruppen einer Transition hinzuzufügen bzw. wieder herauszulöschen?

Wir verwenden die FirstSpirit - Version 4.2.437.

Anbei der Dialog für die Berechtigung von Gruppen, eine Transition zu nutzen.

transition_group_dialog.jpg

0 Kudos
1 Solution

Accepted Solutions
pavone
I'm new here

Hallo Gerhard,

im Dialog "Rechtevergabe" (Rechtsklick auf ein Element -> "Extras" -> "Rechte ändern") kannst du im Bereich "Arbeitsablauf Rechte" unten spezielle Rechte für Transitionen definieren:

Unbenannt.png

Die Methode getTransitionPermissions liefert dir die Rechte, die du in diesem Bereich definiert hast.

Du könntest also z.B. bei den betroffenen Transitionen einen Haken setzen und dann über API Methoden die gewünschten Rechte setzen und entfernen.

Gruß

Tim

View solution in original post

0 Kudos
7 Replies
marro
Crownpeak employee

Hallo Gerhard,

es ist leider nicht möglich, die erlaubten Gruppen für eine Transition per API direkt am Workflow zu ändern. Allerdings geht es sehr wohl am StoreElement über folgenden Weg:

Auf dem StoreElement:

WorkflowPermission[] getWorkflowPermissions()

bzw.

WorkflowPermission getWorkflowPermission(Workflow workflow)

Und danach auf der WorkflowPermission:

WorkflowTransitionPermission[]          getTransitionPermissions()

bzw.

WorkflowTransitionPermission          getTransitionPermission(Transition transition)

Viele Grüße

Donato

0 Kudos

Hallo Donato,

vielen Dank für deine Antwort, das wäre schon eine super Lösung.

Ich habe allerdings das Problem, dass ich kein StoredElement finde, bei dem die WorkflowPermissions gefüllt sind.

Beim Aufruf von

     WorkflowPermission wp = el.getWorkflowPermission((Workflow)el);

oder

     WorkflowPermission [] wp = el.getWorkflowPermissions();

erhalte ich immer null bzw. ein leeres Array zurück.

el ist dabei ein Workflow-Objekt.

Gibt es dafür eine Erklärung?

Viele Grüße

Gerhard

0 Kudos

Hallo Gerhard,

das StoreElement, das ich meine, wäre das Element, auf dem der Workflow ausgeführt werden soll, nicht der Workflow selbst.

Viele Grüße

Donato

0 Kudos

Hallo Donato,

ich habe jetzt StoreElemente (PageStoreRoot, SiteStoreRoot, ContentStoreRoot, MediaStoreRoot) gefunden, auf denen Workflow Permissions definiert sind, jedoch sind dort die Workflow Transaction Permissions leer, d.h., die Methode

wp.getTransitionPermissions();

liefert ein leeres WorkflowTransitionPermission Array zurück.

Gibt es dafür auch noch eine Lösung?

Vielen Dank

Gerhard

0 Kudos

Hallo Gerhard,

wir schauen uns das gerade mal etwas genauer an. Sobald wir mehr wissen, melden wir uns nochmal.

Viele Grüße

Donato

0 Kudos
pavone
I'm new here

Hallo Gerhard,

im Dialog "Rechtevergabe" (Rechtsklick auf ein Element -> "Extras" -> "Rechte ändern") kannst du im Bereich "Arbeitsablauf Rechte" unten spezielle Rechte für Transitionen definieren:

Unbenannt.png

Die Methode getTransitionPermissions liefert dir die Rechte, die du in diesem Bereich definiert hast.

Du könntest also z.B. bei den betroffenen Transitionen einen Haken setzen und dann über API Methoden die gewünschten Rechte setzen und entfernen.

Gruß

Tim

0 Kudos

Hallo Tim,

vielen Dank für die Antwort, das erklärt das Problem.

Wir haben die Ausführungsrechte immer direkt im Workflow bei den Transitions angegeben und nicht im Rechtedialog.

D.h., dass wir hier derzeit keinen Automatismus haben können.

Viele Grüße

Gerhard

0 Kudos