Una variabile in un modello di flusso di lavoro è un modo per memorizzare un valore in base al suo tipo di dati. Puoi utilizzare il nome della variabile in qualsiasi passaggio del flusso di lavoro per recuperare il valore memorizzato nella variabile . È inoltre possibile utilizzare i nomi delle variabili per definire le espressioni per prendere decisioni di indirizzamento.
Nei modelli AEM flusso di lavoro puoi:
Il video seguente illustra come creare, impostare e utilizzare le variabili nei modelli di flussi di lavoro AEM:
Le variabili sono un'estensione dell'esistente MetaDataMap interfaccia. È possibile utilizzare MetaDataMap in ECMAScript per accedere ai metadati salvati utilizzando le variabili.
Puoi creare le variabili utilizzando la sezione Variabili disponibile nella barra laterale del modello di flusso di lavoro. AEM Le variabili del flusso di lavoro supportano i seguenti tipi di dati:
I flussi di lavoro supportano solo il formato ISO8601 per le variabili di tipo Data.
Utilizzare il tipo di dati ArrayList per creare raccolte di variabili. È possibile creare una variabile ArrayList per tutti i tipi di dati primitivi e complessi. Ad esempio, creare una variabile ArrayList e selezionare Stringa come sottotipo per memorizzare più valori stringa utilizzando la variabile .
Per creare una variabile:
In un'istanza AEM, passa a Strumenti > Flusso di lavoro > Modelli.
Tocca Crea e specifica il titolo e un nome facoltativo per il modello di flusso di lavoro. Seleziona il modello e tocca Modifica.
Tocca l’icona delle variabili disponibile nella barra laterale del modello di flusso di lavoro e tocca Aggiungi variabile.
Nella finestra di dialogo Aggiungi variabile , specifica il nome e seleziona il tipo di variabile.
Seleziona il tipo di dati dal Tipo elenco a discesa e specifica i seguenti valori:
Specifica una descrizione facoltativa per la variabile e tocca per salvare le modifiche. La variabile viene visualizzata nell’elenco disponibile nel riquadro a sinistra.
Quando crei delle variabili, prendi in considerazione le seguenti pratiche:
È possibile utilizzare il passaggio Imposta variabile per impostare il valore di una variabile e definire l'ordine in cui i valori vengono impostati. La variabile è impostata nell’ordine in cui le mappature delle variabili sono elencate nel passaggio set variable .
Le modifiche ai valori delle variabili influiscono solo sull'istanza del processo in cui avviene la modifica. Ad esempio, quando un flusso di lavoro viene avviato e i dati delle variabili cambiano, le modifiche influiscono solo sull’istanza del flusso di lavoro. Le modifiche non influiscono su altre istanze del flusso di lavoro che sono state avviate in precedenza o che sono state avviate successivamente.
A seconda del tipo di dati della variabile, è possibile utilizzare le seguenti opzioni per impostare il valore di una variabile:
Letterale: Utilizza l’opzione quando conosci il valore esatto da specificare. Puoi inoltre utilizzare l’opzione per specificare un JSON sotto forma di stringa.
Espressione: Utilizza l’opzione quando il valore da utilizzare viene calcolato in base a un’espressione. L’espressione viene creata nell’editor di espressioni fornito.
Notazione punto JSON: Utilizza l’opzione per recuperare un valore da una variabile di tipo JSON o FDM.
XPATH: Utilizzare l'opzione per recuperare un valore da una variabile di tipo XML.
Relativo al payload: Utilizza l’opzione quando il valore da salvare nella variabile è disponibile in un percorso relativo al payload.
Percorso assoluto: Utilizza l’opzione quando il valore da salvare nella variabile è disponibile in un percorso assoluto.
È inoltre possibile aggiornare elementi specifici di una variabile di tipo JSON o XML utilizzando la notazione DOT JSON o XPATH.
Per aggiungere la mappatura tra le variabili:
Selezionare una variabile di tipo XML per memorizzare un file XML. Eseguire una query sulla variabile XML per impostare il valore di una variabile stringa per la proprietà disponibile nel file XML. Utilizzo Specifica XPATH per la variabile XML per definire la proprietà da memorizzare nella variabile stringa.
In questo esempio, seleziona una formdata Variabile XML in cui memorizzare cc-app.xml file. Eseguire una query formdata per impostare il valore per indirizzo email variabile stringa per memorizzare il valore per emailAddress disponibile nella cc-app.xml file.
Utilizza un'espressione per calcolare la somma delle variabili e memorizzare il risultato in una variabile.
In questo esempio, utilizza l’editor di espressioni per definire un’espressione per calcolare la somma di assetscost e saldo e memorizza il risultato in total value variabile.
Puoi inoltre utilizzare le espressioni per calcolare il valore di una variabile in fase di runtime. Le variabili forniscono un editor di espressioni per definire le espressioni.
Utilizza l’editor di espressioni per:
Si basa sull’editor di regole di Forms adattivo con le seguenti modifiche. Editor di regole nelle variabili:
Per ulteriori informazioni, consulta Editor di regole Forms adattivo.
È possibile utilizzare le variabili per recuperare gli input e l’output o salvare il risultato di un passaggio. L’editor del flusso di lavoro fornisce due tipi di passaggi del flusso di lavoro:
Passaggio Vai a, passaggio O Dividi e tutto AEM Forms I passaggi del flusso di lavoro supportano le variabili.
La divisione OR crea una suddivisione nel flusso di lavoro, dopodiché è attivo un solo ramo. Questo passaggio ti consente di introdurre i percorsi di elaborazione condizionale nel flusso di lavoro. Puoi aggiungere i passaggi del flusso di lavoro a ogni ramo in base alle tue esigenze.
È possibile definire l'espressione di indirizzamento per un ramo utilizzando una definizione di regola, uno script ECMA o uno script esterno.
Puoi utilizzare le variabili per definire l’espressione di indirizzamento utilizzando l’editor di espressioni. Per ulteriori informazioni sull'utilizzo delle espressioni di indirizzamento per il passaggio Divisione OR, vedere Passaggio a divisione OR.
In questo esempio, prima di definire l'espressione di indirizzamento, utilizza esempio 2 per impostare il valore per total value variabile. La diramazione 1 è attiva se il valore della total value è maggiore di 50000. Allo stesso modo, è possibile definire una regola per rendere attivo il ramo 2 se il valore del total value è inferiore a 50000.
Analogamente, selezionare un percorso di script esterno o specificare lo script ECMA per le espressioni di routing per valutare il ramo attivo. Tocca Rinomina ramo per specificare un nome alternativo per il ramo.
La Passaggio Vai a consente di specificare il passaggio successivo nel modello di flusso di lavoro da eseguire, in base al risultato di un'espressione di indirizzamento.
Simile al passaggio di divisione OR, è possibile definire l'espressione di indirizzamento per il passaggio Goto utilizzando una definizione di regola, uno script ECMA o uno script esterno.
Puoi utilizzare le variabili per definire l’espressione di indirizzamento utilizzando l’editor di espressioni. Per ulteriori informazioni sull'utilizzo delle espressioni di indirizzamento per il passaggio Passaggio , vedi Passaggio Vai a.
In questo esempio, il passaggio Passaggio specifica l'applicazione con carta di credito di revisione come passaggio successivo se il valore per azioni intraprese è uguale a Ulteriori informazioni.
Per ulteriori esempi sull’utilizzo della definizione della regola nel passaggio Passaggio , vedi Simulazione di un ciclo For.
Tutto AEM Forms I passaggi del flusso di lavoro supportano le variabili. Per ulteriori informazioni, consulta Flusso di lavoro incentrato su Forms su OSGi.
È possibile utilizzare MetaDataMap per accedere alle variabili nei passaggi del flusso di lavoro che non supportano le variabili.
Utilizza le seguenti API nello script ECMA per recuperare i valori per le variabili esistenti in base al tipo di dati:
Tipo di dati variabile | API |
---|---|
Primitivo (Long, Double, Boolean, Date e String) | workItem.getWorkflowData().getMetaDataMap().get(variableName, type) |
Documento | Packages.com.adobe.aemfd.docmanager.Document doc = workItem.getWorkflowData().getMetaDataMap().get("docVar", Packages.com.adobe.aemfd.docmanager.Document.class); |
XML | Packages.org.w3c.dom.Document xmlObject = workItem.getWorkflowData().getMetaDataMap().get(variableName, Packages.org.w3c.dom.Document.class); |
Modello dati modulo | 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); |
Esempio
Recupera il valore del tipo di dati stringa utilizzando la seguente API:
workItem.getWorkflowData().getMetaDataMap().get(accname, Packages.java.lang.String)
Utilizza la seguente API nello script ECMA per aggiornare il valore di una variabile:
workItem.getWorkflowData().getMetaDataMap().put(variableName, value)
Esempio
workItem.getWorkflowData().getMetaDataMap().put(salary, 50000)
Aggiorna il valore per stipendio a 50000.
Puoi utilizzare un’API per impostare le variabili e trasmetterle alle istanze del flusso di lavoro.
workflowSession.startWorkflow utilizza model, wfData e metaData come argomenti. Utilizza MetaDataMap per impostare il valore della variabile.
In questa API, la variableName è impostata su value utilizzando metaData.put(variableName, value);
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);
Esempio
Inizializza doc oggetto documento su un percorso ("a/b/c") e impostare il valore del docVar nel percorso memorizzato nell'oggetto documento.
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);
Prima di eliminare la variabile, rimuovi tutti i riferimenti della variabile dal flusso di lavoro. Assicurati che la variabile non sia utilizzata nel flusso di lavoro.
Per eliminare una variabile:
Per ulteriori esempi sull’utilizzo delle variabili in AEM Forms Passaggi del flusso di lavoro, fai riferimento a Variabili nei flussi di lavoro AEM.