Show Menu
THEMEN×

Variablen in AEM Workflows

Eine Variable in einem Workflow-Modell ist eine Methode, einen Wert basierend auf seinem Datentyp zu speichern. Anschließend können Sie den Namen der Variablen in jedem Workflow-Schritt verwenden, um den in der Variablen gespeicherten Wert abzurufen. Sie können auch Variablennamen verwenden, um Ausdruck für Routing-Entscheidungen zu definieren.
In AEM-Workflow-Modellen können Sie:
Das folgende Video zeigt, wie Sie Variablen in AEM-Workflow-Modellen erstellen, festlegen und verwenden können:
Variablen sind eine Erweiterung der MetaDataMap -Schnittstelle. Mit MetaDataMap in ECMAScript können Sie auf Metadaten zugreifen, die mit Variablen gespeichert wurden.

Variable erstellen

Sie erstellen Variablen mithilfe des Abschnitts "Variablen"im Sidekick des Workflow-Modells. AEM-Workflow-Variablen unterstützen die folgenden Datentypen:
  • Primitive-Datentypen : Lang, Dublette, Boolescher Wert, Datum und Zeichenfolge
  • Komplexe Datentypen : XML und JSON
Workflows unterstützt nur das ISO8601-Format für Datumsvariablen.
Weitere komplexe Datentypen, die in AEM Forms Workflows verfügbar sind, finden Sie unter Variablen in AEM Forms Workflows . Verwenden Sie den ArrayList-Datentyp, um variable Sammlungen zu erstellen. Sie können die ArrayList-Variable für alle primitiven und komplexen Datentypen erstellen. Erstellen Sie beispielsweise eine ArrayList-Variable und wählen Sie String als Untertyp aus, um mehrere Zeichenfolgenwerte mit der Variablen zu speichern.
Führen Sie die folgenden Schritte aus, um eine Variable zu erstellen:
  1. Navigieren Sie in einer AEM-Instanz zu "Extras"> "Workflow"> "Modelle".
  2. Tippen Sie auf Erstellen und geben Sie den Titel und einen optionalen Namen für das Workflow-Modell an. Wählen Sie das Modell aus und tippen Sie auf Bearbeiten .
  3. Tippen Sie auf das Variablensymbol im Sidekick des Workflow-Modells und dann auf Hinzufügen Variable .
  4. Geben Sie im Dialogfeld Hinzufügen Variable den Namen an und wählen Sie den Variablentyp aus.
  5. Wählen Sie den Datentyp aus der Dropdown-Liste " Typ "und geben Sie die folgenden Werte an:
    • Primitive-Datentyp - Geben Sie einen optionalen Standardwert für die Variable an.
    • JSON oder XML - Geben Sie einen optionalen JSON- oder XML-Schema-Pfad an. Das Schema überprüft den Pfad, während die in diesem Schema verfügbaren Eigenschaften einer anderen Variablen zugeordnet und gespeichert werden.
    • Formulardatenmodell: Geben Sie einen Pfad für ein Formulardatenmodell an.
    • ArrayList - Geben Sie einen Untertyp für die Sammlung an.
  6. Geben Sie eine optionale Beschreibung für die Variable ein und tippen Sie auf , um die Änderungen zu speichern. Die Variable wird in der im linken Bereich verfügbaren Liste angezeigt.
Berücksichtigen Sie beim Erstellen von Variablen die folgenden Vorgehensweisen:
  • Erstellen Sie so viele Variablen, wie ein Workflow erfordert. Um jedoch Datenbankressourcen zu schonen, sollten Sie die Anzahl der Variablen auf das erforderliche Minimum beschränken und Variablen nach Möglichkeit wiederverwenden.
  • Bei Variablen wird zwischen Groß- und Kleinbuchstaben unterschieden. Vergewissern Sie sich, dass Sie Variablen mit derselben Groß-/Kleinschreibung in Ihrem Workflow referenzieren.
  • Verwenden Sie keine Sonderzeichen im Namen der Variablen

Variable festlegen

Mit dem Schritt "Variable festlegen"können Sie den Wert einer Variablen festlegen und die Reihenfolge festlegen, in der die Werte festgelegt werden. Die Variable wird in der Reihenfolge festgelegt, in der die Variablenzuordnungen im Schritt der set-Variablen aufgeführt werden.
Änderungen an Variablenwerten betreffen nur die Instanz des Prozesses, in der die Änderung erfolgt. Wenn beispielsweise ein Workflow initiiert wird und sich die Variablendaten ändern, wirken sich die Änderungen nur auf diese Instanz des Workflows aus. Die Änderungen wirken sich nicht auf andere Instanzen des Workflows aus, die zuvor initiiert wurden oder später initiiert werden.
Je nach Datentyp der Variablen können Sie die folgenden Optionen verwenden, um den Wert einer Variablen festzulegen:
  • Literal: Verwenden Sie die Option, wenn Sie den genauen, zu spezifizierenden Wert kennen.
  • Ausdruck: Verwenden Sie die Option, wenn der zu verwendende Wert auf Grundlage eines Ausdrucks berechnet wird. Der Ausdruck wird im bereitgestellten Ausdruck-Editor erstellt.
  • JSON-Punktnotiz: Verwenden Sie die Option, um einen Wert aus einer JSON- oder FDM-Typvariablen abzurufen.
  • XPATH: Verwenden Sie die Option, um einen Wert aus einer XML-Typvariablen abzurufen.
  • Im Verhältnis zur Nutzlast: Verwenden Sie die Option, wenn der in einer Variablen zu speichernde Wert unter einem Pfad relativ zur Nutzlast verfügbar ist.
  • Absoluter Pfad: Verwenden Sie die Option, wenn der in einer Variablen zu speichernde Wert unter einem absoluten Pfad verfügbar ist.
Sie können auch bestimmte Elemente einer JSON- oder XML-Typvariablen mithilfe der JSON-DOT-Notation oder XPATH-Notation aktualisieren.

Hinzufügen Zuordnung zwischen Variablen

Führen Sie die folgenden Schritte aus, um die Zuordnung zwischen Variablen hinzuzufügen:
  1. Tippen Sie auf der Seite zum Bearbeiten des Workflows auf das Symbol Schritte, das im Sidekick des Workflow-Modells verfügbar ist.
  2. Ziehen Sie den Schritt Variable festlegen in den Workflow-Editor, tippen Sie auf den Schritt und wählen Sie (Konfigurieren).
  3. Wählen Sie im Dialogfeld "Variable festlegen" Zuordnung > Hinzufügen Zuordnung .
  4. Wählen Sie im Abschnitt Zuordnungsvariable die zu speichernde Variable aus, wählen Sie den Zuordnungsmodus und geben Sie einen Wert an, der in der Variablen gespeichert werden soll. Die Zuordnungsmodi variieren je nach Variablentyp.
  5. Ordnen Sie weitere Variablen zu, um einen aussagekräftigen Ausdruck zu erstellen. Tap to save the changes.

Beispiel 1: Abfrage einer XML-Variable zum Festlegen eines Werts für eine Zeichenfolgenvariable

Wählen Sie eine Variable des XML-Typs aus, um eine XML-Datei zu speichern. Abfrage der XML-Variablen, um den Wert für eine Zeichenfolgenvariable für die in der XML-Datei verfügbare Eigenschaft festzulegen. Verwenden Sie "XPATH angeben"für das XML-Variablenfeld , um die Eigenschaft zu definieren, die in der Zeichenfolgenvariablen gespeichert werden soll.
Wählen Sie in diesem Beispiel eine XML-Variable für Formulardaten aus, um die Datei " cc-app.xml "zu speichern. Abfrage der Variablen "formdata ", um den Wert für die Zeichenfolgenvariable "emailaddress "festzulegen, um den Wert für die Eigenschaft " emailAddress "zu speichern, die in der Datei " cc-app.xml "verfügbar ist.

Beispiel 2: Ausdruck zum Speichern von Werten, die auf anderen Variablen basieren

Verwenden Sie einen Ausdruck, um die Summe der Variablen zu berechnen und das Ergebnis in einer Variablen zu speichern.
Verwenden Sie in diesem Beispiel den Ausdruck-Editor, um einen Ausdruck zur Berechnung der Summe der Asset-Kosten - und Ausgleichsvariablen zu definieren und das Ergebnis in der Variablen totalvalue zu speichern.

Ausdruck-Editor verwenden

Sie können Ausdruck auch verwenden, um den Wert einer Variablen zur Laufzeit zu berechnen. Variablen bieten einen Ausdruck-Editor zum Definieren von Ausdrücken.
Verwenden Sie den Ausdruck-Editor, um:
  • Legen Sie den Variablenwert mithilfe anderer Workflow-Variablen, Zahlen oder mathematischer Ausdruck fest.
  • Verwenden Sie Workflow-Variablen, Zeichenfolge, Nummer oder einen Ausdruck in einem mathematischen Ausdruck
  • Hinzufügen Bedingungen zum Festlegen von Variablenwerten.
  • Hinzufügen Betreiber zwischen Bedingungen.
Er basiert auf dem Regeleditor für adaptive Formulare mit folgenden Änderungen. Regeleditor in Variablen:
  • Unterstützt keine Funktionen.
  • Stellt keine Benutzeroberfläche für die Ansicht der Regelzusammenfassung bereit
  • Hat keinen Code-Editor.
  • Aktiviert und deaktiviert den Wert eines Objekts nicht.
  • Die Eigenschaft zum Festlegen eines Objekts wird nicht unterstützt.
  • Der Aufruf eines Webdiensts wird nicht unterstützt.
For more information, see adaptive forms rule editor .

Use a variable

Sie können Variablen verwenden, um Eingaben und Ausgaben abzurufen oder das Ergebnis eines Schritts zu speichern. Der Workflow-Editor bietet zwei Arten von Workflow-Schritten:
  • Arbeitsablaufschritte mit Unterstützung für Variablen
  • Arbeitsablaufschritte ohne Unterstützung für Variablen

Arbeitsablaufschritte mit Unterstützung für Variablen

Der Schritt "Gehe zu", "ODER teilen", und alle AEM Forms-Workflow-Schritte unterstützen Variablen.

ODER Schritt teilen

Die ODER-Teilung erstellt eine Verzweigung im Workflow, nach nur einer der beiden Zweige aktiv bleibt. Mit diesem Schritt können Sie bedingte Prozesspfade in einem Workflow einrichten. Sie fügen jeder Verzweigung nach Bedarf Workflow-Schritte hinzu.
Sie können Routing-Ausdruck für eine Verzweigung mit einer Regeldefinition, einem ECMA-Skript oder einem externen Skript definieren.
Sie können Variablen verwenden, um den Routing-Ausdruck mit dem Ausdruck-Editor zu definieren. Weitere Informationen zur Verwendung von Routing-Ausdrücken für den Schritt "OR-Teilung"finden Sie unter Schritt ODER-Teilung .
In diesem Beispiel verwenden Sie vor dem Definieren des Routing-Ausdrucks Beispiel 2 , um den Wert für die totalvalue -Variable festzulegen. Zweig 1 ist aktiv, wenn der Wert der Variablen totalvalue größer als 50000 ist. Gleichermaßen können Sie eine Regel definieren, mit der die Verzweigung 2 aktiviert wird, wenn der Wert der Variablen totalvalue unter 50000 liegt.
Wählen Sie auf ähnliche Weise einen externen Skriptpfad oder geben Sie das ECMA-Skript an, damit Routing-Ausdruck die aktive Verzweigung auswerten können. Tippen Sie auf Verzweigung umbenennen , um einen alternativen Namen für die Verzweigung anzugeben.
Weitere Beispiele finden Sie unter Workflow-Modell erstellen .

Gehe zu Schritt

The Goto Step allows you to specify the next step in the workflow model to execute, dependent on the result of a routing expression.
Ähnlich wie beim Schritt "OR-Teilung"können Sie Routing-Ausdruck für "Goto"mithilfe einer Regeldefinition, eines ECMA-Skripts oder eines externen Skripts definieren.
Sie können Variablen verwenden, um den Routing-Ausdruck mit dem Ausdruck-Editor zu definieren. Weitere Informationen zur Verwendung von Routing-Ausdrücken für den Goto-Schritt finden Sie unter Goto-Schritt .
In diesem Beispiel gibt der Schritt "Gehe zu"den Kreditkartenantrag als nächsten Schritt an, wenn der Wert für die Variable " Aktion "gleich Benötigt weitere Informationen ist.
Weitere Beispiele zur Verwendung der Regeldefinition im Schritt "Weiter"finden Sie unter Simulieren einer For-Schleife .

Arbeitsablaufschritte für Formulare

Alle Arbeitsablaufschritte von AEM Forms unterstützen Variablen. For more information, see Forms-centric workflow on OSGi .

Arbeitsablaufschritte ohne Unterstützung für Variablen

Sie können die MetaDataMap -Schnittstelle verwenden, um auf Variablen in Workflow-Schritten zuzugreifen, die keine Variablen unterstützen.

Variablenwert abrufen

Verwenden Sie die folgenden APIs im ECMA-Skript, um Werte für vorhandene Variablen basierend auf dem Datentyp abzurufen:
Variablendatentyp
API
Primitive (lang, Dublette, Boolescher Wert, Datum und Zeichenfolge)
workItem.getWorkflowData().getMetaDataMap().get(variableName, type)
XML
Packages.org.w3c.dom.Dokument xmlObject = workItem.getWorkflowData().getMetaDataMap().get(variableName, Packages.org.w3c.dom.Dokument.class);
JSON
Packages.com.google.gson.JsonObject jsonObject = workItem.getWorkflowData().getMetaDataMap().get(variableName, Packages.com.google.gson.JsonObject.class);
Informationen zu APIs für zusätzliche komplexe Variablendaten, die in AEM Forms Workflows verfügbar sind, finden Sie unter Variablen in AEM Forms Workflows .
Beispiel
Rufen Sie den Wert des Datentyps string mithilfe der folgenden API ab:
workItem.getWorkflowData().getMetaDataMap().get(accname, Packages.java.lang.String)

Variablenwert aktualisieren

Verwenden Sie die folgende API im ECMA-Skript, um den Wert einer Variablen zu aktualisieren:
workItem.getWorkflowData().getMetaDataMap().put(variableName, value)

Beispiel
workItem.getWorkflowData().getMetaDataMap().put(salary, 50000)

aktualisiert den Wert der Gehaltsvariablen auf 50000.

Variablen zum Aufrufen von Workflows festlegen

Sie können eine API verwenden, um Variablen festzulegen und sie zum Aufrufen von Workflow-Instanzen zu übergeben.
workflowSession.startWorkflow verwendet model, wfData und metaData als Argumente. Verwenden Sie MetaDataMap, um einen Wert für die Variable festzulegen.
In dieser API wird die Variable variableName mithilfe von metaData.put(variableName, value) auf value eingestellt.
import com.adobe.granite.workflow.model.WorkflowModel;
import com.adobe.granite.workflow.metadata.MetaDataMap;
import com.adobe.aemfd.docmanager.Document;

/*Assume that you already have a workflowSession and modelId along with the payloadType and payload*/
WorkflowData wfData = workflowSession.newWorkflowData(payloadType, payload);
MetaDataMap metaData = wfData.getMetaDataMap();
metaData.put(variableName, value); //Create a variable "variableName" in your workflow model
WorkflowModel model = workflowSession.getModel(modelId);
workflowSession.startWorkflow(model, wfData, metaData);

Bearbeiten einer Variablen

  1. Tippen Sie auf der Seite "Workflow bearbeiten"auf das Symbol "Variablen"im Sidekick des Workflow-Modells. Im Abschnitt "Variablen"im linken Bereich werden alle vorhandenen Variablen angezeigt.
  2. Tippen Sie auf das Symbol (Bearbeiten) neben dem Variablennamen, den Sie bearbeiten möchten.
  3. Bearbeiten Sie die Variableninformationen und tippen Sie auf , um die Änderungen zu speichern. Sie können die Felder "Name "und " Typ "für eine Variable nicht bearbeiten.

Löschen einer Variablen

Entfernen Sie vor dem Löschen der Variablen alle Verweise der Variablen aus dem Workflow. Stellen Sie sicher, dass die Variable nicht im Workflow verwendet wird.
Führen Sie die folgenden Schritte aus, um eine Variable zu löschen:
  1. Tippen Sie auf der Seite "Workflow bearbeiten"auf das Symbol "Variablen"im Sidekick des Workflow-Modells. Im Abschnitt "Variablen"im linken Bereich werden alle vorhandenen Variablen angezeigt.
  2. Tippen Sie auf das Symbol Löschen neben dem Variablennamen, den Sie löschen möchten.
  3. Tippen Sie auf , um die Variable zu bestätigen und zu löschen.