Modello
Un WorkflowModel
rappresenta una definizione (modello) di un flusso di lavoro. È composto da WorkflowNodes
e WorkflowTransitions
. Le transizioni connettono i nodi e definiscono il flusso. Il modello ha sempre un nodo iniziale e un nodo finale.
Modello runtime
I modelli di flusso di lavoro sono dotati di versione. Quando esegui un’istanza di flusso di lavoro, questa utilizza e mantiene il modello di runtime del flusso di lavoro, come disponibile al momento in cui il flusso di lavoro è stato avviato.
Un modello runtime è generato quando Sync viene attivato nell'editor modelli flusso di lavoro.
Le modifiche al modello di flusso di lavoro che si verificano o ai modelli di runtime generati, o a entrambi, dopo l'avvio dell'istanza specifica non vengono applicate a tale istanza.
Passaggio
Ogni fase esegue un'attività discreta. Esistono diversi tipi di passaggi del flusso di lavoro:
- Partecipante (utente/gruppo): questi passaggi generano un elemento di lavoro e lo assegnano a un utente o a un gruppo. Per far avanzare il flusso di lavoro, l’utente deve completare l’elemento di lavoro.
- Processo (script, chiamata al 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 speciali del flusso di lavoro ed eseguire attività in base alla logica di business.
- Contenitore (flusso di lavoro secondario): questo tipo di passaggio avvia un altro modello di flusso di lavoro.
- OR Split/Join: utilizza la logica per decidere quale passaggio eseguire successivamente nel flusso di lavoro.
- AND Split/Join: consente l'esecuzione simultanea di più passaggi.
Tutti i passaggi condividono le seguenti proprietà comuni: Autoadvance
e Timeout
avvisi (scriptable).
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à passata tramite un'istanza Workflow
di un WorkflowModel
. Contiene WorkflowData
su cui agisce l'istanza e un riferimento a WorkflowNode
che descrive il passaggio del flusso di lavoro sottostante.
- Viene utilizzato per identificare l’attività e viene inserito nella rispettiva casella in entrata.
- Un'istanza di flusso di lavoro può avere uno o più
WorkItems
contemporaneamente (a seconda del modello di flusso di lavoro). WorkItem
fa riferimento all'istanza del flusso di lavoro.- Nell'archivio,
WorkItem
è 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 è flessibile e produttivo, con sling produttivo. Ad esempio, è possibile eseguire il rendering del nodo a cui si fa riferimento come modulo.
Ciclo di vita
Viene creato all’avvio di un nuovo flusso di lavoro (scegliendo il rispettivo modello di flusso di lavoro e definendo il payload) e termina quando il nodo finale viene elaborato.
In un’istanza di flusso di lavoro sono possibili le seguenti azioni:
- 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 sono accessibili i WorkItems
assegnati.
I WorkItems
sono assegnati direttamente all'account utente o al gruppo a cui appartengono.
Tipi di flusso di lavoro
Esistono vari tipi di flusso di lavoro, come indicato nella console Modelli di flusso di lavoro:
-
Predefinito
Questi tipi sono i flussi di lavoro predefiniti inclusi in un’istanza AEM standard.
-
Flussi di lavoro personalizzati (nessun indicatore nella console)
Questi flussi di lavoro sono stati creati come nuovi o da flussi di lavoro predefiniti che sono stati sovrapposti con le personalizzazioni.
-
Legacy
Flussi di lavoro creati in una versione precedente dell’AEM. Questi flussi di lavoro possono essere mantenuti durante un aggiornamento, oppure esportati come pacchetto di flusso di lavoro dalla versione precedente, quindi importati nella nuova versione.
Flussi di lavoro transitori
I flussi di lavoro standard salvano le informazioni di runtime (cronologia) durante l’esecuzione. Puoi anche definire un modello di flusso di lavoro come Transitorio per evitare che la cronologia venga mantenuta. Questo flusso di lavoro viene utilizzato per l'ottimizzazione delle prestazioni, in quanto consente di risparmiare tempo e risorse utilizzati per la persistenza delle informazioni.
I flussi di lavoro transitori possono essere utilizzati per qualsiasi flusso di lavoro che:
- vengono eseguiti spesso.
- non è necessaria la cronologia del flusso di lavoro.
Sono stati introdotti flussi di lavoro transitori per il caricamento di molte risorse, in cui le informazioni sulle risorse sono importanti, ma non la cronologia di runtime del flusso di lavoro.
- Il tipo di payload (ad esempio, video) richiede passaggi esterni per l’elaborazione; in questi casi, per la conferma dello stato è necessaria la cronologia di runtime.
- Il flusso di lavoro immette una suddivisione AND. In questi casi, per la conferma dello stato è necessaria la cronologia di runtime.
- Quando il flusso di lavoro transitorio entra in un passaggio partecipante, in fase di esecuzione passa alla modalità non transitorio. Poiché l’attività viene passata a una persona, la cronologia deve essere persistente.
goto
. Tale operazione vanifica lo scopo di rendere transitorio il flusso di lavoro e genera un errore nel file di registro.