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 et m1,
  • d'une confirmation du passage de la transition : nr,
  • d'une demande de paramètres de transition : ask,
  • de deux traitements : m2 et m3.

Lors de l'utilisation de l'IHM, une transition se déroule en plusieurs transactions :

  1. L'utilisateur demande la liste des transitions disponibles. Pour chaque transition :

    1. Dynacase vérifie que l'utilisateur est autorisé à effectuer cette transition
    2. 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
    Processus d'affichage du menu des transitions

    Figure 78. Processus d'affichage du menu des transitions

  2. L'utilisateur clique sur une des transitions :

    1. 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) :

      Processus de demande des paramètres

      Figure 79. Processus de demande des paramètres

    2. la transition à proprement parler est lancée :

      Processus de transition

      Figure 80. Processus de transition

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.

×