Search the FirstSpirit Knowledge Base
Hallo!
Ich habe einen Arbeitsablauf, in dem es einerseits das Skript "setscriptparameters" gibt und andererseits die Transition "initialize", siehe Screenshot.
Die Transition initialize wird im Skript "setscriptparameters" aufgerufen.
session = context.getSession();
session.put("entryName","Newsletter");
session.put("pageRefUid","newsletter_responsive");
session.put("targetTrans", "freigeben");
context.doTransition("initialize");
Der Arbeitsablauf funktioniert als Administrator problemlos. Aber sobald ich ihn als ein beliebiger anderer Benutzer (sogar als Mitglied der Gruppe Admin) ausführe, kommt folgende Exception:
Called from method: __execute
Target exception: java.lang.IllegalArgumentException: Transition 'initialize' not found! at line 5
Die Rechte habe ich schon mehrfach überprüft, überall ist ein Haken für alle Benutzer. Ich habe auch einen zweiten, nahezu identischen Arbeitsablauf, dort funktioniert es problemlos.
Was kann denn noch die Ursache für diesen Fehler sein?
Danke und Grüße
Timo
Hallo Timo,
ich vermute, dass die Transition selbst die Einschränkung hervorruft. Wahrscheinlich sind auf ihr keine Rechte gesetzt, so dass sie nicht ausgeführt wird.
Viele Grüße
Michaela
Hallo Timo,
ich vermute, dass die Transition selbst die Einschränkung hervorruft. Wahrscheinlich sind auf ihr keine Rechte gesetzt, so dass sie nicht ausgeführt wird.
Viele Grüße
Michaela
Hallo Michaela,
danke für Deine Antwort. Auf den Transitions sind in der Tat explizit keine Rechte gesetzt. Aber ich habe das noch nie irgendwo gemacht und überall funktioniert es sonst. So sehen die Berechtigungen der problematischen Transition aus:
Grüße
Timo
Hallo Timo,
sind denn auf allen anderen Transitionen ebenfalls keine Rechte gesetzt? Gibt es bei dir Transitionen, die keine Rechte besitzen und trotzdem funktionieren? Das kann ich mir eigentlich nicht vorstellen.... es sei denn, du arbeitest als Admin. Bei der Ausführung des WFs als Admin dürfte der Fehler nicht auftreten - auch dann nicht, wenn keine Rechte gesetzt sind.
Viele Grüße
Michaela
Hallo Michaela,
ja, auf den anderen Transitions sind tatsächlich nirgends Rechte gesetzt. Und in einem anderen Arbeitsablauf funktioniert das wie gesagt so, auch als Nicht -Admin.
Du hast Recht, bei dem besagten Problem funktioniert es als Admin tatsächlich.
Heißt das, dass ich immer an jeder Transition explizit ein Recht setzen muss? Wofür sind dann die Berechtigungen, die ich am Objekt setze, für den Arbeitsablauf?
Grüße
Timo
Hallo Timo,
Wofür sind dann die Berechtigungen, die ich am Objekt setze, für den Arbeitsablauf?
Mit den Berechtigungen am Objekt definierst du, ob der Arbeitsablauf überhaupt auf dem Objekt ausgeführt werden darf und wenn ja von wem.
Mit den Rechten an den Transitionen bestimmst du, wer den Arbeitsablauf über diese Transition fortsetzen kann.
Ein typisches Beispiel, um den Unterschied etwas zu verdeutlichen, ist ein Arbeitsablauf zur Freigabe von Objekten. Ein solcher Workflow könnte vermutlich von jedem Benutzer gestartet werden. Allerdings sollte man ihn z.B. nicht auf Vorlagen ausführen können. Das würde man über die Berechtigungen an den Objekten steuern.
Die Entscheidung, ob ein Objekt freigegeben wird oder ob es nochmal überarbeitet werden muss, könnten hingegen nur ausgewählte Benutzer treffen. Das würde man über die Rechte an den Transitionen umsetzen.
Bei Interesse kannst du dir ja mal die BasicWorkflows anschauen. Dort wurde u.a. genau dieses Scenario umgesetzt.
Gruß
Tim
Hallo Timo,
ist hier nun noch eine Frage offen oder konnten Tim und ich dir weiterhelfen?
Solltest du zwischenzeitlich eine eigene Lösung gefunden haben, wäre es super, wenn du sie hier bereitstellst.
Viele Grüße
Michaela
Hallo Michaela,
danke für die Rückfrage.
Für mich nochmal zum Verständnis: Wenn in der Transition KEINE Berechtigung angegeben ist bedeutet es, dass NIEMAND die Transition ausführen darf (außer Admin, natürlich).
Danke und Grüße
Timo
.. und bei den Rechten am Objekt kann ich doch aber auch für jede Transition Berechtigungen vergeben, wo ist da der Unterschied?