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 einem beliebigen Workflow-Schritt verwenden, um den in der Variablen gespeicherten Wert abzurufen. Sie können auch Variablennamen verwenden, um Ausdrücke für Routing-Entscheidungen zu definieren.
In AEM Workflow-Modellen haben Sie folgende Möglichkeiten:
Das folgende Video zeigt, wie Sie Variablen in AEM Workflow-Modellen erstellen, festlegen und verwenden können:
Variablen sind eine Erweiterung der MetaDataMap-Schnittstelle. Sie können MetaDataMap in ECMAScript verwenden, um auf mithilfe von Variablen gespeicherte Metadaten zuzugreifen.
Sie erstellen Variablen mithilfe des Bereichs Variablen , der im Sidekick des Workflow-Modells verfügbar ist. AEM Workflow-Variablen unterstützen die folgenden Datentypen:
Workflows unterstützen 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 Datentyp ArrayList , um Variablensammlungen zu erstellen. Sie können eine 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:
Navigieren Sie in einer AEM-Instanz zu Tools > Workflow > Modelle .
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.
Tippen Sie auf das Variablensymbol im Sidekick des Workflow-Modells und tippen Sie auf Variable hinzufügen.
Geben Sie im Dialogfeld Variable hinzufügen den Namen an und wählen Sie den Typ der Variablen aus.
Wählen Sie den Datentyp aus der Dropdown-Liste Typ aus und geben Sie die folgenden Werte an:
Geben Sie eine optionale Beschreibung für die Variable an und tippen Sie auf , um die Änderungen zu speichern. Die Variable wird in der Liste angezeigt, die im linken Bereich verfügbar ist.
Berücksichtigen Sie beim Erstellen von Variablen die folgenden Vorgehensweisen:
Mit dem Schritt Variable festlegen können Sie den Wert einer Variablen festlegen und die Reihenfolge definieren, in der die Werte festgelegt werden. Die -Variable wird in der Reihenfolge festgelegt, in der die Variablenzuordnungen im Schritt der festgelegten Variablen aufgelistet 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:
Sie können auch bestimmte Elemente einer JSON- oder XML-Variablen mithilfe der JSON-DOT-Notation oder XPATH-Notation aktualisieren.
Führen Sie die folgenden Schritte aus, um die Zuordnung zwischen Variablen hinzuzufügen:
Wählen Sie eine Variable des XML-Typs aus, um eine XML-Datei zu speichern. Abfragen Sie die XML-Variable, um den Wert für eine Zeichenfolgenvariable für die Eigenschaft festzulegen, die in der XML-Datei verfügbar ist. Verwenden Sie Geben Sie XPATH für das Feld "XML variable"an, um die Eigenschaft zu definieren, die in der string -Variablen gespeichert werden soll.
Wählen Sie in diesem Beispiel eine XML-Variable formdata aus, um die Datei cc-app.xml zu speichern. Abfragen Sie die Variable formdata , um den Wert für die String-Variable emailaddress festzulegen und den Wert für die Eigenschaft emailAddress zu speichern, die in der Datei cc-app.xml verfügbar ist.
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 Ausdruckseditor, um einen Ausdruck zu definieren, um die Summe der Variablen assetscost und balanceAmount zu berechnen und das Ergebnis in der Variablen totalValue zu speichern.
Sie können auch Ausdrücke verwenden, um den Wert einer Variablen zur Laufzeit zu berechnen. Variablen bieten einen Ausdruckseditor zum Definieren von Ausdrücken.
Verwenden Sie den Ausdruckseditor, um:
Sie basiert auf dem Regeleditor für adaptive Formulare mit folgenden Änderungen. Regeleditor in Variablen:
Weitere Informationen finden Sie unter Regeleditor für adaptive Formulare.
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:
Der Schritt Gehe zu oder Aufspaltung und alle AEM Forms-Workflow-Schritte unterstützen Variablen.
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-Ausdrücke für eine Verzweigung mithilfe einer Regeldefinition, eines ECMA-Skripts oder eines externen Skripts definieren.
Sie können Variablen verwenden, um den Routing-Ausdruck mithilfe des Ausdruckseditors zu definieren. Weitere Informationen zur Verwendung von Routing-Ausdrücken für den Schritt ODER-Teilung finden Sie unter ODER-Teilung-Schritt.
Verwenden Sie in diesem Beispiel vor dem Definieren des Routing-Ausdrucks Beispiel 2, um den Wert für die Variable totalvalue festzulegen. Verzweigung 1 ist aktiv, wenn der Wert der Variable totalvalue größer als 50000 ist. Auf ähnliche Weise können Sie eine Regel definieren, um Verzweigung 2 aktiv zu machen, wenn der Wert der Variablen totalvalue kleiner als 50000 ist.
Wählen Sie auf ähnliche Weise einen externen Skriptpfad aus oder geben Sie das ECMA-Skript für Routing-Ausdrücke an, um die aktive Verzweigung auszuwerten. Tippen Sie auf Verzweigung umbenennen , um einen alternativen Namen für die Verzweigung anzugeben.
Weitere Beispiele finden Sie unter Erstellen eines Workflow-Modells.
Zum Schritt wechseln ermöglicht es Ihnen, den nächsten auszuführenden Schritt im Workflow-Modell abhängig vom Ergebnis eines Routing-Ausdrucks anzugeben.
Ähnlich wie beim Schritt "ODER-Teilung"können Sie Routing-Ausdrücke für "Zu Schritt"mithilfe einer Regeldefinition, eines ECMA-Skripts oder eines externen Skripts definieren.
Sie können Variablen verwenden, um den Routing-Ausdruck mithilfe des Ausdruckseditors zu definieren. Weitere Informationen zur Verwendung von Routing-Ausdrücken für den Schritt "Gehe zu"finden Sie unter Gehe zu Schritt.
In diesem Beispiel gibt der Schritt Gehe zu den Vorgang die Kreditkartenanwendung überprüfen als nächsten Schritt an, wenn der Wert für die Variable action Mehr Info erforderlich ist.
Weitere Beispiele zur Verwendung der Regeldefinition im Schritt Gehe zu finden finden Sie unter Simulieren einer For-Schleife.
Alle AEM Forms-Workflow-Schritte unterstützen Variablen. Weitere Informationen finden Sie unter Forms-zentrierter Workflow unter OSGi.
Sie können die Schnittstelle MetaDataMap verwenden, um auf Variablen in Workflow-Schritten zuzugreifen, die keine Variablen unterstützen.
Verwenden Sie die folgenden APIs im ECMA-Skript, um Werte für vorhandene Variablen basierend auf dem Datentyp abzurufen:
Variablendatentyp | API |
---|---|
Primitive (Long, Double, Boolean, Date und String) | workItem.getWorkflowData().getMetaDataMap().get(variableName, type) |
XML | Packages.org.w3c.dom.Document xmlObject = workItem.getWorkflowData().getMetaDataMap().get(variableName, Packages.org.w3c.dom.Document.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)
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 für die Variable gehalt auf 50000.
Sie können eine API verwenden, um Variablen festzulegen und an Workflow-Instanzen aufzurufen.
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);
Entfernen Sie vor dem Löschen der Variablen alle Verweise der Variablen aus dem Workflow. Stellen Sie sicher, dass die Variable im Workflow nicht verwendet wird.
Führen Sie die folgenden Schritte aus, um eine Variable zu löschen: