2016-08-05 30 views
0

Ich habe meine Activiti-Workflow wie folgt definiert:Erstellen Sie eine Alfresco activiti Aufgabe mit activiti: candidateGroups und activiti: candidateUsers gleichzeitig?

Start -> TaskA -> TaskB -> TaskA (manchmal) -> Ende

Wenn Taska von Anfang comming erstellt wird, möchte ich assing TaskA immer eine Gruppe.

Aber manchmal kann TaskA von TaskB aufgerufen werden, und in diesem Fall muss ich TaskA einer nicht vordefinierten Liste von Benutzern oder nur einem Benutzer oder einer Gruppe zuweisen (wie wenn die Aufgabe von Anfang an aufgerufen wird) .

Das Problem ist: Wie kann ich TaskA definieren, um diese beiden Bedürfnisse zu unterstützen? Ist es möglich, sowohl activiti: candidateGroups als auch activiti: candidateUsers anzugeben, und die Workflow-Engine wählt dann das eine oder das andere aus, für das sie einen Wert gesetzt haben?

Wenn nicht, wie kann ich das gleiche Ziel erreichen?

danke!

Antwort

1

Eigentlich ist das kein ungewöhnliches Szenario. Sie sollten einen Task-Listener erstellen, der die Zuweisung für das Ereignis "Assign" verarbeitet. Setzen Sie eine Prozessvariable beim Eintritt in Aufgabe B und, falls gesetzt, ordnen Sie Aufgabe A einem Benutzer zu, andernfalls ordnen Sie Aufgabe A einer Gruppe zu.

Sehr häufiges Szenario.

+0

Und was würde mit activiti passieren: candidateGroups und activiti: candidateUsers auf der Ebene der Aufgabenerklärung? Ich müsste sie immer noch benutzen? Haben Sie ein Beispiel dafür, worüber Sie sprechen? Danke! – user3643038

+0

Sie können einen Beauftragten im Modell hinzufügen, wenn Sie möchten (und müssen dies tatsächlich tun, damit das Modell validiert wird), aber es ist einfach ein Platzhalter und wird von Ihrem Aufgabenlistener außer Kraft gesetzt. –

+0

Hallo, ich konnte kein Beispiel mit diesem Ereignis finden: activiti: taskListener event = "assign" Können Sie mir eines zeigen? Beachten Sie, dass die Verwendung von Aktivitäten in Alfresco eingebettet ist. Danke! Hmm, es scheint, es ist das Aufgabenereignis! – user3643038