L’outil Cycles de vie permet de visualiser et construire un cycle de vie.
L'outil Cycle de vie est disponible à partir de la version 4.8
Il existe plusieurs types de cycles de vies:
Pour avoir accès au bouton "Cycles de vie", l'utilisateur doit posséder le droit "Voir tous les cycles de vie" (pour visualiser la totalité des cycles de vie) ou "Voir les cycles de vie utilisateur" (pour visualiser uniquement les cycles de vie créés par un utilisateur)
L’outil s’affiche de cette façon :
Pour avoir accès aux fonctionnalités de création, modification, duplication et d'enregistrement, l'utilisateur doit posséder le droit "Gérer tous les cycles de vie" (pour modifier la totalité des cycles de vie) ou "Gérer les cycles de vie utilisateur" (pour modifier uniquement les cycles de vie créés par un utilisateur)
Pour créer un nouveau cycle de vie, il faut cliquer sur le bouton “Nouveau”.
Une boîte de dialogue apparaît, dans laquelle il faut saisir le libellé et l’identifiant du nouveau cycle de vie.
L’identifiant accepte seulement des caractères alphanumériques et le tiret “-”.
Pour créer un cycle de vie à destination des formulaires l’identifiant doit commencer par “entry-form-”
Un cycle de vie contenant des changements apparaîtra avec un bandeau rouge. Il faut enregistrer ces changements pour qu’ils s’appliquent définitivement et donc pouvoir utiliser le cycle de vie.
Attention ces changements ne pourront être enregistrés que lorsque le cycle de vie sera valide, c'est-à-dire utilisable par Ametys. Un message d’erreur apparaîtra dans le cas contraire et la sauvegarde ne se fera pas.
Lorsque le nouveau cycle de vie est créé, il apparaît avec un état initial. Cet état est fictif et sert de départ pour les transitions initiales.
Il faut au moins une transition qui parte de l’état initial afin de faire débuter le cycle, et chaque état doit être rejoint par une transition.
Pour créer une transition qui part d’un état, il faut sélectionner l’état et utiliser le bouton Nouvelle transition:
Comme pour les états, l’identifiant est un nombre entier unique parmi les transitions et le libellé est traduisible en plusieurs langues.
L’état cible correspond à l’état d’arrivée par défaut de la transition, les options correspondent à tous les états du cycle ainsi que l’option “même état”.
Une transition peut être ajoutée à plusieurs états différents, il faut donc bien réfléchir à l’état cible par défaut. L'ajout de plusieurs états cibles conditionnels à une même transition est décrit ci-dessous.
Si l'utilisateur a créé une transition qu’on veut faire partir de plusieurs états, il a la possibilité de les ajouter en passant par le menu de Nouvelle transition:
Une boîte de dialogue proposera alors les transitions disponibles à l’ajout sur l’état sélectionné, il est possible d’ajouter plusieurs transitions d’un coup:
Les fonctions sont des actions qui s’exécutent à différents moments du cycle:
Dans la plupart des cas les fonctions ont déjà un ordre d'exécution prédéfini, il faut en tenir compte pour savoir si celle-ci doit être ajoutée plutôt à une transition ou à un état
Les fonctions s'exécutent dans l’ordre dans lequel elles sont affichées dans la grille des actions (la première en haut de la liste), il est possible de changer cet ordre avec les boutons avancer et reculer.
Une fonction peut être ajoutée en cliquant sur le bouton “Nouvelle fonction “
La boîte de dialogue permet de sélectionner l’action à exécuter.
Pour les cycles de vie utilisateur la liste est réduite.
A la sélection de la fonction il est possible que des champs de paramètres apparaissent.
Cette fonction est à coupler avec la propriété “need-comment” et permet de stocker le commentaire dans JCR.
Cette fonction permet de configurer un email à envoyer lors de la transition / l’état elle attend donc plusieurs paramètres:
Les conditions servent à restreindre l’utilisation d’une transition.
Pour utiliser les conditions il y a 2 types d'éléments:
Dans l’exemple ci dessus, un opérateur OU est présent à la racine de l’arbre:
pour que la transition s’exécute il faut donc que l’utilisateur ait le droit “Ajouter un contenu” ou de créer le contenu ou que le contenu courant soit à l’utilisateur et qu’il ne soit pas verrouillé.
Par défaut les conditions créées à la racine de l’arbre seront liées par une condition ET.
L’ajout d’une condition se fait avec le bouton Nouvelle condition :
Comme pour les fonctions, à la sélection d’une condition, les champs de paramètres liés apparaîtront.
Lorsque rien n’est sélectionné, les nouveaux éléments ajoutés seront ajoutés sous l’opérateur racine. Sinon, les éléments sont ajoutés sous la sélection.
Dans le cas où la racine n’est pas visible (opérateur ET), qu’une condition est sélectionnée et qu’on veut ajouter un élément à la racine, il suffit de cliquer sur l’élément sélectionné pour le désélectionner puis d’ajouter le nouvel élément.
Avant de sauvegarder il faut vérifier qu'il n’y a pas d’opérateur sans condition en dessous.
Les états cibles sont les états d’arrivée après une transition, il y en a 2 types:
Pour ajouter un état cible conditionnel, il faut sélectionner une transition dans l’arbre de gauche puis cliquer sur Nouvel état cible conditionnel, les états disponibles s’afficheront. Si l’option “même état” est choisie, la transition bouclera sur le même état quel que soit son état d’origine.
Comme son nom l’indique un état cible attend des conditions, elles fonctionnent de la même façon que les conditions pour une transition. La différence est qu’il faut sélectionner un état cible conditionnel (ou un élément enfant) avant de cliquer sur le bouton sinon l’ajout se fera dans la colonne des conditions.
Attention, si un état cible conditionnel n’a pas de conditions, la sauvegarde ne pourra pas se faire.
Les propriétés sont des variables qui sont forcément associées à un développement supplémentaire pour les utiliser.
Une propriété a un nom unique au sein d’un même élément (on ne peut pas avoir deux propriétés nommées “status” dans la transition Modifier).
Dans le cas des cycles de vie de formulaires, il y a des propriétés noyaux associées:
L'accès à la duplication de cycle de vie est lié au droit "Gérer tous les cycles de vie" ou "Gérer les cycles de vie utilisateur" (en fonction du type de cycle de vie à dupliquer)
Après sélection d'un cycle de vie existant, un clic sur le bouton Dupliquer ouvre la fenêtre suivante afin de choisir le libellé ainsi que l'identifiant du cycle de vie dupliqué.
Après clic sur Valider, un nouveau cycle de vie est disponible copie du cycle de vie initial.