Workflow


WIP


Den größten Platz des Workflowdesigners nimmt der Arbeitsbereich in der Mitte (1) ein. Dieser stellt die Verarbeitung des Formulars grafisch in Form des Workflowgraphen dar. Links neben dem Arbeitsbereich befindet sich die Elementauswahl (2), welche sämtliche Aktionen, Ereignisse und weitere Steuerungselemente auflistet. Neue Elemente können einfach per Drag & Drop aus der Elementauswahl in die Verarbeitung gezogen werden. Die Eigenschaften einzelner Elemente im Arbeitsbereich werden rechts neben diesem in den Elementeigenschaften dargestellt. Über diesen Bereichen befindet sich die Werkzeugleiste (4) des Workflowdesigners. Unterhalb des Arbeitsbereichs befindet sich eine Statusleiste (5) mit Information zur aktuellen Verarbeitung.


Beispiel einer Verarbeitungskette für das Absenden eines Formulars über den Absendebutton btnSubmit im Formular.

Der Workflowdesigner ermöglicht es, die Verarbeitung von Formularen auf eine intuitive und visuelle Weise per Drag & Drop zu erstellen. Die Verarbeitung von Formularen wird als ein ereignisbasiertes Flussdiagramm dargestellt. Dieses Flussdiagramm wird im Folgenden als der Workflowgraph bezeichnet. Innerhalb des Workflowgraphen werden einzelne Verarbeitungsketten angelegt, welche durch Ereignisse ausgelöst werden. Ereignisse sind etwa der Klick auf einen Absendebutton, das Bestätigen eines Double-Opt-In-Vorgangs oder das Überschreitung eines definierten Zeitpunktes. Abzweigungen innerhalb des Graphen stellen Entscheidungen oder Bedingungen dar. Durch diese Bedingungen können unterschiedliche Aktionen ausgeführt werden, abhängig vom Status eines Vorgangs und/oder den erfassten Formulardaten.

Mit dem Workflowdesigner wird der Workflow einer gewählte Version des Formulars bearbeitet. Wird keine Formularversion explizit gewählt, so wird die aktive Formularversion bearbeitet.

Workflowgraph

Der Workflowgraph stellt das Herzstück des Workflowdesigners dar, mit welchem die Verarbeitung eines Formulars grafisch repräsentiert wird und bearbeitet werden kann. Der Beginn einer jeden Verarbeitung ist mit dem Xima® Formcycle-Symbol markiert. workflow_start.png
Der Workflow ist von oben nach unten zu lesen und besteht aus einzelnen Verarbeitungsketten. Jede Verarbeitungskette beginnt mit einem Ereignis, welches diese auslöst. Beispielsweise kann der Klick auf einen bestimmten Button im Formular eine Verarbeitungskette starten, in welcher eine E-Mail an den Antragsteller gesendet wird. Wie man an diesem Beispiel sieht, werden innerhalb von Verarbeitungsketten Aktionen ausgeführt. Diese Verarbeitungsketten können komplexer werden und sich zum Beispiel abhänging von den Formulareingaben aufsplitten. Diese Abzweigungen werden über Bedingungen realisiert. So kann beispielsweise der Workflow so konfiguriert werden, dass eine E-Mail nur dann versendet wird, wenn der Antragsteller auch eine E-Mail angegeben hat. Wenn dies nicht der Fall ist, kann zum Beispiel ein PDF des Formulars erstellt und dieses dem Antragsteller zurückgegeben. Wie man sieht führen Bedingungen dazu, dass sich eine Verarbeitungskette in zwei Teilverarbeitungsketten aufteilt. Jede Verarbeitungskette muss in einem Endpunkt enden. In der Regel ist ein solcher Endpunkt ein Status, in dem sich der Vorgang nach Ausführung der Verarbeitung befinden soll. Im Fall von Bedingungen werden die dadurch entstandenen Teilverarbeitungsketten nach Ausführung der geünschten Aktionen wieder zusammen geführt (siehe Abbildung). Jede Teilverarbeitungskette kann allerdings auch einen eigenen Endpunkt definieren. Das hier vorgestellte Beispiel ist in der Abbildung als Verarbeitungskette im Arbeitsbereich des Workflowdesigner dargestellt. Treffen mehrere Ereignisse zu, werden die entsprechenden Verarbeitungsketten der Reihe nach von links nach rechts ausgeführt.

Standardverhalten

Neue erstellte Formulare haben keinen konfigurierten Workflow, d.h. es ist keine Ereignis-Verarbeitungskette im Workflowgraphen enthalten. Alles was im Arbeitsbereich des Workflowdesigners zu sehen ist, ist das Xima® Formcycle-Symbol, welches den Beginn der Verarbeitung darstellt. In einem solchen Fall landen abgesendete Vorgänge immer im Status Eingegangen, auch wenn dies nicht explizit im Workflowgraphen konfiguriert ist. Dies ist das Standardverhalten von Xima® Formcycle, wenn kein Workflow konfiguriert wurde. Diese Standardverhalten greift auch, wenn ein Formular mit einem Button abgesendet wurde, für welchen nicht explizit ein Workflowereignis mit Verarbeitungskette im Workflowgraphen definiert wurde.

Zusammengefasst

Jeder Workflowgraph kann aus mehreren Verarbeitungsketten bestehen. Der Workflow kann aber auch keine Verarbeitungskette besitzen, dann greift das Standardverhalten.
Jede Verarbeitungskette beginnt mit einem Ereignis, danach folgen Workflowelemente wie Aktionen und Bedingungen. Die Aktionen werden von ob nach unten betrachtet ausgeführt. Bedingungen auf dem Pfad werden entsprechend des Umgebungs- und Vorgangszustandes ausgewertet. Die Verarbeitungskette endet immer in einem Endpunkt. Teilverarbeitungsketten können einen eigenen Endpunkt definieren.

Oberfläche

Wie in der Abbildung zu sehen, besteht der Workflowdesigner aus den folgenden Komponente: Arbeitsbereich, Elementauswahl, Elementeigenschaften, Werkzeug- & Statusleiste, welche im Folgenden kurz vorgestellt werden sollen. Allgemeine Informationen zur Werkzeugleiste sind hier zu finden.

Wird eine Workflowkonfiguration geändert, aber nicht gespeichert und später wird der Workflowdesigner für diesen Workflow neu geladen, erscheint ein Dialog, mit dem der alte Stand wiederherstellgt werden kann. Die ungespeicherte Workflowkonfiguration wird in den Arbeitsbereich geladen. Diese ist allerdings noch nicht gespeichert. Erst wenn der Nutzer auf Speichern klickt wird diese Workflowkonfiguration gespeichert.

Arbeitsbereich

Der Arbeitsbereich stellt den Workflowgraphen dar. Jederzeit können dem Workflowgraphen neue Ereignisse hinzugefügt werden. Es gibt zwei Möglichkeiten dem Workflowgraphen ein neues Ereignis hinzuzufügen:

  • Ein Ereignis wird aus der Elementauswahl am linken Rand per Drag & Drop in den Arbeitsbereich auf das Plus-Sysmbol am Anfang des Workflowgraphen gezogen.
  • Es wird auf Plus-Symbol am Anfang des Workflowgraphen geklickt. Daraufhin öffnet sich ein Kontextmenü über welches das Ereignis ausgewählt werden kann.

In beiden Fällen entsteht eine neue Verarbeitungskette mit dem gewählten Ereignis. Verarbeitungsketten können mit einem Klick auf deren Namen umbenannt werden. Unterhalb des Namens kann diesen auch eine Beschreibung hinzugefügt werden.

Verarbeitungsketten können überall da neue Workflowelemente hinzugefügt werden, wo sich ein sog. Droppunkt befindet. Dies ist auf zwei verschiedene Arten möglich:

  • Ein Workflowelement wird aus der Elementauswahl am linken Rand per Drag & Drop in den Arbeitsbereich auf den gewünschten Droppunkt in der Verarbeitungskette gezogen.
  • Es wird auf den gewünschten Droppunkt geklickt. Daraufhin öffnet sich ein Kontextmenü über welches das Workflowelement ausgewählt werden kann.

Wenn eine neue Verarbeitungskette durch das Anlgen eines Ereignisses erstellt wurde, erhält diese Verarbeitungskette standardmäßig den Status-Endpunkt Eingegangen. Endpunkte können aus Verarbeitungsketten entfernt werden. Jede Verarbeitungskette, muss allerdings wenigstens einen Endpunkt besitzen. Ein neuer Endpunkt kann hinzugefügt werden indem dieser aus der Elementauswahl auf einen Droppunkt innerhalb der Verarbeitungskette oder auf den aktuellen Endpunkt der (Teil-)Verarbeitungskette gezogen wird. Wurde der Endpunkt der gesamten Verarbeitungskette gelöscht, kann auch ein neuer Enpukt definiert werden, in dem auf den Platzhalter für den Endpunkt geklickt wird. Daraufhin öffnet sich ein Kontextmenü über welches ein Endpunkt ausgewählt werden kann.
Die Ja/Nein-Label von Bedingungen können umbenannt werden, indem man auf diese klickt.

Elemente des Workflowgraphen

Um die Eigenschaften eines Workflowelements des Workflowgraphen anzuzeigen, muss auf das entsprechende Workflowelement geklickt werden. Sämtliche Eigenschaften des Elementes werden daraufhin rechts neben dem Workflowgraphen in den Elementeigenschaften dargestellt und können dort angepasst werden. Workflowelemente können innerhalb und zwischen Verarbeitungsketten verschoben werden.

Wird der Cursor über eine Workflowelement im Workflowgraphen bewegt erscheinen über diesem folgende zusätzliche Optionen:

  Löschen
Löscht das gewählte Workflowelment
  Deaktivieren
Deaktiviert das gewählte Workflowelement. Wird ein Ereignis deaktiviert, dann ist dessen gesamte Verarbeitungskette deaktiviert.
Duplizieren
Dupliziert das gewählte Workflowelement. Die Kopie wird unterhalb des Originals in den Workflowgraphen eingefügt. Ereignisse könnne nicht dupliziert werden.
  Kurzinfo
Gibt eine Zusammenfassung des Workflowelmentes. Für Ereignisse beinhaltet dies die Angabe der durch das Ereignis bereitgestellten Werte. für das Ereignis Double-Opt-In bestätigt wird bspw. bereitgestellt in welcher Verarbeitungskette der Double-Opt-In initialisiert wurde. Für Aktionen werden die Konfigurationsparameter und deren Werte sowie die Rückgabewerte bei Erfolg bzw.Fehler aufgelistet. Die Aktion Datenbank-Abfrage gibt bspw. bei Erfolg das Result dieser Abfrage zurück. Mit diesen Rückgabewerten von Ereignissen oder Aktionen kann im weiteren Verlauf des Workflowgraphen also in nachfolgenden Aktione gearbeitet werden.

Elementauswahl

Die Elementauswahl kann über das Pfeilsymbol am Rand eingeklappt werden, wodurch mehr Platz für den Arbeitsbereich entsteht. Dem Workflowgraphen können trotzdem neue Elemente mit einem Klick auf die sog. Droppunkte innerhalb der Verarbeitungsketten hinzugefügt werden (siehe Arbeitsbereich). In der Elementauswahl sind sämtliche Elemente Verfügbar, die im Workflwo verwendet werden können. Um ein Element im Workflowgraphen im Arbeitsbereich zu verwenden, muss es auf einen möglichen Droppunkt () im Workflowgraphen  im Arbeitsbereich gezogen werden. Abhängig vom Typ des Workflowelementes stehen unterschiedliche mögliche Droppunkte zur Verfügung. Ereginsse können bspw nur am Anfang des Workflowgraphen () angehangen werden. Die Workflowelmente sind in unterschiedliche Kategorien aufgeteilt. Wird der Cursor über den oberen rechten Rand der Elementauswahl bewegt, werden die Elementkategorien sichtbar. Die Elemente sind in folgende Kategorien unterteilt:

  • Buttons
  • Ereignisse
  • Aktionen
  • Steuerung
  • Status

Die Elementauswahl kann mit einem Klick auf die gewählte Kategorie begrenzt werden. Ein nochmaliger Klick sorgt dafür, dass diese Beschränkung wieder aufgehoben wird. Wird die Strg-Taste unter Windows bzw. die Ctrl-Taste unter MacOS gehalten, können mehrere Kategorien auf einmal ausgewählt werden. Für detailliertere Informationen zu den einzelnen Elementen innerhalb der Kategorien siehe Workflowelemente.

Elementeingenschaften

Abhängig vom Workflowelement, welches gerade im Arbeitsbereich ausgewählt ist, ändert sich der Inhalt der Elementeigenschaften, welche rechts neben dem Arbeitsbereich dargestellt werden. In den Elementeigenschaften sind sämtliche Parameter eines Elements konfigurierbar. So kann hier bspw. in der Aktion E-Mail der Absender, Empfänger, Betreff, Inhalt etc. definiert werden. Wenn die Elementeigenschaften nicht nötig sind, können diese auch über das Pfeil-Symbol am linken Rand der Elementeigenschaften eingeklappt werden.

Werkzeugleiste

Speichern
Speichert den Workflowgraphen und somit die Verarbeituungskonfiguration des Formulars. Sollte es Fehler in der Workflowkonfiguration geben (siehe Validieren), kann der Workflow trotzdem gespeichert werden. Das Formular wird in diesem Fall jedoch in den Wartungsmodus geschaltet und ist nicht mehr online verfügbar, da eine korrekte Verarbeitung von Vorgängen nicht mehr gewährleistet werden kann. Erst wenn alle Fehler in der Workflowkonfiguration behoben wurden, wird das Formular wieder online verfügbar sein.
Validieren
Überprüft die aktuelle Workflowkonfiguration auf Fehler. Ein Fehler in der Workflowkonfiguration ist bspw. ein nicht ausgefülltes Empfängefeld in der Aktion E-Mail oder die Abwesenheit eines Endpunktes in einer Verarbeitungskette.
Ansichtsoptionen
Es stehen verschiedene Ansichtsoptionen zur Verfügung. Der Workflowgraph im Arbeitsbereich kann vergrößert oder verkleinert sowie wieder zentriert werden. Unter dem Menüpunkt Ansicht gibt es folgende Ansichtsioptionen:
  • Hilfslinien anzeigen: Hilfslinien trennen die einzelnen Verarbeitungsketten visuell.
  • Benutzergruppen anzeigen: Wenn für bestimmte Ereignisse Benutzergruppenbeschränkungen bestehen, werden diese an der entsprechenden Verarbeitungskette angezeigt.
  • Status anzeigen: Wenn für bestimmte Ereignisse Statusbeschränkungen bestehen, werden diese an der entsprechenden Verarbeitungskette angezeigt.
  • Verarbeitungsketten ein-/ausblenden: einzelne oder alle Verarbeitungsketten können ein- bzw. ausgeblendet werden.
Rückgängig/Wiederholen
Veränderungen an der Struktur des Workflows können rückgängig gemacht oder wiederholt werden. Änderungen an den Elementeigenschaften werden nicht berücksichtigt.
Mehr...
Unter dem Menüpunkt Mehr... sind weitere Inhalte zu finden, die an dieser Stelle näher beschrieben werden.
Öffnen
Öffnet das Formular im Live-Modus. Stehen Frontendserver zur Verfügung, kann das Formular auch auf einem der Frontendserver geöffnet werden.
Vorschau
Öffnet das Formular im Vorschaumodus. Hier kann das Formular getestet werden ohne dass Vorgänge erstellt werden.

Statusleiste

Die Statusleiste befindet sich unterhalb des Arbeitsbereichs. Auf der linken Seite ist der Navigationsbereich, wodurch erkennbar ist, wo sich das selektierte Formularelement im workflowgraphen befindet. Auf der rechten Seite sind Detailinformationen zum Formular und aktuellen Version sichtbar.

Workflowelemente

Buttons & Ereignisse

Eregnisse bilden den Beginn von Arbeitsketten und können abhängig vom Typ auf unterschiedliche Art& Weise ausgelöst werden. Eine besondere, weil häufig verwendete, Form von Ereignissen sind Buttonereignisse. Diese Ereignisse haben daher ihre eigen Kategorie in der Elementauswahl.

Buttonergnisse

Für jeden Button im Formular, der zum Absenden oder Speichern verwendet wird, gibt es ein entsprechendes Ereignis in der Elementauswahl. Diese Buttonereignisse können dann ganz einfach in den Workflowgraphen gezogen werden. Somit kann für jeden Button eine eigene Verarbeitungskette definiert werden. Weitere Informationen zu Buttonereignissen sind hier und hier zu finden.

weitere Ereignisse

Neben den Buttonereignissen gibt es noch folgende Ereignisse:

Benutzerdefinierte Ereignisse
Ein benutzerdefiniertes Ereignis tritt nicht automatisch ein, sondern muss durch einen Benutzer manuell ausgelöst werden.
Datum und Uhrzeit
Dieses Ereignis tritt ein, sobald ein benutzerdefinierter fester oder berechneter Zeitpunkt eintritt.
Double-Opt-In bestätigen
Sobald ein Nutzer auf einen vorher generierten Double-Opt-In Link klickt und damit den Double-Opt-In Prozess bestätigt, tritt dieses Ereignis ein.
Einladung fehlgeschlagen
Tritt ein, wenn beim Versenden einer Einladungsmail ein Fehler auftritt.
Einladung versendet
Tritt ein, wenn eine Einladungsmail zu einem Formular versandt wurde.
Nach Statuswechsel
Dieses Ereignis tritt einmalig ein, nachdem der Vorgang nach einem Statuswechsel für eine gewisse Zeit in einem bestimmten Status verweilt hat.
Workflow-Fehler
Dieses Ereignis tritt ein, sobald im Workflow an irgendeiner Stelle ein unbehandelter Fehler auftritt.

Aktionen

Eine Liste sämtlicher Workflowaktionen ist hier zu finden.

Steuerung

Eine Liste sämtlicher Steuerungselemente ist hier zu finden.

Status

Status beschreiben den Zustand eines Vorgangs und definieren, wer auf disesen Zugriff hat. Weitere Information zu Status sind hier zu finden.

Unterschiede zur alten Status- & Aktionsverarbeitung

Sowohl im neuen Workflow als auch in der alten Status- & Aktionsverarbeitung gibt es Status. Vorgänge können in beiden Workflows einen Status annehmen. In der alten Status- & Aktionsverarbeitung werden Verarbeitungsketten in den einzelnen Status definiert. Zustandsabhängige Entscheidungen können über Bedingungen an den Aktionen realisiert werden, insbesondere unter Verwendung der Aktion Statuswechsel. Verarbeitungsketten werden also über Status ausgelöst. Im neuen Workflow sind Status lediglich Endpunkte. Status beschreiben den Zustand eines Vorgangs und definieren, wer auf disesen Zugriff hat, mehr nicht. Verarbeitungsketten werden über Ereignisse und nicht mehr Status ausgelöst. Zudem sind die Status des neuen Workflows mit der Formularversion versioniert, d.h. jede Formularversion kann unterschiedliche Status besitzen. Der Status Eingegangen ist der Standardstatus und kann weder gelöscht noch umbenant werden.

TODO auf Unterseiten

  • Aktionen des neuen WF sollten immer auch auf die alten verlinken und umgekehrt.
  • Bei den Aktionen sollte immer auch im ersten Satz stehen, in welcher Gruppe sie sind
  • Bei Legacy Aktionen sollte dies gernerell darüber stehen in einem Hinweisfeld. Die Aktionen , welche schon in der Version 6 deprecated waren, sollten dies dann extra im Text erwähnt bekommen.