Variablen in AEM Forms 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 haben Sie folgende Möglichkeiten:

  • Erstellen Sie eine Variable eines Datentyps basierend auf dem Informationstyp, den Sie darin speichern möchten.
  • Legen Sie einen Wert für die Variable fest, indem Sie den Arbeitsablaufschritt "Variable festlegen"verwenden.
  • Verwenden Sie die Variable in allen Arbeitsablaufschritten von AEM Forms, um den gespeicherten Wert abzurufen, und in den Schritten "ODER teilen"und "Weiter", um einen Routing-Ausdruck zu definieren.

Das folgende Video zeigt, wie Sie Variablen in AEM Workflow-Modellen erstellen, festlegen und verwenden können:

Variablen sind eine Erweiterung der vorhandenen MetaDataMap-Schnittstelle. Sie können MetaDataMap in ECMAScript verwenden, um mit Variablen gespeicherte Metadaten aufzurufen.

Variableerstellen

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: Dokument-, XML-, JSON- und Formulardatenmodellinstanz.
HINWEIS

Workflows unterstützt nur das ISO8601-Format für Datumsvariablen.

Für Dokument- und Formulardatenmodelldatentypen ist das AEM Forms-Add-On-Paket erforderlich. 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 zu Tools > 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.

    Variable hinzufügen

  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 done_icon, 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

Variablefestlegen

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 einem Ausdruck 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.

  • Relativ 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 einstellen in den Workflow-Editor, tippen Sie auf den Schritt und wählen Sie configure_icon (Konfigurieren).
  3. Wählen Sie im Dialogfeld "Variable festlegen"die Option Zuordnung > Hinzufügen Zuordnung.
  4. Wählen Sie im Abschnitt Variable zuordnen die Variable aus, in der Daten gespeichert werden sollen, 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. Tippen Sie auf done_icon, um die Änderungen zu speichern.

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 Geben Sie XPATH für das Feld "XML-Variable"an, um die Eigenschaft zu definieren, die in der Zeichenfolgenvariablen gespeichert werden soll.

Wählen Sie in diesem Beispiel eine XML-Variable formdata 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 emailAddress-Eigenschaft 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 zu definieren, um die Summe der Variablen assetsCost und balance zu berechnen und das Ergebnis in der Variablen totalvalue zu speichern.

Ausdruck-Editorverwenden

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.

Ausdruckseditor

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.

Weitere Informationen finden Sie unter Regeleditor für adaptive Formulare.

Variableverwenden

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 "Aufteilen"und alle AEM Forms-Arbeitsablaufschritte unterstützen Variablen.

OR Split step

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 OR Split step.

In diesem Beispiel verwenden Sie vor dem Definieren des Routing-Ausdrucks example 2, um den Wert für die Variable totalvalue festzulegen. Zweig 1 ist aktiv, wenn der Wert der Variablen totalvalue größer als 50000 ist. Auf ähnliche Weise können Sie eine Regel definieren, die den Zweig 2 aktivieren soll, wenn der Wert der Variablen totalvalue kleiner als 50000 ist.

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

Mit dem Befehl Gehe zu Schritt können Sie den nächsten auszuführenden Schritt im Workflow-Modell angeben, abhängig vom Ergebnis eines Routing-Ausdrucks.

Ä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 Gehe zu Schritt.

Goto-Regel

In diesem Beispiel gibt der Schritt "Weiter"den Kreditkartenantrag als nächsten Schritt an, wenn der Wert für die Variable action Need more info gleich ist.

Weitere Beispiele zur Verwendung der Regeldefinition im Schritt "Weiter"finden Sie unter Simulieren einer For-Schleife.

Forms-Workflow-orientierte Arbeitsablaufschritte

Alle Arbeitsablaufschritte von AEM Forms unterstützen Variablen. Weitere Informationen finden Sie unter Forms-zentrierter Arbeitsablauf unter OSGi.

Arbeitsablaufschritte ohne Unterstützung für Variablen

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

Variablenwertabrufen

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)
Dokument Packages.com.adobe.aemfd.docmanager.Dokument doc = workItem.getWorkflowData().getMetaDataMap().get("docVar", Packages.com.adobe.aemfd.docmanager.Dokument.class);
XML Packages.org.w3c.dom.Dokument xmlObject = workItem.getWorkflowData().getMetaDataMap().get(variableName, Packages.org.w3c.dom.Dokument.class);
Formulardatenmodell Packages.com.adobe.aem.dermis.api.FormDataModelInstance fdmObject = workItem.getWorkflowData().getMetaDataMap().get(variableName, Packages.com.adobe.aem.dermis.api.FormDataModelInstance.class);
JSON Packages.com.google.gson.JsonObject jsonObject = workItem.getWorkflowData().getMetaDataMap().get(variableName, Packages.com.google.gson.JsonObject.class);

Für die Datentypen "Dokument"und "Formulardatenmodell"ist das AEM Forms-Add-On-Paket erforderlich.

Beispiel

Rufen Sie den Wert des Datentyps string mithilfe der folgenden API ab:

workItem.getWorkflowData().getMetaDataMap().get(accname, Packages.java.lang.String)

Variablenwertaktualisieren

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 Variablen gehalt auf 50000.

Variablen zum Aufrufen Workflowsfestlegen

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

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);

Beispiel

Initialisieren Sie das Dokument doc auf einen Pfad ("a/b/c") und legen Sie den Wert der Variablen docVar auf den im Dokument-Objekt gespeicherten Pfad fest.

import com.adobe.granite.workflow.WorkflowSession;
import com.adobe.granite.workflow.exec.WorkflowData;
import com.adobe.granite.workflow.model.WorkflowModel;
import com.adobe.granite.workflow.metadata.MetaDataMap;
import com.adobe.aemfd.docmanager.Document;

/*This example assumes that you already have a workflowSession and modelId along with the payloadType and payload */
WorkflowData wfData = workflowSession.newWorkflowData(payloadType, payload);
MetaDataMap metaData = wfData.getMetaDataMap();
Document doc = new Document("/a/b/c");// initialize a document object
metaData.put("docVar",doc); //Assuming that you have created a variable "docVar" of type Document 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 edit (Bearbeiten) neben dem Variablennamen, den Sie bearbeiten möchten.
  3. Bearbeiten Sie die Variableninformationen und tippen Sie auf done_icon, 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 done_icon, um die Variable zu bestätigen und zu löschen.

Verweise

Weitere Beispiele zur Verwendung von Variablen in AEM Forms Workflow-Schritten finden Sie unter Variablen in AEM.

Auf dieser Seite