Entwickeln und Erweitern von Workflows

AEM stellt mehrere Tools und Ressourcen zum Erstellen von Workflow-Modellen, Entwickeln von Workflow-Schritten und programmgesteuerten Interagieren mit Workflows bereit.

Mit Workflows können Sie Prozesse zum Verwalten von Ressourcen und Veröffentlichen von Inhalten in der AEM-Umgebung automatisieren. Workflows beinhalten eine Reihe von Schritten, wobei bei jedem Schritt eine diskrete Aufgabe ausgeführt wird. Sie können Logik und Laufzeitdaten verwenden, um zu entscheiden, wann ein Prozess fortgesetzt wird, und den nächsten Schritt unter mehreren möglichen Schritten auswählen.

So beinhalten beispielsweise Geschäftsprozesse zum Erstellen und Veröffentlichen von Webseiten Genehmigungs- und Abzeichnungsaufgaben diverser am Prozess beteiligter Personen. Diese Prozesse können anhand von AEM-Workflows modelliert und auf spezifische Inhalte angewandt werden.

Die Hauptaspekte sind unten beschrieben; die folgenden Seiten enthalten weitere Einzelheiten.

HINWEIS

Informationsquellen:

Modell

Ein WorkflowModel steht für eine Definition (bzw. ein Modell) eines Workflows. Es besteht aus WorkflowNodes und WorkflowTransitions. Die Transitionen verbinden die Knoten und definieren den flow. Das Modell weist immer einen Start- und einen Endknoten auf.

Laufzeitmodell

Workflow-Modelle sind versioniert. Wenn Sie eine Workflow-Instanz ausführen, wird für diese das Laufzeitmodell des Workflows (das zum Startzeitpunkt des Workflows verfügbar ist) verwendet (und beibehalten).

Ein Laufzeitmodell wird erzeugt, sobald die Synchronisierung im Workflow-Modell-Editor ausgelöst wird.

Änderungen am Workflow-Modell, die auftreten, und/oder die generierten Laufzeitmodelle nach wurde die spezifische Instanz gestartet, werden nicht auf diese Instanz angewendet.

VORSICHT

Die auszuführenden Schritte werden vom Laufzeitmodell definiert, das zu dem Zeitpunkt erstellt wird, zu dem die Synchronisierung im Workflow-Modell-Editor ausgelöst wird.

Falls das Workflow-Modell nach diesem Zeitpunkt geändert wird, (ohne dass eine Synchronisierung ausgelöst wird), werden diese Änderungen nicht auf die Laufzeitinstanz angewandt. Die Änderungen werden nur auf nach der Aktualisierung erstellte Laufzeitmodelle angewandt. Ausnahmen sind die zugrunde liegenden ECMA-Skripte, die nur einmal gespeichert werden, sodass Änderungen an diesen übernommen werden.

Schritt

Bei jedem Schritt wird eine diskrete Aufgabe ausgeführt. Es gibt verschiedene Arten von Workflow-Schritten:

  • Teilnehmer (Benutzer/Gruppe): Diese Schritte erzeugen ein Arbeitselement und weisen es einem Benutzer oder einer Gruppe zu. Ein Benutzer muss das Arbeitselement ausfüllen, um den Workflow voranzutreiben.
  • Prozess (Schritt, Java-Methodenaufruf): Diese Schritte werden automatisch vom System ausgeführt. Ein ECMA-Skript oder eine Java-Klasse implementiert den Schritt. Dienste können entwickelt werden, um bestimmte Workflow-Ereignisse zu überwachen und Aufgaben je nach Geschäftslogik auszuführen.
  • Container (Untergeordneter Workflow): Dieser Schritt-Typ startet ein anderes Workflow-Modell.
  • ODER-Teilung/Verbindung: Verwenden Sie Logik, um zu entscheiden, welcher Schritt als nächster im Workflow ausgeführt werden soll.
  • UND-Teilung/Verbindung: Damit können mehrere Schritt gleichzeitig ausgeführt werden.

Alle Schritte haben die folgenden allgemeinen Eigenschaften: Autoadvance- und Timeout-Warnhinweise (skriptfähig).

Übergang

Ein WorkflowTransition stellt eine Transition zwischen zwei WorkflowNodes eines WorkflowModel dar.

  • Er definiert die Verbindung zwischen zwei aufeinander folgenden Schritten.
  • Auf ihn können Regeln angewandt werden.

Arbeitselement

Eine WorkItem ist die Einheit, die durch eine Workflow-Instanz von WorkflowModel weitergeleitet wird. Es enthält das WorkflowData, auf das die Instanz verweist, und einen Verweis auf das WorkflowNode, das den zugrunde liegenden Workflow-Schritt beschreibt.

  • Arbeitselemente werden verwendet, um eine Aufgabe zu identifizieren und in den entsprechenden Posteingang weiterzuleiten.
  • Eine Workflow-Instanz kann ein oder mehrere WorkItems gleichzeitig enthalten (je nach Workflow-Modell).
  • Das WorkItem verweist auf die Workflow-Instanz.
  • Im Repository wird das WorkItem unterhalb der Workflow-Instanz gespeichert.

Nutzlast

Verweist auf die Ressource, die über einen Workflow weitergeleitet werden muss.

Die Nutzlast-Implementierung verweist auf eine Ressource im Repository (über einen Pfad, eine UUID oder URL) oder auf ein serialisiertes Java-Objekt. Der Verweis auf eine Ressource im Repository kann flexibel und in Verbindung mit Sling sehr effektiv gehandhabt werden. Beispielsweise kann der Knoten, auf den verwiesen wird, als Formular gerendert werden.

Lebenszyklus

Wird beim Starten eines neuen Workflows (durch Auswählen des jeweiligen Workflow-Modells und Definieren der Nutzlast) erstellt und endet, sobald der Endknoten verarbeitet ist.

Folgende Aktionen sind in einer Workflow-Instanz möglich:

  • Beenden
  • Aussetzen
  • Fortsetzen
  • Neu starten

Abgeschlossene und beendete Instanzen werden archiviert.

Posteingang

Jedes Benutzerkonto hat einen eigenen Workflow-Posteingang, in dem die zugewiesenen WorkItems verfügbar sind.

Die WorkItems werden entweder dem Benutzerkonto direkt oder der Gruppe zugewiesen, zu der sie gehören.

Workflow-Typen

Es gibt diverse Workflow-Typen, wie aus der Konsole für Workflow-Modelle ersichtlich:

wf-upgraded-03

  • Default

    Dies sind die vordefinierten Workflows, die in einer standardmäßigen AEM enthalten sind.

  • Benutzerdefinierte Workflows (kein Indikator in der Konsole)

    Es handelt sich um Workflows, die als neu erstellt wurden, oder um vordefinierte Workflows, die mit Anpassungen überlagert wurden.

  • Veraltet

    Workflows, die in einer früheren Version von AEM erstellt wurden. Diese können bei einem Upgrade beibehalten oder als Workflow-Paket aus einer älteren Version exportiert und dann in die neue Version importiert werden.

Übergangs-Workflows

Standard-Workflows speichern bei der Ausführung Laufzeit- bzw. Verlaufsdaten. Sie können ein Workflow-Modell auch als Transient definieren, um zu vermeiden, dass ein solcher Verlauf beibehalten wird. Dies wird bei der Leistungsoptimierung verwendet, um den Zeitaufwand bzw. die Ressourcen zu sparen/vermeiden, die für das persistente Speichern der Daten erforderlich sind.

Übergangs-Workflows können für Workflows verwendet werden, die:

  • oft ausgeführt werden.
  • keinen Workflow-Verlauf erfordern.

Übergangs-Workflows wurden eingeführt, um eine große Anzahl von Assets zu laden, wobei die Asset-Daten, jedoch nicht der Laufzeitverlauf des Workflows wichtig sind.

HINWEIS

Weitere Informationen finden Sie unter Erstellen von Übergangs-Workflows.

VORSICHT

Wenn ein Workflow-Modell als „Übergang“ gekennzeichnet ist, gibt es einige Szenarien, bei denen die Laufzeitdaten dennoch persistent gespeichert werden:

  • Für den Nutzlasttyp (z. B. Video) sind externe Verarbeitungsschritte erforderlich. In diesem Fall ist der Laufzeitverlauf zum Bestätigen des Status erforderlich.
  • Der Workflow erreicht eine UND-Teilung. In diesem Fall ist der Laufzeitverlauf zum Bestätigen des Status erforderlich.
  • Wenn der Übergangs-Workflow einen Teilnehmerschritt erreicht, ändert sich der Modus (während der Laufzeit) in „dauerhaft“. Wenn die Aufgabe an eine Person weitergeleitet wird, muss der Verlauf persistent gespeichert werden.
VORSICHT

In einem Übergangs-Workflow sollten Sie nicht Zum Schritt wechseln verwenden.

Dies geschieht, wenn der Goto-Schritt einen Sling-Auftrag erstellt, um den Workflow am goto-Punkt fortzusetzen. Dies widerspricht dem Zweck eines Übergangs-Workflows und erzeugt einen Fehler in der Protokolldatei.

Sie können die ODER-Teilung dazu verwenden, Entscheidungen in einem Übergangs-Workflow festzulegen.

HINWEIS

Weitere Informationen, wie sich Übergangs-Workflows auf die Asset-Leistung auswirken, finden Sie unter Best Practices für Assets.

Unterstützung für mehrere Ressourcen

Durch Aktivierung von Multi-Resource-Unterstützung für Ihr Workflow-Modell wird eine einzelne Workflow-Instanz gestartet, auch wenn Sie mehrere Ressourcen auswählen. Diese werden als Paket beigefügt.

Wenn Unterstützung für mehrere Ressourcen nicht für ein Workflow-Modell aktiviert ist und mehrere Ressourcen ausgewählt sind, wird für jede Ressource eine einzelne Workflow-Instanz gestartet.

HINWEIS

Workflow-Statuswerte

Der Workflow-Status ist hilfreich, um den Fortschritt eines Workflows beim Ausführen von Aufgaben anzuzeigen. Der Status kann einen Überblick darüber geben, wie weit ein Workflow verarbeitet wurde. Wenn der Workflow ausgeführt wird, kann der Benutzer den Fortschritt anhand der Status-Beschreibung (anstelle eines einzelnen Schritts) anzeigen.

Da die einzelnen Schrittnamen spezifisch und technisch sein können, können die Anzeigenamen definiert werden, um eine konzeptionelle Ansicht des Workflow-Fortschritts zu erhalten.

Für einen Workflow mit sechs Schritten und vier Status kann dies wie folgt aussehen:

  1. Sie können den Workflow-Status (der den jeweiligen Fortschritt anzeigt) konfigurieren und dann den Status dem entsprechenden Schritt im Workflow zuweisen:

    • Mehrere Statusnamen können erstellt werden.
    • Dann wird jedem Schritt ein einzelner Statusname zugewiesen (ein Statusname kann einem oder mehreren Schritten zu gewiesen werden).
    Schrittname Phase (dem Schritt zugewiesen)
    Schritt 1 Erstellen
    Schritt 2 Erstellen
    Schritt 3 Überprüfen
    Schritt 4 Genehmigen
    Schritt 5 Fertig stellen
    Schritt 6 Fertig stellen
  2. Wenn der Workflow ausgeführt wird, kann der Benutzer den Fortschritt anhand des Statusnamens (anstelle des Schrittnamens) anzeigen. Der Workflow-Fortschritt wird auf der Registerkarte ARBEITSABLAUF-INFO des Fensters mit den Aufgaben des Arbeitselements angezeigt, das im Posteingang aufgeführt ist.

Workflows und Formulare

In der Regel werden Workflows dazu benutzt, die Übermittlung von Formularen in AEM zu verarbeiten. Dies kann mit den Kernkomponenten der Formularkomponenten, die in einer Standardinstanz verfügbar sind, oder mit der AEM Forms-Lösung geschehen.

Wenn Sie ein neues Formular erstellen, kann die Übermittlung des Formulars problemlos einem Workflow-Modell zugewiesen werden, um beispielsweise Inhalte an einem bestimmten Ort im Repository zu speichern oder einen Benutzer über die Übermittlung des Formulars und der Inhalte zu benachrichtigen.

Workflows und Übersetzung

Workflows sind auch ein fester Bestandteil des Übersetzungs-Prozesses.

Auf dieser Seite