Transition (Workflow)
Die Priorität kann die Reihenfolge der geprüften Transitionen in der Transitionsprüfung steuern, wenn es mehrere Transitionen gibt. Wird eine bestimmte Transition geprüft oder es gibt nur eine, spielt die Priorität keine Rolle.
Die erste überprüfte Transition, die keine Bedingungen hat oder deren Bedingungen erfüllt sind, wird ausgeführt. Alle anderen nicht.
Eine ausgeführte Transition kann Aktionen (wartende und nicht wartende) ausführen.
Danach bewirkt die Transition, dass der Workflow-Job vom aktuellen Zustand in den Folgezustand übergeht, mit der die Transition verbunden ist.
Wird in der Transitionsprüfung keine Transition mit erfüllten Bedingungen gefunden, dann bleibt der Workflow-Job im aktuellen Zustand.
Einstellungen
(1) Sprach-Schlüssel: Hier kann ein Sprachschlüssel angegeben werden. Ist dieser im Wörterbuch definiert, dann wird dessen Wert (passend zur Sprache, in der Sie sich angemeldet haben) statt des Namens der Transition verwendet. Über das Symbol rechts kann ein Schlüssel direkt aus dem Wörterbuch ausgewählt werden.
(2) Dokumentation: Hier können Sie eine beliebige URL angeben, die eine Dokumentation dieser Transition enthält. Über das Icon rechts kann diese aufgerufen werden. Dort können auch System-Konstanten in die URL eingefügt werden.
(3) Priorität: Gehen von einem Zustand mehrere Transitionen aus, dann kann die Priorität der Transitionen verwendet werden, um die Prüfreihenfolge zu steuern. Die Transition mit der höchsten Priorität wird zuerst geprüft.
(4) Bedingungen setzen, Funktionen bearbeiten: Eine überprüfte Transition wird nur ausgeführt, wenn keine Bedingungen angegeben werden oder wenn die angegebenen Bedingungen erfüllt sind. Hinweis: Für jede einzelne Funktion kann als Ergebnis entweder der kalkulierte Wert oder ein fest angegebener Wert verwendet werden.
(5) Prüfe erneut nach: Dies ist eine etwas exotische Einstellungsmöglichkeit, die Sie als Einsteiger ignorieren können. Die Einstellung wird erst sichtbar, wenn mindestens eine Funktion in (4) gesetzt wurde. Für den Fall, dass diese spezifische Transition extern angestoßen wurde, z. b. mit der Funktion fire workflow-event(a,b), wird ab diesem Zeitpunkt diese Transition (und keine andere) zyklisch erneut geprüft (hier jede Minute), bis der Workflow-Job nicht mehr in diesem Zustand ist. Ein Beispiel finden Sie in Abschnitt Profile als Workflow-Master.
(6) Aktionen : Auszuführende Aktionen (Profile, andere Workflows, ASM-Einträge, ETL/ELT Pipelines, Content-Inspektoren), falls die Prüfung in (4) erfolgreich ist.
Wenn Sie Profile verwenden, dann ist zu unterscheiden zwischen Cron-Profilen (zeitgesteuert) und Nicht-Cron-Profilen (event-gesteuert). Setzen Sie bei Cron-Profilen über das Kontextmenü immer die Option Cron-Profil starten. Das markiert, dass das Profil nur angestoßen wird und selbst seine Daten holt. Nicht-Cron-Profile bekommen ihre Eingangsdaten aus der Workflow-Variable VAR_SYS_WF_DATA oder VAR_SYS_WF_FILE (siehe Details dort). Liefern die Variablen keine Daten, erzeugt das Profil einen Fehler.
Jede Aktion an sich kann nur einmal ausgeführt werden, es können aber beliebig viele Aktionen ausgewählt werden. D. h. ein Profil MyProfile kann nur einmal ausgewählt werden, es können aber weitere Profile hinzugefügt werden. Das selbe gilt für die anderen Aktionsarten.
Die Aktionen werden der Reihenfolge nach (von oben nach unten) ausgeführt. Die nächste Aktion startet, wenn die vorherige beendet ist.
Ein Profil als Aktion gilt als beendet, wenn es abgearbeitet wurde oder sofort, wenn (7) gesetzt ist. Ein Workflow, ein ETL/ELT-Eintrag, ein ASM-Eintrag oder ein Content-Inspektor als Aktion gilt als beendet, wenn er erfolgreich gestartet wurde.
Ein Profil als Aktion gilt als fehlerhaft, wenn es mit einem Fehler beendet wurde. Ein Workflow, ein ETL/ELT-Eintrag, ein ASM-Eintrag oder ein Content-Inspektor als Aktion gilt als fehlerhaft, wenn dessen Start nicht erfolgreich war, z. B. weil es den Eintrag nicht mehr gibt.
Ist mehr als eine Aktion angegeben, kann das Verhalten der Aktionskette definiert werden, falls eine dieser Aktionen fehlschlägt . Schlägt eine Aktion fehl und es ist Fehler ignorieren eingestellt, dann wird die Aktionskette einfach fortgeführt. Schlägt eine Aktion fehl und es ist Bei Fehler abbrechen eingestellt, dann bricht die Aktionskette ab, aber nicht der Workflow-Job.
(7) Im Hintergrund ausführen: Ist diese Checkbox gesetzt, dann wartet die Aktionskette (und damit der Workflow-Job) nicht auf eine Beendigung gestarteter Profile (asynchron). Der erfolgreiche Start eines Profils gilt dann als erfolgreich ausgeführtes Profil, selbst wenn später im Profil ein Fehler auftreten sollte. Auf alle anderen Aktionsarten hat diese Einstellung keine Wirkung. Hinweis: Die Liste der Aktionen wird im Hintergrund in einem eigenen Thread der Reihe nach abgearbeitet.
Zustand und Folgezustand
Sobald ein Workflow-Job in einen Zustand wechselt (beim Start des Workflow-Jobs oder nach einer erfolgreich ausgeführten Transition eines Vorgängerzustands), bleibt er in diesem Zustand, bis eine angestoßene Transitionsprüfung eine gültige Transition findet. Der Workflow-Job wechselt dann in den Folgezustand, der mit dieser Transition verbunden ist. Zudem werden evtl. Aktionen ausgeführt.