Manuelle Aufgabe
Die Aufgabe „Human Task“ ist ein grundlegendes Bauelement für die Orchestrierung von Prozessen, die ein menschliches Eingreifen erfordern. Ihre Hauptfunktion besteht darin, die Ausführung eines Workflows zu pausieren und eine ausstehende Aufgabe zu erstellen, die einem oder mehreren bestimmten Benutzern zugewiesen wird.
Der Workflow verbleibt im Wartezustand (im Ausführungs-Logs ist er im Status Running) পর্যন্ত, bis der zugewiesene Benutzer die Aufgabe abschließt, sie storniert oder ein Timeout eintritt. Diese Interaktion erfolgt über die Workspace-Oberfläche des Benutzers.
Diese Aufgabe ist die Brücke zwischen der System-zu-System-Automatisierung und menschlichen Entscheidungs- oder Dateneingabeprozessen (Human-in-the-Loop).
1. Konfiguration
Die Konfiguration der Aufgabe definiert, an wen die Aufgabe zugewiesen wird, deren Fristen und die Felder (Formulare), die der Benutzer sehen oder ausfüllen muss.
1.1 Benutzerzuweisung
- Zustellempfänger: Ein Mehrfachauswahlfeld, um einen oder mehrere Benutzer festzulegen, an die die Aufgabe zugewiesen wird.
- Fälligkeitsdatum: Ein Datum/Uhrzeit-Feld zur Definition der Frist, bis zu der die Aufgabe abgeschlossen sein muss.
- Priorität: Ein Dropdown-Menü zur Einstellung der Priorität der Aufgabe (Niedrig, Mittel, Hoch).
- Timeout (Sekunden): Ein numerischer Wert in Sekunden, der eine maximale Wartezeit definiert. Wird die Aufgabe nicht innerhalb dieses Timeouts abgeschlossen, setzt der Workflow die Ausführung automatisch fort, typischerweise indem er einen bestimmten Ausgabepfad nimmt.
1.2 Formulare
Dieser Abschnitt ermöglicht es, ein dynamisches Formular zu erstellen, das dem Benutzer in seinem Workspace angezeigt wird. Für jedes anzuzeigende Feld (+ zum Hinzufügen) werden definiert:
| Spalte | Technische Beschreibung |
|---|---|
| Label | Der Name des Feldes, wie es dem Benutzer angezeigt wird (z. B. test_pdf). |
| Typ | Der Datentyp des Feldes (z. B. String, Number, Boolean). |
| Wert | Der anfängliche oder vorbefüllte Wert des Feldes. Dies kann ein statischer Wert oder, was häufiger vorkommt, ein dynamischer Parameter von einer vorhergehenden Aufgabe sein (#>Importa Testo.result<#). |
| Erforderlich | Wenn angehakt, kann der Benutzer die Aufgabe nicht abschließen, ohne dieses Feld auszufüllen. |
| Nur Lesen | Wenn angehakt, kann der Benutzer den Wert des Feldes sehen, ihn aber nicht ändern. |
2. Benutzerinteraktion im Workspace
Wenn ein laufender Workflow auf eine Human Task trifft, geschieht Folgendes:
- Die Ausführung des Workflows wird pausiert.
- Im Workspace der zugewiesenen Benutzer erscheint ein neuer ausstehender Eintrag im Abschnitt „Human Task List“.
- Die Aufgabe zeigt alle konfigurierten Details an: Zustellempfänger, Priorität, Fälligkeit und das Formular (Forms), das ausgefüllt werden muss.
- Der Benutzer kann mit der Aufgabe interagieren, indem er die erforderlichen Felder ausfüllt und eine der beiden Endaktionen wählt:
- Abschließen: Schließt die Aufgabe ab und setzt den Workflow fort.
- Stornieren: Storniert die Aufgabe und setzt den Workflow fort, typischerweise über einen anderen Ausgabepfad.
3. Ausgabe-Parameter
Sobald die Human Task abgeschlossen ist, gibt sie eine Reihe von Ausgabe-Parametern zurück, die die vom Benutzer eingegebenen Daten und das Ergebnis seiner Interaktion enthalten.
Diese Parameter sind für die nachfolgenden Aufgaben grundlegend, da sie die vom Benutzer validierten oder eingegebenen Daten nutzen können, um mit der Prozesslogik fortzufahren (z. B. Speichern der Daten in einer Datenbank, Senden einer E-Mail mit den eingegebenen Informationen usw.).
3.1 Basisabschnitt
- result: Der finale Status der Interaktion (z. B. "Completed", "Cancelled", "TimedOut").
- resultJSON: Ein JSON-Objekt, das alle Daten des Formulars enthält, einschließlich der vom Benutzer eingegebenen Werte.
- choicesJSON: Ein JSON-Objekt, das die vom Benutzer getroffenen Auswahlmöglichkeiten, den Abschlussstatus und den zugehörigen Benutzer zusammenfasst. (z. B.
{"choices":{"x":"243"},"status":"Completed","username":"user_test"})
3.2 Formularabschnitt
Dieser Abschnitt stellt jedes im Formular definierte Feld als individuellen Ausgabe-Parameter dar und macht den Zugriff auf die vom Benutzer eingegebenen Daten extrem direkt.
Die Zuordnung folgt dieser Struktur:
- Feldname (Label): Für jedes Feld, das mit einem bestimmten Label in der Konfiguration erstellt wurde, wird ein Ausgabe-Parameter mit demselben Namen erstellt. Dieser Parameter enthält den endgültigen Wert des Feldes, so wie er vom Benutzer bei Abschluss der Aufgabe möglicherweise geändert und bestätigt wurde.