Variabili nei flussi di lavoro AEM Forms

Una variabile in un modello di workflow consente di memorizzare un valore in base al tipo di dati. Potete quindi utilizzare il nome della variabile in qualsiasi passaggio del flusso di lavoro per recuperare il valore memorizzato nella variabile. È inoltre possibile utilizzare nomi di variabili per definire le espressioni per l'adozione di decisioni di routing.

AEM modelli di flusso di lavoro potete:

  • Creare una variabile di un tipo di dati in base al tipo di informazioni che si desidera memorizzare al suo interno.
  • Impostate un valore per la variabile utilizzando il passaggio del flusso di lavoro Imposta variabile.
  • Utilizzare la variabile in tutti passaggi del flusso di lavoro di AEM Forms per recuperare il valore memorizzato e nei passaggi di divisione e visita OR per definire un'espressione di routing.

Il seguente video illustra come creare, impostare e utilizzare le variabili in AEM modelli di flusso di lavoro:

Le variabili sono un'estensione dell'interfaccia MetaDataMap esistente. È possibile utilizzare MetaDataMap in ECMAScript per accedere ai metadati salvati utilizzando le variabili.

Creare una variabile

Per creare le variabili, utilizzate la sezione Variabili disponibile nella barra laterale del modello di workflow. AEM variabili di flusso di lavoro supportano i seguenti tipi di dati:

  • Tipi di dati di base: Long, Double, Boolean, Date e String
  • Tipi di dati complessi: istanza Document, XML, JSON e Form Data Model.
NOTA

I flussi di lavoro supportano solo il formato ISO8601 per le variabili di tipo Data.

È necessario pacchetto aggiuntivo AEM Forms per i tipi di dati Document e Form Data Model. Utilizzate 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 String come sottotipo per memorizzare più valori stringa utilizzando la variabile.

Per creare una variabile, eseguite i seguenti passaggi:

  1. In un'istanza AEM, passare a Strumenti > Flusso di lavoro > Modelli.

  2. Toccate Crea e specificate il titolo e un nome opzionale per il modello di workflow. Selezionare il modello e toccare Modifica.

  3. Toccate l'icona delle variabili disponibile nella barra laterale del modello di workflow e toccate Aggiungi variabile.

    Aggiungi variabile

  4. Nella finestra di dialogo Aggiungi variabile, specificate il nome e selezionate il tipo di variabile.

  5. Selezionare il tipo di dati dall'elenco a discesa Tipo e specificare i valori seguenti:

    • Tipo di dati di base - Specificate un valore predefinito facoltativo per la variabile.
    • JSON o XML - Specificate un percorso di schema JSON o XML facoltativo. Il sistema convalida il percorso dello schema durante la mappatura e la memorizzazione delle proprietà disponibili in questo schema a un'altra variabile.
    • Modello dati modulo - Specifica un percorso del modello dati del modulo.
    • ArrayList - Specifica un sottotipo per la raccolta.
  6. Specificate una descrizione facoltativa per la variabile e toccate done_icon per salvare le modifiche. La variabile viene visualizzata nell’elenco disponibile nel riquadro a sinistra.

Quando create delle variabili, tenete presenti le seguenti procedure:

  • Crea tutte le variabili necessarie per un flusso di lavoro. Tuttavia, per conservare le risorse del database, utilizzate il numero minimo di variabili richieste e riutilizzate le variabili quando possibile.
  • Le variabili seguono la distinzione tra maiuscole e minuscole. Assicurati di fare riferimento alle variabili con lo stesso caso nel flusso di lavoro.
  • Evitare di utilizzare caratteri speciali nel nome della variabile

Impostare una variabile

È 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 viene impostata nell'ordine in cui le mappature delle variabili sono elencate nel passaggio della variabile set.

Le modifiche ai valori delle variabili interessano solo l’istanza del processo in cui avviene la modifica. Ad esempio, quando un flusso di lavoro viene avviato e i dati variabili cambiano, le modifiche interessano solo l'istanza del flusso di lavoro. Le modifiche non hanno effetto su altre istanze del flusso di lavoro avviate in precedenza o avviate successivamente.

A seconda del tipo di dati della variabile, è possibile utilizzare le seguenti opzioni per impostare il valore di una variabile:

  • Letterale: utilizzare l'opzione quando si conosce il valore esatto da specificare.

  • Espressione: utilizzare 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: utilizzate 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.

  • Relativa al payload: utilizzare l'opzione quando il valore da salvare in variabile è disponibile in un percorso relativo al payload.

  • Percorso assoluto: utilizzate l'opzione quando il valore da salvare in variabile è disponibile in un percorso assoluto.

Potete anche aggiornare elementi specifici di una variabile di tipo JSON o XML utilizzando la notazione JSON DOT o XPATH.

Aggiungi mappatura tra variabili

Per aggiungere la mappatura tra le variabili, effettua i seguenti passaggi:

  1. Nella pagina di modifica del flusso di lavoro, toccate l’icona Passaggi disponibile nella barra laterale del modello di workflow.
  2. Trascinare il passaggio Imposta variabile nell'editor del flusso di lavoro, toccare il passaggio e selezionare Configura_icona (Configura).
  3. Nella finestra di dialogo Imposta variabile, selezionare Mapping > Aggiungi mappatura.
  4. Nella sezione Mappa variabile, selezionare la variabile da memorizzare i dati, selezionare la modalità di mappatura e specificare un valore da memorizzare nella variabile. Le modalità di mappatura variano in base al tipo di variabile.
  5. Mappare più variabili per creare un'espressione significativa. Toccate done_icon per salvare le modifiche.

Esempio 1: Eseguire una query su una variabile XML per impostare il valore di una variabile stringa

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. Utilizzare Specificare XPATH per il campo della variabile XML per definire la proprietà da memorizzare nella variabile stringa.

In questo esempio, selezionare una variabile formdata XML per memorizzare il file cc-app.xml. Eseguire una query sulla variabile formdata per impostare il valore per la variabile di stringa email in modo da memorizzare il valore per la proprietà emailAddress disponibile nel file cc-app.xml.

[!VIDEO] (https://helpx.adobe.com/content/dam/help/en/experience-manager/6-5/forms/using/set_variable_example1.mp4 “Imposta il valore di una variabile”)

Esempio 2: Utilizzare un'espressione per memorizzare il valore in base ad altre variabili

Utilizzare un'espressione per calcolare la somma delle variabili e memorizzare il risultato in una variabile.

In questo esempio, utilizzate l'editor di espressioni per definire un'espressione per calcolare la somma delle variabili assetscost e balanceamount e memorizzare il risultato nella variabile totalvalue.

Utilizza editor di espressioni

È inoltre possibile utilizzare le espressioni per calcolare il valore di una variabile in fase di esecuzione. Le variabili forniscono un editor di espressioni per definire le espressioni.

Utilizzate l'editor di espressioni per:

  • Impostate il valore delle variabili utilizzando altre variabili di flusso di lavoro, numeri o espressioni matematiche.
  • Utilizzare variabili di flusso di lavoro, stringa, numero o espressione all'interno di un'espressione matematica
  • Aggiungere condizioni per impostare i valori delle variabili.
  • Aggiungere operatori tra le condizioni.

Editor espressioni

Si basa sull'editor di regole per moduli adattivi con le seguenti modifiche. Editor di regole nelle variabili:

  • Non supporta le funzioni.
  • Non fornisce un'interfaccia utente per visualizzare il riepilogo delle regole
  • Non ha un editor di codice.
  • Non supporta l'abilitazione e la disattivazione del valore di un oggetto.
  • Non supporta l'impostazione della proprietà di un oggetto.
  • Non supporta la chiamata a un servizio Web.

Per ulteriori informazioni, vedere editor di regole per moduli adattivi.

Utilizzare una variabile

È possibile utilizzare le variabili per recuperare input e output o salvare il risultato di un passaggio. L’editor del flusso di lavoro fornisce due tipi di passaggi per il flusso di lavoro:

  • Passaggi del flusso di lavoro con supporto per le variabili
  • Passaggi del flusso di lavoro senza supporto delle variabili

Passaggi del flusso di lavoro con supporto per le variabili

Il passaggio Vai a, O Dividi e tutti passaggi del flusso di lavoro AEM Forms supportano le variabili.

O Passaggio di divisione

La divisione OR crea una divisione nel flusso di lavoro, dopo di che è attivo un solo ramo. Questo passaggio consente di introdurre i percorsi di elaborazione condizionale nel flusso di lavoro. Potete aggiungere i passaggi del flusso di lavoro a ogni ramo, a seconda delle necessità.

È possibile definire l'espressione di routing per un ramo utilizzando una definizione di regola, uno script ECMA o uno script esterno.

È possibile utilizzare le variabili per definire l'espressione di routing utilizzando l'editor di espressioni. Per ulteriori informazioni sull'utilizzo delle espressioni di routing per il passaggio di divisione OR, vedere OR Split step.

In questo esempio, prima di definire l'espressione di routing, utilizzare esempio 2 per impostare il valore per la variabile totalvalue. La diramazione 1 è attiva se il valore della variabile totalvalue è maggiore di 50000. Allo stesso modo, è possibile definire una regola per rendere attivo il ramo 2 se il valore della variabile totalvalue è 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. Toccate Rinomina ramo per specificare un nome alternativo per il ramo.

Per ulteriori esempi, vedere Creare un modello di workflow.

Vai al passaggio

Il Passaggio di Go consente di specificare il passaggio successivo nel modello di workflow da eseguire, a seconda del risultato di un'espressione di routing.

Analogamente al passaggio di divisione OR, è possibile definire l'espressione di routing per il passaggio Goto utilizzando una definizione di regola, uno script ECMA o uno script esterno.

È possibile utilizzare le variabili per definire l'espressione di routing utilizzando l'editor di espressioni. Per ulteriori informazioni sull'utilizzo delle espressioni di routing per il passaggio Goto, vedere Passaggio di Go.

Vai a regola

In questo esempio, il passaggio Goto specifica l'applicazione di revisione della carta di credito come passaggio successivo se il valore per la variabile actionTaka1/> è uguale a Necessità di ulteriori informazioni .

Per ulteriori esempi sull'utilizzo della definizione della regola nel passaggio Goto, vedere Simulazione di un ciclo For.

Passaggi del flusso di lavoro Forms incentrati sul flusso di lavoro

Tutti passaggi del flusso di lavoro AEM Forms supportano le variabili. Per ulteriori informazioni, consultate Flusso di lavoro Forms-centric su OSGi.

Procedura del flusso di lavoro senza supporto per le variabili

È possibile utilizzare l'interfaccia MetaDataMap per accedere alle variabili nei passaggi del flusso di lavoro che non supportano le variabili.

Recuperare il valore della variabile

Utilizzate 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
Primitive (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);

È necessario pacchetto aggiuntivo AEM Forms per i tipi di dati variabili Document e Form Data Model.

Esempio

Recuperare il valore del tipo di dati stringa utilizzando la seguente API:

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

Aggiornare il valore della variabile

Utilizzate 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 della variabile pay a 50000.

Impostare le variabili per richiamare i flussi di lavoro

Potete utilizzare un'API per impostare le variabili e passarle alle istanze del flusso di lavoro richiamate.

workflowSession. startWorkflows modello, wfData e metaData come argomenti. Utilizzate MetaDataMap per impostare il valore della variabile.

In questa API, la variabile 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

Inizializzare l'oggetto documento doc su un percorso ("a/b/c") e impostare il valore della variabile docVar sul 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);

Modificare una variabile

  1. Nella pagina del flusso di lavoro di modifica, toccate l'icona Variabili disponibile nella barra laterale del modello di workflow. Nella sezione Variabili del riquadro a sinistra sono visualizzate tutte le variabili esistenti.
  2. Toccate l'icona edit (Edit) accanto al nome della variabile da modificare.
  3. Modificate le informazioni della variabile e toccate done_icon per salvare le modifiche. Non è possibile modificare i campi Name e Type per una variabile.

Eliminare una variabile

Prima di eliminare la variabile, rimuovete dal flusso di lavoro tutti i riferimenti della variabile. Assicurarsi che la variabile non sia utilizzata nel flusso di lavoro.

Per eliminare una variabile, eseguite i seguenti passaggi:

  1. Nella pagina del flusso di lavoro di modifica, toccate l'icona Variabili disponibile nella barra laterale del modello di workflow. Nella sezione Variabili del riquadro a sinistra sono visualizzate tutte le variabili esistenti.
  2. Toccate l’icona Elimina accanto al nome della variabile da eliminare.
  3. Toccate done_icon per confermare ed eliminare la variabile.

Riferimenti

Per ulteriori esempi sull'uso delle variabili passaggi del flusso di lavoro AEM Forms, vedere Variabili nei flussi di lavoro AEM.

In questa pagina