Variabili nei flussi di lavoro AEM variables-in-aem-workflows
Una variabile in un modello di flusso di lavoro è un modo per memorizzare un valore in base al relativo tipo di dati. Puoi quindi 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 l'adozione delle decisioni di instradamento.
Nei modelli di flusso di lavoro dell’AEM puoi effettuare le seguenti operazioni:
- Creare una variabile di un tipo di dati in base al tipo di informazioni che si desidera memorizzare.
- Impostare un valore per la variabile utilizzando il passaggio del flusso di lavoro Imposta variabile.
- Utilizzare la variabile nei passaggi del flusso di lavoro OR Split e Goto AEM in modo da poter definire un'espressione per prendere decisioni di indirizzamento. Puoi anche utilizzare le variabili in tutti i passaggi del flusso di lavoro di AEM Forms.
Il video seguente 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 create-a-variable
Puoi creare le variabili utilizzando la sezione Variabili disponibile nella barra laterale del modello di flusso di lavoro. Le variabili del flusso di lavoro AEM supportano i seguenti tipi di dati:
Per ulteriori tipi di dati complessi disponibili nei flussi di lavoro AEM Forms, vedi Variabili nei flussi di lavoro AEM Forms. 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.
-
Seleziona Crea e specifica il titolo e un nome facoltativo per il modello di flusso di lavoro. Selezionare il modello e selezionare Modifica.
-
Seleziona l'icona delle variabili disponibile nella barra laterale del modello di flusso di lavoro e seleziona Aggiungi variabile.
-
Nella finestra di dialogo Aggiungi variabile, specifica il nome e seleziona il tipo di variabile.
-
Selezionare il tipo di dati dall'elenco a discesa Tipo e specificare i valori seguenti:
- Tipo di dati primitivo: specifica un valore predefinito facoltativo per la variabile.
- JSON o XML: specifica un percorso JSON o schema XML facoltativo. Il sistema convalida il percorso dello schema durante la mappatura e l'archiviazione delle proprietà disponibili in questo schema in un'altra variabile.
- Modello dati modulo: specifica un percorso per il modello dati modulo.
- ArrayList - Specificare un sottotipo per la raccolta.
-
Specificare una descrizione facoltativa per la variabile e selezionare per salvare le modifiche. La variabile viene visualizzata nell’elenco disponibile nel riquadro a sinistra.
Quando crei delle variabili, prendi in considerazione le seguenti procedure:
- Crea tutte le variabili necessarie per un flusso di lavoro. Tuttavia, per conservare le risorse del database, utilizza il numero minimo di variabili richieste e, se possibile, riutilizza le variabili.
- Per le variabili viene fatta distinzione tra maiuscole e minuscole. Assicurati di fare riferimento alle variabili utilizzando la stessa maiuscola/minuscola nel flusso di lavoro.
- Evita di usare caratteri speciali nel nome della variabile
Imposta una variabile set-a-variable
È possibile utilizzare il passo 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 Imposta variabile.
Le modifiche ai valori delle variabili influiscono solo sull'istanza del processo in cui si verifica la modifica. Ad esempio, quando viene avviato un flusso di lavoro e i dati delle variabili cambiano, le modifiche influiscono solo su tale istanza del flusso di lavoro. Le modifiche non influiscono su altre istanze del flusso di lavoro avviate in precedenza o in un secondo momento.
A seconda del tipo di dati della variabile, puoi utilizzare le seguenti opzioni per impostare il valore di una variabile:
- Valore 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 punti JSON: Utilizzare 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 nella 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.
È inoltre possibile aggiornare elementi specifici di una variabile di tipo JSON o XML utilizzando la notazione JSON DOT o XPATH.
Aggiungi mappatura tra variabili add-mapping-between-variables
Per aggiungere la mappatura tra variabili, eseguire le operazioni seguenti:
- Nella pagina di modifica del flusso di lavoro, seleziona l’icona Passaggi disponibile nella barra laterale del modello di flusso di lavoro.
- Trascinare e rilasciare il passaggio Imposta variabile nell'editor del flusso di lavoro, selezionare il passaggio e selezionare (Configura).
- Nella finestra di dialogo Imposta variabile, seleziona Mapping > Aggiungi mapping.
- Nella sezione Variabile mappa selezionare la variabile per la memorizzazione dei 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.
- Mappa più variabili in modo da poter creare un’espressione significativa. Selezionare l'icona di salvataggio per salvare le modifiche.
Esempio 1: eseguire una query su una variabile XML per impostare il valore per una variabile stringa example-query-an-xml-variable-to-set-value-for-a-string-variable
Selezionare una variabile di tipo XML in cui 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 XML formdata per archiviare il file cc-app.xml. Eseguire una query sulla variabile formdata in modo da impostare il valore per la variabile di stringa emailaddress per archiviare 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 example2
Utilizza un’espressione per calcolare la somma delle variabili e memorizzare il risultato in una variabile.
In questo esempio, utilizza l'editor espressioni per definire un'espressione per calcolare la somma di variabili assetscost e balanceamount e archiviare il risultato in variabile totalvalue.
Utilizza editor di espressioni use-expression-editor
Puoi anche 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.
Utilizza l’editor di espressioni per:
- Imposta il valore delle variabili utilizzando altre variabili del flusso di lavoro, numeri o espressioni matematiche.
- Utilizzare variabili del flusso di lavoro, stringhe, numeri o espressioni all’interno di un’espressione matematica
- Aggiungi condizioni per poter impostare i valori delle variabili.
- Aggiungi operatori tra condizioni.
Si basa sull’editor di regole per moduli adattivi con le seguenti modifiche. Editor regole nelle variabili:
- Non supporta funzioni.
- Non fornisce un’interfaccia utente per visualizzare il riepilogo delle regole
- Non dispone di editor di codice.
- Non supporta l'abilitazione e la disabilitazione del valore di un oggetto.
- Non supporta l'impostazione della proprietà di un oggetto.
- Non supporta la chiamata di un servizio web.
Per ulteriori informazioni, consulta editor di regole per moduli adattivi.
Utilizza una variabile use-a-variable
È 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 del flusso di lavoro:
- Passaggi del flusso di lavoro con supporto per le variabili
- Passaggi del flusso di lavoro senza supporto per le variabili
Passaggi del flusso di lavoro con supporto per le variabili workflow-steps-with-support-for-variables
Il passaggio Vai a, il passaggio di suddivisione OR e tutti i passaggi del flusso di lavoro di AEM Forms supportano le variabili.
O Dividi passaggio or-split-step
La suddivisione OR crea una suddivisione nel flusso di lavoro, dopo la quale è attivo un solo ramo. Questo passaggio ti consente di introdurre nel flusso di lavoro i percorsi di elaborazione condizionale. Puoi aggiungere i passaggi del flusso di lavoro a ogni ramo in base alle esigenze.
È possibile definire un'espressione di indirizzamento per un ramo utilizzando una definizione di regola, uno script ECMA o uno script esterno.
È possibile utilizzare le variabili per definire l’espressione di indirizzamento utilizzando l’editor di espressioni. Per ulteriori informazioni sull'utilizzo delle espressioni di routing per il passaggio Divisione OR, vedere Passaggio Divisione OR.
In questo esempio, prima di definire l'espressione di routing, utilizzare esempio 2 per impostare il valore per la variabile totalvalue. Il ramo 1 è attivo se il valore della variabile totalvalue è maggiore di 50000. Allo stesso modo, puoi definire una regola per rendere attivo il Ramo 2 se il valore della variabile totalvalue è minore di 50000.
Analogamente, selezionate un percorso di script esterno o specificate lo script ECMA per instradare le espressioni per valutare il ramo attivo. Selezionare Rinomina branch per specificare un nome alternativo per il branch.
Per ulteriori esempi, vedere Creare un modello di flusso di lavoro.
Vai al passaggio go-to-step
Il passaggio Vai a consente di specificare il passaggio successivo da eseguire nel modello di flusso di lavoro, a seconda del risultato di un'espressione di routing.
Analogamente alla fase di suddivisione OR, potete definire l'espressione di indirizzamento per la fase Vai a (Goto) utilizzando una definizione di regola, uno script ECMA o uno script esterno.
È possibile utilizzare le variabili per definire l’espressione di indirizzamento utilizzando l’editor di espressioni. Per ulteriori informazioni sull'utilizzo delle espressioni di routing per il passaggio Goto, vedere Passaggio Goto.
In questo esempio, il passaggio Vai a specifica il passaggio successivo Verifica richiesta carta di credito se il valore per la variabile actiontaked è uguale a Ulteriori informazioni necessarie.
Per ulteriori esempi sull'utilizzo della definizione della regola nel passaggio Vai a, vedere Simulazione di un ciclo For.
Passaggi del flusso di lavoro incentrati sul flusso di lavoro Forms forms-workflow-centric-workflow-steps
Tutti i passaggi di AEM Forms Workflow supportano le variabili. Per ulteriori informazioni, consulta Flusso di lavoro incentrato su Forms in OSGi.
Passaggi del flusso di lavoro senza supporto per le variabili workflow-steps-without-support-for-variables
È possibile utilizzare l'interfaccia MetaDataMap per accedere alle variabili nei passaggi del flusso di lavoro che non supportano le variabili.
Recupera il valore della variabile retrieve-the-variable-value
Per recuperare i valori per le variabili esistenti in base al tipo di dati, utilizza le seguenti API nello script ECMA.
Per informazioni sulle API per ulteriori tipi di dati per variabili complesse disponibili nei flussi di lavoro di AEM Forms, vedi Variabili nei flussi di lavoro di AEM Forms.
Esempio
Recupera 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 update-the-variable-value
Per aggiornare il valore di una variabile, utilizzare la seguente API nello script ECMA.
workItem.getWorkflowData().getMetaDataMap().put(variableName, value)
Esempio
workItem.getWorkflowData().getMetaDataMap().put(salary, 50000)
Aggiorna il valore della variabile stipendio in 50000.
Impostare le variabili per richiamare i flussi di lavoro apiinvokeworkflow
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 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 edit-a-variable
- Nella pagina Modifica flusso di lavoro, seleziona l’icona Variabili disponibile nella barra laterale del modello di flusso di lavoro. La sezione Variabili nel riquadro a sinistra visualizza tutte le variabili esistenti.
- Selezionare l'icona di modifica (Modifica) accanto al nome della variabile da modificare.
- Modificare le informazioni sulla variabile e selezionare per salvare le modifiche. Impossibile modificare i campi Nome e Tipo per una variabile.
Eliminare una variabile delete-a-variable
Prima di eliminare la variabile, rimuovi tutti i riferimenti della variabile dal flusso di lavoro. Assicurati che la variabile non venga utilizzata nel flusso di lavoro.
Per eliminare una variabile:
- Nella pagina Modifica flusso di lavoro, seleziona l’icona Variabili disponibile nella barra laterale del modello di flusso di lavoro. La sezione Variabili nel riquadro a sinistra visualizza tutte le variabili esistenti.
- Seleziona l’icona Elimina accanto al nome della variabile da eliminare.
- Selezionare l'icona per confermare ed eliminare la variabile.