Show Menu
ARGOMENTI×

Variabili nei flussi di lavoro AEM

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.
Nei modelli di flusso di lavoro AEM è possibile:
  • 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.
  • Utilizzate la variabile nei passaggi del flusso di lavoro di OPPURE Split e Goto AEM per definire un'espressione per l'adozione di decisioni di routing. È inoltre possibile utilizzare le variabili in tutti i passaggi del flusso di lavoro di AEM Forms.
Il seguente video illustra come creare, impostare e utilizzare le variabili nei modelli di flusso di lavoro AEM:
Le variabili sono un'estensione dell'interfaccia MetaDataMap . È 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. Le variabili del flusso di lavoro AEM supportano i seguenti tipi di dati:
  • Tipi di dati di base: Long, Double, Boolean, Date e String
  • Tipi di dati complessi: XML e JSON
I flussi di lavoro supportano solo il formato ISO8601 per le variabili di tipo Data.
Per ulteriori tipi di dati complessi disponibili nei flussi di lavoro AEM Forms, consulta Variabili nei flussi di lavoro AEM Forms. 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 di AEM, andate a Strumenti > Flusso di lavoro > Modelli.
  2. Toccate Crea e specificate il titolo e un nome facoltativo per il modello di workflow. Selezionate il modello e toccate Modifica .
  3. Toccate l'icona delle variabili disponibile nella barra laterale del modello di workflow e toccate 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 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: Utilizzate l'opzione quando conoscete 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.
  • Relativo al payload: Utilizzare l'opzione quando il valore da salvare in variabile è disponibile in un percorso relativo al payload.
  • Percorso assoluto: Utilizzare l'opzione quando il valore da salvare nella 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. Trascinate il passaggio Imposta variabile nell’editor del flusso di lavoro, toccate il passaggio e selezionate (Configura).
  3. Nella finestra di dialogo Imposta variabile, selezionare Mapping > Aggiungi mapping .
  4. Nella sezione Variabile ​mappa, selezionate la variabile da memorizzare i dati, selezionate la modalità di mappatura e specificate 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. Tap to save the changes.

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 Specifica XPATH per il campo della variabile XML per definire la proprietà da memorizzare nella variabile stringa.
In questo esempio, selezionate una variabile XML formdata per memorizzare il file cc-app.xml . Eseguite una query sulla variabile formdata per impostare il valore per la variabile della stringa emailaddress in modo da memorizzare il valore per la proprietà emailAddress disponibile nel file cc-app.xml .

Esempio 2: Utilizzare un'espressione per memorizzare un valore basato su 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 .

Usa editor 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.
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 i passaggi del flusso di lavoro di AEM Forms supportano le variabili.

Passaggio divisione OR

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'uso delle espressioni di routing per il passaggio di divisione OR, vedere Passaggio di divisione OR.
In questo esempio, prima di definire l'espressione di routing, utilizzare l'esempio 2 per impostare il valore per la variabile totalvalue . La diramazione 1 è attiva se il valore della variabile total value è maggiore di 50000. Allo stesso modo, è possibile definire una regola per rendere attivo il ramo 2 se il valore della variabile 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. Toccate Rinomina ramo per specificare un nome alternativo per il ramo.
Per ulteriori esempi, consultate Creare un modello di workflow.

Vai al passaggio

Il passo Vai 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'uso delle espressioni di routing per il passaggio Goto, vedere Passaggio Passaggio GoTo Goto.
In questo esempio, il passaggio Goto specifica l'Applicazione carta di credito Rivedi come passaggio successivo se il valore per la variabile action è 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 incentrati sui moduli

Tutti i passaggi del flusso di lavoro di AEM Forms supportano le variabili. Per ulteriori informazioni, vedere Flusso di lavoro incentrato sui moduli in OSGi .

Passaggi del flusso di lavoro senza supporto delle variabili

Puoi 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)
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);
Per informazioni sulle API per ulteriori tipi di dati variabili complesse disponibili nei flussi di lavoro AEM Forms, consultate Variabili nei flussi di lavoro AEM Forms.
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 stipendio a 50000.

Impostazione delle 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.startWorkflow utilizza model, 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);

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 (Modifica) accanto al nome della variabile da modificare.
  3. Modificate le informazioni sulla variabile e toccate per salvare le modifiche. Non è possibile modificare i campi Nome e Tipo 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 per confermare ed eliminare la variabile.