Sviluppo ed estensione di flussi di lavoro

AEM offre diversi strumenti e risorse per la creazione di modelli di workflow, lo sviluppo di passaggi di workflow e l'interazione programmatica con i flussi di lavoro.

I flussi di lavoro consentono di automatizzare i processi per la gestione delle risorse e la pubblicazione dei contenuti nell'ambiente AEM. I flussi di lavoro sono composti da una serie di passaggi, ciascuno dei quali esegue un'attività discreta. È possibile utilizzare i dati di logica e runtime per decidere quando continuare un processo e selezionare il passaggio successivo da uno dei diversi passaggi possibili.

Ad esempio, i processi aziendali per la creazione e la pubblicazione di pagine Web includono le attività di approvazione e di disconnessione di vari partecipanti. Tali processi possono essere modellati utilizzando AEM flussi di lavoro e applicati a contenuti specifici.

Gli aspetti chiave sono trattati di seguito, mentre le pagine seguenti descrivono ulteriori dettagli:

NOTE

Per informazioni su:

Modello

Un WorkflowModel rappresenta una definizione (modello) di un flusso di lavoro. È composta da WorkflowNodes e WorkflowTransitions. Le transizioni collegano i nodi e definiscono il flusso. Il modello ha sempre un nodo iniziale e un nodo finale.

Modello runtime

I modelli di workflow sono dotati di versioni. Quando si esegue un'istanza di workflow, verrà utilizzato (e mantenuto) il modello runtime del flusso di lavoro (come disponibile al momento dell'avvio del flusso di lavoro).

Un modello di runtime viene generato quando Sync viene attivato nell'editor del modello di workflow.

Le modifiche al modello di flusso di lavoro che si verificano e/o ai modelli di runtime generati, dopo l'istanza specifica è stata avviata, non verranno applicate all'istanza.

CAUTION

Le fasi eseguite sono quelle definite dal modello di runtime; questo viene generato al momento in cui l'azione Sincronizza viene attivata nell'editor del modello di workflow.

Se il modello del flusso di lavoro viene modificato dopo questo momento (senza che Sync venga attivato), l'istanza di runtime non rifletterà tali modifiche. Solo i modelli di runtime generati dopo l'aggiornamento rifletteranno le modifiche. Le eccezioni sono gli script ECMA sottostanti, che vengono conservati solo una volta apportate le modifiche.

Passaggio

Ciascun passaggio esegue un'attività discreta. Esistono diversi tipi di passaggi per il flusso di lavoro:

  • Partecipante (utente/gruppo): Questi passaggi generano un elemento di lavoro e lo assegnano a un utente o a un gruppo. Un utente deve completare l’elemento di lavoro per far avanzare il flusso di lavoro.
  • Processo (script, chiamata del metodo Java): Questi passaggi vengono eseguiti automaticamente dal sistema. Uno script ECMA o una classe Java implementa il passaggio. I servizi possono essere sviluppati per ascoltare eventi di flusso di lavoro speciali ed eseguire attività in base alla logica aziendale.
  • Contenitore (flusso di lavoro secondario): Questo tipo di passaggio avvia un altro modello di workflow.
  • O Dividi/Unisci: Utilizzare la logica per decidere quale passaggio eseguire successivamente nel flusso di lavoro.
  • E Dividi/Iscriviti: Consente l'esecuzione simultanea di più passaggi.

Tutti i passaggi condividono le seguenti proprietà comuni: Autoadvance e Timeout avvisi (scrivibili).

Transizione

Un WorkflowTransition rappresenta una transizione tra due WorkflowNodes di un WorkflowModel.

  • Definisce il collegamento tra due passaggi consecutivi.
  • È possibile applicare delle regole.

Elemento di lavoro

Un WorkItem è l'unità che viene passata attraverso un'istanza Workflow di un WorkflowModel. Contiene la WorkflowData su cui l'istanza agisce e un riferimento alla WorkflowNode che descrive il passaggio del flusso di lavoro sottostante.

  • Viene utilizzato per identificare l’attività e viene inserito nella rispettiva inbox.
  • Un'istanza di workflow può avere uno o più WorkItems contemporaneamente (a seconda del modello di workflow).
  • L'elemento WorkItem fa riferimento all'istanza del flusso di lavoro.
  • Nella directory archivio WorkItem viene memorizzato sotto l'istanza del flusso di lavoro.

Payload

Fa riferimento alla risorsa che deve essere avanzata tramite un flusso di lavoro.

L'implementazione del payload fa riferimento a una risorsa nell'archivio (per percorso, UUID o URL) o da un oggetto Java serializzato. Il riferimento a una risorsa nell'archivio è molto flessibile e in combinazione con l'imbragatura molto produttiva; ad esempio, è possibile eseguire il rendering del nodo di riferimento come modulo.

Ciclo di vita

Viene creato quando si avvia un nuovo flusso di lavoro (scegliendo il modello di flusso di lavoro corrispondente e definendo il payload) e termina quando viene elaborato il nodo finale.

In un’istanza del flusso di lavoro è possibile effettuare le seguenti operazioni:

  • Termina
  • Sospendi
  • Riprendi
  • Riavvia

Le istanze completate e terminate vengono archiviate.

Casella in entrata

Ogni account utente dispone di una propria casella in entrata del flusso di lavoro in cui è possibile accedere a WorkItems.

I WorkItems vengono assegnati direttamente all'account utente o al gruppo al quale appartengono.

Tipi di flussi di lavoro

Esistono vari tipi di flussi di lavoro, come indicato nella console Modelli flusso di lavoro:

wf-aggiornato-03

  • Impostazione predefinita

    Questi sono i flussi di lavoro forniti con il prodotto, inclusi in un’istanza AEM standard.

  • Flussi di lavoro personalizzati (nessun indicatore nella console)

    Si tratta di flussi di lavoro creati come nuovi o da flussi di lavoro forniti con le personalizzazioni.

  • Legacy

    Flussi di lavoro creati in una versione precedente di AEM. Questi possono essere mantenuti durante un aggiornamento o esportati come pacchetto di workflow dalla versione precedente, quindi importati nella nuova versione.

Flussi di lavoro transitori

I flussi di lavoro standard salvano le informazioni di runtime (cronologia) durante la loro esecuzione. È inoltre possibile definire un modello di flusso di lavoro come Temporaneo per evitare che tale cronologia venga mantenuta. Questa funzione è utilizzata per ottimizzare le prestazioni in modo da risparmiare/evitare il tempo/le risorse utilizzati per mantenere le informazioni.

I flussi di lavoro transitori possono essere utilizzati per qualsiasi flusso di lavoro che:

  • vengono eseguite spesso.
  • non è necessaria la cronologia del flusso di lavoro.

Sono stati introdotti flussi di lavoro transitori per il caricamento di un gran numero di risorse, dove le informazioni sulle risorse sono importanti, ma non la cronologia del runtime del flusso di lavoro.

NOTE

Per ulteriori informazioni, vedere Creazione di un flusso di lavoro transitorio.

CAUTION

Quando un modello di workflow è stato contrassegnato come Temporaneo, esistono alcuni scenari in cui le informazioni di runtime rimarranno persistenti:

  • Il tipo di payload (ad esempio, video) richiede passaggi esterni per l'elaborazione; in tali casi, la cronologia del runtime è necessaria per la conferma dello stato.
  • Il flusso di lavoro entra in un AND Split; in tali casi, la cronologia del runtime è necessaria per la conferma dello stato.
  • Quando il flusso di lavoro transitorio entra in un passaggio partecipante, cambia la modalità (in fase di esecuzione) in non transitoria; mentre l'attività viene passata a una persona, la storia deve essere persistente
CAUTION

All'interno di un flusso di lavoro transitorio non è necessario utilizzare un Passaggio iniziale.

Questo accade perché il Passaggio di Go crea un processo di sling per continuare il flusso di lavoro nel punto goto. In questo modo viene ignorato lo scopo di rendere il flusso di lavoro transitorio e viene generato un errore nel file di registro.

Per prendere decisioni in un flusso di lavoro transitorio è possibile utilizzare la OR Split.

NOTE

Per ulteriori informazioni sull'impatto dei flussi di lavoro transitori sulle prestazioni delle risorse, consultate Best practice per risorse.

Supporto risorse multiple

Attivando Supporto risorse multiple per il modello di flusso di lavoro, verrà avviata una singola istanza del flusso di lavoro anche quando si selezionano più risorse; verranno allegati come pacchetto.

Se Supporto risorse multiple non è attivato per il modello di flusso di lavoro e sono selezionate più risorse, verrà avviata una singola istanza del flusso di lavoro per ogni risorsa.

Fasi del flusso di lavoro

Le fasi del flusso di lavoro consentono di visualizzare l’avanzamento di un flusso di lavoro durante la gestione delle attività. Possono essere utilizzati per fornire una panoramica della portata del flusso di lavoro attraverso l'elaborazione, ad esempio quando il flusso di lavoro viene eseguito, l'utente può visualizzare l'avanzamento descritto da Stage (anziché da un singolo passaggio).

Poiché i singoli nomi dei passaggi possono essere specifici e tecnici, i nomi degli stage possono essere definiti in modo da fornire una visione concettuale dell’avanzamento del flusso di lavoro.

Ad esempio, per un flusso di lavoro con sei fasi e quattro fasi:

  1. Potete configurare le fasi del flusso di lavoro (che mostrano l'avanzamento del flusso di lavoro) e quindi assegnare lo stadio appropriato a ogni passaggio del flusso di lavoro:

    • È possibile creare più nomi di fase.
    • A ogni passaggio viene quindi assegnato un singolo nome di fase (un nome di fase può essere assegnato a uno o più passaggi).
    Nome passo Stage (assegnato al passaggio)
    Passaggio 1 Crea
    Passaggio 2 Crea
    Passaggio 3 Recensione
    Passaggio 4 Approva
    Passaggio 5 Completa
    Passaggio 6 Completa
  2. Quando il flusso di lavoro viene eseguito, l'utente può visualizzare l'avanzamento in base ai nomi dello stage (invece dei nomi dei passaggi). L'avanzamento del flusso di lavoro verrà visualizzato nella scheda INFORMAZIONI SUL FLUSSO DI LAVORO della finestra dei dettagli dell'attività dell'elemento di lavoro elencato in Inbox.

Flussi di lavoro e Forms

In genere, i flussi di lavoro vengono utilizzati per elaborare gli invii di moduli in AEM. Ciò può avvenire con i componenti core disponibili in un'istanza AEM standard oppure con la soluzione AEM Forms.

Durante la creazione di un nuovo modulo, l'invio del modulo può essere facilmente associato a un modello di workflow; ad esempio per memorizzare il contenuto in una determinata posizione dell'archivio o per notificare all'utente l'invio del modulo e il relativo contenuto.

Flussi di lavoro e traduzione

I flussi di lavoro sono inoltre parte integrante del processo Translation.

In questa pagina