Modèle

Un WorkflowModel représente une définition (un modèle) d’un workflow. Il est composé de WorkflowNodes et de WorkflowTransitions. Les transitions se connectent aux nœuds et définissent le flux. Le modèle dispose toujours d’un nœud de début et d’un nœud de fin.

Modèle d’exécution

Les modèles de workflow bénéficient du contrôle de versions. Lorsque vous exécutez une instance de workflow, elle utilise et conserve le modèle d’exécution du workflow tel qu’il est disponible au moment du démarrage du workflow.

Un modèle d’exécution est généré lorsque la Synchronisation est déclenchée dans l’éditeur de modèles de workflow.

Les modifications apportées au modèle de workflow ou aux modèles d’exécution générés, ou les deux, après le démarrage de l’instance spécifique, ne sont pas appliquées à cette instance.

ATTENTION
Les étapes effectuées sont définies par la fonction modèle d’exécution, générée au moment où l’action de Synchronisation est déclenchée dans l’éditeur de modèles de workflow.
Si le modèle de workflow est modifié après ce moment (sans que la Synchronisation soit déclenchée), l’instance d’exécution ne prend pas en compte ces modifications. Seuls les modèles d’exécution générés après la mise à jour prennent en compte les modifications. Les exceptions sont les scripts ECMA sous-jacents, qui ne sont conservés qu’une seule fois afin que ces modifications soient prises en compte.

Étape

Chaque étape exécute une tâche discrète. Il existe différents types d’étapes de workflow :

  • Participant (utilisateur/groupe) : ces étapes génèrent un élément de travail et l’attribuent à un utilisateur ou une utilisatrice ou à un groupe. Un utilisateur doit terminer l’élément de travail pour progresser dans le workflow.
  • Processus (script, appel de méthode Java™) : ces étapes sont exécutées automatiquement par le système. Un script ECMA ou une classe Java™ implémente l’étape. Les services peuvent être développés pour écouter les événements de workflow spéciaux et exécuter des tâches en fonction de la logique commerciale.
  • Conteneur (sous-workflow) : ce type d’étape lance un autre modèle de workflow.
  • Division/jointure OU : utilisez la logique pour décider quelle étape exécuter ensuite dans le workflow.
  • Division/jointure ET : permet l’exécution simultanée de plusieurs étapes.

Toutes les étapes partagent les propriétés suivantes : alertes Autoadvance et Timeout (scriptable).

Transition

WorkflowTransition représente une transition entre deux WorkflowNodes d’un WorkflowModel.

  • Elle définit le lien entre deux étapes consécutives.
  • Il est possible d’appliquer des règles.

Élément de travail

Un WorkItem est l’unité qui est transmise par l’intermédiaire d’une instance de Workflow d’un WorkflowModel. Il contient les WorkflowData sur lesquelles agit l’instance, ainsi qu’une référence au WorkflowNode qui décrit l’étape de workflow sous-jacente.

  • Il est utilisé pour identifier la tâche et placé dans la boîte de réception correspondante.
  • Une instance de workflow peut contenir un ou plusieurs WorkItems en même temps (selon le modèle de workflow).
  • Le WorkItem référence l’instance de workflow.
  • Dans le référentiel, le WorkItem est stocké sous l’instance de workflow.

Payload

Fait référence à la ressource qui doit être avancée par le biais d’un workflow.

L’implémentation de la payload fait référence une ressource dans le référentiel (par chemin, UUID ou URL) ou par un objet Java™ sérialisé. Le référencement d’une ressource dans le référentiel est flexible et, avec Sling, productif. Par exemple, le nœud référencé peut être rendu sous la forme d’un formulaire.

Cycle de vie

Il est créé lors du démarrage d’un nouveau workflow (en choisissant le modèle de workflow correspondant et en définissant la payload) et se termine lorsque le nœud de fin est traité.

Les actions suivantes sont possibles sur une instance de workflow :

  • Terminer
  • Suspendre
  • Reprendre
  • Redémarrer

Les instances finalisées et terminées sont archivées.

Boîte de réception

Chaque compte d’utilisateur possède sa propre boîte de réception de workflow dans laquelle les WorkItems attribués sont accessibles.

Les WorkItems sont attribués au compte d’utilisateur directement ou au groupe auquel ils appartiennent.

Types de workflow

Il existe différents types de workflows, comme indiqué dans la console Modèles de workflows :

wf-upgraded-03

  • Par défaut

    Ces types sont des workflows prêts à l’emploi inclus dans une instance standard d’AEM.

  • Workflows personnalisés (aucun indicateur dans la console)

    Ces workflows ont été créés à partir de zéro ou à partir de workflows prêts à l’emploi auxquels ont été ajoutées des personnalisations.

  • Hérité

    Il s’agit des workflows créés dans une version antérieure d’AEM. Ces workflows peuvent être conservés pendant une mise à niveau ou exportés sous la forme d’un package de workflow à partir de la version précédente, puis importés dans la nouvelle version.

Workflows transitoires

Les workflows standard enregistrent les informations d’exécution (historique) lors de leur exécution. Vous pouvez également définir un modèle de workflow comme transitoire pour éviter la persistance d’un tel historique. Ce workflow est utilisé pour l’optimisation des performances, car il permet de gagner du temps et des ressources lors de la conservation des informations.

Les workflows transitoires peuvent être utilisés pour tous les workflows qui :

  • sont exécutées fréquemment ;
  • n’ont pas besoin de l’historique des workflows.

Les workflows transitoires ont été introduits pour charger de nombreuses ressources, où les informations sur les ressources sont importantes, mais pas l’historique d’exécution des workflows.

REMARQUE
Voir Création d’un workflow transitoire pour plus de détails.
ATTENTION
Lorsqu’un modèle de workflow est marqué comme transitoire, il existe quelques scénarios où les informations d’exécution doivent toujours être conservées :
  • Le type de payload (vidéo, par exemple) nécessite des étapes externes pour le traitement ; dans ce cas, l’historique d’exécution est nécessaire pour la confirmation du statut.
  • Le workflow entre dans une Division ET. Dans ce cas, l’historique d’exécution est nécessaire pour la confirmation du statut.
  • Lorsque le workflow transitoire entre dans une étape de participant, il change de mode, au moment de l’exécution, et passe à non transitoire. Lorsque la tâche est transmise à une personne, l’historique doit être conservé.
ATTENTION
Dans un workflow transitoire, vous ne devez pas utiliser une étape Goto.
En effet, l’étape Goto crée une tâche Sling pour continuer le workflow au point goto. Cela va à l’encontre de l’objectif consistant à rendre le workflow transitoire et génère une erreur dans le fichier journal.
Utilisez la Division OU pour effectuer des choix au sein d’un workflow transitoire.
REMARQUE
Voir Bonnes pratiques pour Assets pour plus d’informations sur l’impact des workflows transitoires sur les performances des ressources.