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.

NOTE

Informationsquellen:

Modell

Ein WorkflowModel steht für eine Definition (bzw. ein Modell) eines Workflows. It is made of WorkflowNodes and WorkflowTransitions. The transitions connect the nodes and define the 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.

Edits to the workflow model that occur, and/or runtime models that are generated, after the specific instance was started will not be applied to that instance.

CAUTION

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.

All the steps share the following common properties: Autoadvance and Timeout alerts (scriptable).

Übergang

A WorkflowTransition represents a transition between two WorkflowNodes of a WorkflowModel.

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

Arbeitselement

A WorkItem is the unit that is passed through an Workflow instance of a WorkflowModel. It contains the WorkflowData that the instance acts on and a reference to the WorkflowNode that describes the underlying workflow step.

  • 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.

The WorkItems are assigned to either the user account directly or to the group to which they belongs.

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. You can also define a workflow model as Transient to avoid such history being persisted. 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.

NOTE

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

CAUTION

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.
CAUTION

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

This is as the Goto Step creates a sling job to continue the workflow at the goto point. 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.

NOTE

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

Activating Multi Resource Support for your workflow model means that a single workflow instance will be started even when you select multiple resources; these will be attached as a package.

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.

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. The workflow progress will be displayed in the WORKFLOW INFO tab of the task details window of the workitem listed in the Inbox.

Workflows und Formulare

In der Regel werden Workflows dazu benutzt, die Übermittlung von Formularen in AEM zu verarbeiten. This can be with the core components form components available in a standard AEM instance, or with the AEM Forms solution.

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