AEM fournit plusieurs outils et ressources pour créer des modèles de workflow, développer des étapes de workflow et interagir par programme avec les workflows.
Les workflows vous permettent d’automatiser les processus pour gérer les ressources et publier le contenu dans votre environnement AEM. Les workflows sont constitués d’une série d’étapes accomplissant chacune une tâche discrète. Vous pouvez utiliser la logique et les données d’exécution pour prendre des décisions quant au moment où un processus peut se poursuivre et choisir l’étape suivante parmi plusieurs possibles.
Par exemple, les processus métier pour la création et la publication de pages web incluent des tâches d’approbation et de validation par différents participants. Ces processus peuvent être modélisés à l’aide de workflows AEM et appliqués au contenu spécifié.
Les aspects clés sont présentés ci-dessous, tandis que les pages suivantes abordent d’autres détails :
Pour obtenir des informations sur :
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.
Les modèles de workflow bénéficient du contrôle de versions. Lorsque vous exécutez une instance de workflow, celle-ci utilise (et conserve) le modèle d’exécution du workflow (si disponible lors du démarrage du workflow).
Un modèle d’exécution est généré lorsque la synchronisation est déclenchée dans l’editeur de modèles de workflow.
Les modifications apportées au modèle de workflow et aux modèles d’exécution qui sont générés après le démarrage de l’instance spécifique ne sont pas appliqués à cette instance.
Les étapes exécutées sont celles définies par le modèle d’exécution qui est généré lorsque 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 stade (sans déclenchement de synchronisation), son instance d’exécution ne reflète pas ces modifications. Seuls les modèles de mise en œuvre générés après la mise à jour reflètent les modifications. Les exceptions sont les scripts ECMA sous-jacents, qui ne sont conservés qu’une seule fois, de sorte que les modifications apportées à ces derniers sont sélectionnées.
Chaque étape accomplit une tâche discrète. Il existe différents types d’étapes de workflow :
Toutes les étapes partagent les propriétés suivantes : alertes Autoadvance
et Timeout
(scriptable).
WorkflowTransition
représente une transition entre deux WorkflowNodes
d’un WorkflowModel
.
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.
WorkItems
en même temps (selon le modèle de workflow).WorkItem
référence l’instance de workflow.WorkItem
est stocké sous l’instance de workflow.Elle référence la ressource qui doit être avancée par un workflow.
La mise en œuvre de charge utile 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 très flexible et productif en conjonction avec Sling ; par exemple, le rendu du nœud référencé peut être effectué sous forme de formulaire.
Il est créé lorsque vous démarrez un nouveau workflow (en choisissant le modèle de workflow respectif et en définissant la charge utile) et se termine lorsque le nœud de fin est traité.
Les actions suivantes sont possibles sur une instance de workflow :
Les instances terminées et arrêtées sont archivées.
Chaque compte 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 utilisateur directement ou au groupe auquel ils appartiennent.
Il existe différents types de workflow comme indiqué dans la console Modèles de workflow :
Par défaut
Il s’agit des workflows prêts à l’emploi inclus dans une instance AEM standard.
Workflows personnalisés (aucun indicateur dans la console)
Il s’agit de workflows qui ont été créés à partir de zéro ou à partir de workflows prêts à l’emploi qui ont été recouverts de personnalisations.
Hérité
Il s’agit des workflows créés dans une version antérieure d’AEM. Ils peuvent être conservés lors d’une mise à niveau, ou exportés en tant que module de workflow à partir de la version antérieure, puis importés dans la nouvelle version.
Les workflows standard enregistrent les informations (d’historique) d’exécution 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. Il est utilisé pour ajuster les performances, car il économise le temps/les ressources utilisés pour rendre les informations persistantes.
Les workflows transitoires peuvent être utilisés pour tout workflow qui :
Les workflows transitoires ont été introduits pour charger un grand nombre de ressources, où les informations des ressources sont importantes, mais pas l’historique d’exécution des workflows.
Voir Création d’un workflow transitoire pour plus de détails.
Lorsqu’un modèle de workflow a été marqué comme transitoire, il y a quelques situations dans lesquelles les informations d’exécution persisteront toujours :
Dans un workflow transitoire, vous ne devriez pas utiliser Atteindre l’étape.
En effet, l’étape Goto crée une tâche Sling pour continuer le workflow au point goto
. Cela va à l’encontre du but recherché en rendant le workflow transitoire et génère une erreur dans le fichier journal.
Pour prendre des décisions dans un workflow transitoire, vous pouvez utiliser la division OU.
Voir Meilleures pratiques pour les ressources pour plus d’informations sur la façon dont les workflows transitoires affectent les performances des ressources.
L’activation de la prise en charge multi-ressource pour votre modèle de workflow signifie qu’une instance unique de workflow démarrera, même si vous sélectionnez plusieurs ressources ; elles seront jointes à un module.
Si la prise en charge multi-ressource n’est pas activée pour votre modèle de workflow, et si plusieurs ressources sont sélectionnées, une instance de workflow individuelle sera démarrée pour chaque ressource.
Voir Configuration d’un workflow pour la prise en charge multi-ressource pour plus de détails.
Les phases de processus permettent de visualiser la progression d’un workflow lors de la gestion des tâches. Elles peuvent être utilisées pour fournir un aperçu de la progression du workflow dans le traitement. Lors de l’exécution du workflow, l’utilisateur peut ainsi afficher la progression décrite par la phase (par opposition à l’étape individuelle).
Les noms des étapes pouvant être spécifiques et techniques, les noms des phases peuvent être définis pour fournir une vue conceptuelle de la progression du workflow.
Par exemple, pour un workflow avec six étapes et quatre phases :
Nom de l’étape | Phase (affectée à l’étape) |
---|---|
Étape 1 | Création |
Étape 2 | Création |
Étape 3 | Révision |
Étape 4 | Approuver |
Étape 5 | Terminé |
Étape 6 | Terminé |
Lorsque le workflow est exécuté, l’utilisateur peut afficher la progression en fonction des noms des phases (au lieu des noms des étapes). La progression du workflow est affichée dans l’onglet INFORMATIONS SUR LE WORKFLOW de la fenêtre Détails de la tâche de l’élément de travail répertorié dans la boîte de réception.
En règle générale, les workflows sont utilisés pour traiter les envois de formulaires dans AEM. Cela peut être effectué avec les composants de formulaires de composants principaux disponibles dans une instance AEM standard, ou avec la solution AEM Forms.
Lors de la création d’un formulaire, l’envoi de ce formulaire peut facilement être associé à un modèle de workflow ; par exemple pour stocker le contenu dans un emplacement précis du référentiel ou pour notifier un utilisateur de l’envoi du formulaire et de son contenu.
Les workflows font également partie intégrante du processus de traduction.