10.2 Définition du cycle de vie
Un cycle de vie est structuré au moyen d'une famille de workflow et d'un document de workflow.
La famille de workflow permet de spécifier :
- le graphe du cycle :
- la liste des étapes,
- la liste des méthodes déclenchées par chaque transition,
- les attributs spécifiques au cycle. Ces attributs peuvent être utilisés dans les traitements des transitions et sont différents pour chaque instance de cycle de vie.
- les paramètres de familles qui seront utilisables lors des traitements spécifiques liés aux cycles : pour chaque étape et chaque transition, un ensemble de paramètres est généré à partir de la structure.
Le document de workflow permet de spécifier le paramétrage :
- des minuteurs, mails, etc. déclenchés à chaque étape ou transition
- des acteurs et de leurs droits au fil des différentes étapes du cycle
Généralement une famille de workflow ne produit qu'un seul document workflow. Ce document workflow est ensuite utilisé pour gérer la vie de tous les documents d'une famille. Il est toutefois possible de créer plusieurs documents workflow issus d'une même famille avec des paramétrages différents. Ils auront en commun la définition du cycle mais pourront avoir des paramétrages différents. Ainsi, par exemple :
- sur une étape E1,
- un courriel sera envoyé au directeur pour le cycle C1
- un courriel sera envoyé au contrôleur pour le cycle C2.
De plus chacun des documents workflow possède sa propre définition de droits. Ainsi, ce ne sont pas les mêmes acteurs qui jouent les différents rôles de contrôleur, ou de rédacteur.
10.2.1 Les transitions
Un type de transition est composé :
- de deux conditions de passage de transition :
m0
etm1
, - d'une confirmation du passage de la transition :
nr
, - d'une demande de paramètres de transition :
ask
, - de deux traitements :
m2
etm3
.
Lors de l'utilisation de l'IHM, une transition se déroule en plusieurs transactions :
-
L'utilisateur demande la liste des transitions disponibles. Pour chaque transition :
- Dynacase vérifie que l'utilisateur est autorisé à effectuer cette transition
- Dynacase vérifie que les conditions préalables à la transition sont
remplies (
m0
) :- si les conditions sont remplies, la transition est disponible
- sinon, le message d'erreur est disponible au clic et au survol de la transition, et cette dernière est grisée
-
L'utilisateur clique sur une des transitions :
-
Si une confirmation de passage de transition ou des paramètres de transition sont requis, une IHM est présentée pour les demander (dans le cas contraire, on passe directement au point suivant) :
-
la transition à proprement parler est lancée :
-
10.2.1.1 Précondition m0
m0
fait référence à une méthode de la classe de workflow. Cette méthode sert
à déterminer si le document est tel qu'il permet d'envisager la transition.
C'est la toute première méthode appelée lors d'une demande de transition.
En cas d'erreur, la transition est abandonnée, et le message d'erreur est retourné à l'utilisateur.
10.2.1.2 Paramètres de transition ask
Les paramètres de transition référencent des
paramètres ou des attributs du cycle de vie, qui sont
demandés à l'utilisateur lors de la transition. Ils doivent être définis sur la
famille de cycle de vie, et référencés dans la transition au moyen de la clé
ask
. Cette clé contient un tableau des identifiants de tous les paramètres à
utiliser.
Comme dans un document, l'interface correspondant à ces paramètres sera générée par Dynacase ; les paramètres sont demandés par l'intermédiaire d'une fenêtre modale.
10.2.1.3 Confirmation nr
si nr
n'est pas positionné à true
, alors une confirmation est demandée.
Cette confirmation demande la raison de la transition. Cette raison est
facultative.
Cette raison est affichée dans la même fenêtre que les paramètres de transition. Elle est enregistrée dans l'historique du document.
10.2.1.4 Condition m1
m1
fait référence à une méthode de la classe de workflow. Cette méthode
sert à modifier le document juste avant le changement d'état.
C'est le document tel qu'il est à l'issue de la méthode m1
qui sera sauvegardé
dans l'historique du document.
Puisque m1
est appelée après la demande des paramètres de transition, elle
peut servir à valider les valeurs saisies par l'utilisateur.
10.2.1.5 Post-traitement m2
m2
fait référence à une méthode de la classe de workflow. Cette méthode
sert à modifier le document juste après le changement d'état. C'est le document
tel qu'il est à la suite de m2
qui sera soumis aux minuteurs et envoyé par
mail.
Puisque m2
intervient après le changement d'état, cette méthode n'est pas
bloquante. Aussi, retourner un message n'interrompt pas le processus
(mais le message d'information sera bien affiché à l'utilisateur à l'issue de la
transition).
10.2.1.6 Traitement final m3
m3
fait référence à une méthode de la classe de workflow. Cette méthode
est la dernière exécutée au cours de la transition (c'est à dire qu'elle
intervient après les différents traitements automatiques effectués par
Dynacase).
Elle n'est utile que dans de très rares cas, et est en particulier utilisée lorsqu'une seconde transition doit être déclenchée automatiquement à l'issue de la première.
10.2.2 Le graphe
Le graphe est constitué d'un ensemble de triplets
- État de départ
- État d'arrivée
- Une transition
Une fois assemblés, ces triplets définissent un Cycle de vie.