26. März 2024iTwo 4.0

Einführung in den Workflow Designer

Platzhalter männlich
Anführungszeichen IconAnführungszeichen Icon
Hannes Mair
einführung itwo

Mit Workflows wurde in iTwo 4.0 die Möglichkeit bereitgestellt, Prozesse und Automatisierungen clever zu implementieren. In diesem Eintrag geht es um die Funktionen des Modules „Workflow Designer“.

Wie im Blog-Beitrag Prozesse automatisieren mit iTWO Workflows - Renowate Blog erklärt, dient das Modul „Workflow Designer“ zur Erstellung und Administration von Workflows. In dem Beitrag dort auch schon dargelegt, welche Container für die Entwicklung notwendig sind und wie sie angeordnet sein könnten.

Workflow Vorlagen

Im Container „Workflow Vorlagen“ werden alle Workflows angezeigt und konfiguriert. Jeder Workflow kann unterschiedlich konfiguriert werden. Dabei sind folgende Attribute zentral:

Art
Es gibt zwei verschiedene Workflow-Arten, "Benutzer-Workflows" und "System-Workflows". "Benutzer-Workflows" werden von den RIB-Kunden erstellt. "System-Workflows" werden von RIB erstellt.
Typ
Es gibt zwei verschiedene Workflow-Typen, "normalen" Workflow "Eskalationsworkflow". "Eskalations-Workflows" können zu einem anderen Workflow hinzugefügt werden und werden ausgeführt, wenn der ursprüngliche Workflow einen Fehler schmeißt. Z.B: "Schreibe E-Mail, wenn der Workflow fehlgeschlagen ist". Es ist geplant, einen eigenen Eintrag zu Eskalation Workflows zu erstellen.
Eskalations-Workflow
Hier kann ein Eskalationsworkflow angegeben werden - Datenobjekt: Das Datenobjekt ist DAS ZENTRALE ATTRIBUT bei Workflows. Hier wird angegeben, für welches Modul der Workflow entwickelt wurde. Wird hier z.B. ConHeaderEntity ausgewählt, muss beim Start des Workflows eine ConHeader ID (die eigentliche Vertrags-ID in der Datenbank und NICHT der Vertragscode) eingegeben werden. Das hat den Vorteil, dass direkt alle relevanten Daten dieses Vertrags in den Context geladen werden (sichtbar im Container der „Debug“) und somit im weiteren Workflow nutzbar sind.

Versionen der Workflow-Vorlagen

Auf diesen Container wurde schon in Prozesse automatisieren mit iTWO Workflows - Renowate Blog eingegangen. Deshalb wird hier nur zitiert:

„Zu jedem WF können Versionen angelegt werden. Diese erreichen wir über den Reiter ‚Workflow Templates Versions‘. ID und Version werden automatisch erzeugt. Das Feld ‚Lifetime‘ (Lebensdauer) ignorieren wir. In den Felder ‚Comment‘ (Kommentar) und ‚Help Text‘ (Hilfetext) können wir Information zur WF Version angeben. Ich persönlich halte es da wie mit GIT Commit Comments – im Comment werden in englischer Sprache, im Präsens, kurz und prägnant Änderungen in Bezug auf die vorherige Version beschrieben. Eine WF Version bleibt editierbar (Stift Icon links neben der ID-Spalte) bis sie durch Klicken auf ‚Change Status‘ (Status wechseln) auf AKTIV gestellt wird. Der Stift wird durch eine leuchtende Glühbirne ersetzt. Änderungen an der WF Version sind nun nicht mehr möglich, jedoch kann über ‚Copy Version‘ (Version kopieren) eine neue, editierbare Version der aktiven Variante erzeugt werden. WF Versionen können des Weiteren validiert, importiert, lokal gespeichert (exportiert) und natürlich gelöscht werden. “

Die Export-Funktion kann auch für Backups von Workflows genutzt werden, oder um einen Workflow von einer Umgebung (z.B. Entwicklung) in die nächste Umgebung (z.B. PreProd) zu stagen.

Noch eine Ergänzung zur Lifetime: Hierüber kann die Lebendsauer eines Flows definiert werden. Dies kann hilfreich sein, um z.B. nicht ewig auf User-Input zu warten. Der Flow würde nach der angegebenen Zeit (in Stunden) abbrechen. 0 steht für unendlich bzw. keinen Abbruch des Flows.

Abonnierte Ereignisse

Der Renowate-IT sind aktuell 5 Möglichkeiten bekannt, einen Workflow zu starten:

1. Events

  • Im Workflow Designer werden Events im Container „Abonnierte Ereignisse“ definiert, aufgrund derer ein Workflow gestartet wird

  • In dem Container können Rechts oben in der Ecke ein oder mehrere „Events“ hinzugefügt oder entfernt werden

  • Events werden in der Regel aufgrund von Benutzeraktionen generiert, wie z.B. wenn ein neuer Vertrag oder ein neues Projekt angelegt wird.

2.      Direkt und manuell vom Entwickler im Workflow Designer

  • Dieser Weg darf nicht von normalen Endanwendern genutzt werden, sondern nur von Administratoren.

  • Dieser Weg sollte nur beim Entwickeln genutzt werden.

3.      Manuelles im jeweiligen Modul über den Wizard

  • Das ist der Standardweg, um Endanwendern einen Workflow zur Verfügung zu stellen

  • Der Workflow wird im Modul „Module“ konfiguriert und steht dann im Wizard des jeweiligen Moduls für den Anwender zur Verfügung.

4.      Nutzen der „startworkflow“-API

  • Dadurch können umliegende Systeme ein Workflow gestartet werden

  • Details dazu sind in der „RIB 4.0 Web API interface“-Dokumentation zu finden

5.      Scheduled Task

  • Im Modul „Aufgabenplanung“ kann eine Aufgabe angelegt werden, die entweder einmalig oder periodisch einen Workflow ausführt

  • Tasks werden läuft normalerweise regelmäßig von iTwo ausgeführt

  • Dies ist hilfreich, um z.B. einen Workflow zu starten, der regelmäßig etwas prüft, um je nach Ergebnis eine Info-Mail zu versenden