Maarch Digital Flow permet de définir des circuits pour les entités gérées dans l'application, afin de modéliser les différentes étapes de leur cycle de vie au plus près des besoins des différents métiers.
Tous les objets gérs dans l'application possèdent un circuit par défaut qui comporte 4 états de base qui autorisent 5 transitions. Pour plus d'informations, voir la section consacrée au cycle de vie.
Dans Maarch Digital Flow, la description du circuit des objets et les contraintes applicables sont décrites par des modèles de transitions gérés par l'administrateur. Ces définitions sont ensuites utilisées dans les différentes sections d'administrations des entités.
La section Modèles de circuit de l'administration permet de créer et gérer les modèles. L'administrateur habilité l'utilise pour lister les modèles existants, les gérer et en ajouter de nouveaux.
Champ | Type | Description |
---|---|---|
Identifiant | texte |
Le nom utilisé par le système pour identifier le modèle. Il ne peut être changé quand le modèle est en cours d'utilisation |
Libellé | texte |
Le nom affiché aux utilisateurs lorsqu'ils utilisent le modèle |
Description | texte |
Description du modèle |
Le modèle de circuit personnalisé permet de définir les status que peuvent prendre les entités, les sous-statuts éventuellement associés, les conditions qui doivent être remplies pour permettre les transitions ainsi que les actions complémentaires réalisées lors des événements.
On y trouve donc les éléments suivants :
Copie de travail
, Courant
, Conservé
et Résiduel
,Champ | Type | Description |
---|---|---|
Nom | texte |
Le nom du statut parmi les 4 statuts fournis par le système |
Libellé | texte |
Libellé du statut affiché aux utilisateurs. |
Description | texte |
Description du statut |
Sous-statut initial | identifiant |
L'identification du sous-statut attribué si aucun sous-statut n'est fourni à l'application lors de l'entrée de l'entité dans ce statut. |
Final | indicateur |
Indique si le statut est final et accepte que les entités porteuses soient détruites de manière irréversible. |
Sous-statuts | liste de sous-statuts |
La définition des sous-statuts que peuvent prendre les entités utilisant le modèle lorsqu'elles sont dans ce statut. |
Evénements | liste d'événements |
La définition des événements et transitions associés au statuts. |
Champ | Type | Description |
---|---|---|
Nom | texte |
Le nom du sous-statut défini par l'utilisateur, qui doit être unique dans le statut. |
Libellé | texte |
Libellé du sous-statut affiché aux utilisateurs. |
Description | texte |
Description du sous-statut |
Final | indicateur |
Indique si le sous-statut est final et accepte que les entités porteuses sortent du statut. |
Evénements | liste d'événements |
La définition des événements et transitions associés au statuts. |
Une transition est l'événement de passage d'un statut ou d'un sous-statut à un autre.
Champ | Type | Description |
---|---|---|
Nom | texte |
Identification de la transition. Pour les statuts, les noms des transitions sont fixes par le système (publier , clore , supprimer , rouvrir , restaurer ). Pour les sous-statut, l'utilisateur doit fournir un identifiant unique dans le statut d'appartenance. |
Libellé | texte |
Libellé de la transition affiché aux utilisateurs. |
Condition | condition |
La définition d'une condition de garde qui doit être remplie afin que la transition soit possible. |
Tâches | liste de tâches |
La définition des tâches exécutées lorsque la transition a lieu. |
Un événement peut être vu comme une transition d'un statut vers lui-même.
Champ | Type | Description |
---|---|---|
Nom | identifiant |
Identification d'un événement survenant dans l'application et impactant l'entité porteurse du statut ou sous-statut de rattachement, par exemple l'entrée dans le statut ou sous-statut, sortie du statut ou sous-statut, mise à jour des données, changement de propriétaire, annotation, etc. |
Libellé | texte |
Libellé de l'événement affiché aux utilisateurs. |
Condition | condition |
La définition d'une condition de garde qui doit être remplie afin que l'évenement soit pris en compte. |
Tâches | liste de tâches |
La définition des tâches exécutées lorsque l'événement survient. |
Une tâche est une opération réalisée automatiquement par l'application lorsqu'un événement ou une transition survient et que les conditions néessaires sont remplies.
Champ | Type | Description |
---|---|---|
Libellé | texte |
Libellé de la tâche affiché aux utilisateurs. |
Condition | condition |
La définition d'une condition de garde qui doit être remplie afin que la tâche soit exécutée. |
Une condition est la définition d'un état de l'entité ou du système qui doit être contrôlé afin de permettre la survenue de l'événement. Elle prend la forme d'un arbre de logique booléenne reprennant dans une certaine mesure le formalisme utilisé pour les requêtes sur les données.
workingCopy:
name: workingCopy
final: false
initial: new
description: Copie de travail
displayName: Brouillon
subStatuses:
new:
name: workingCopy_new
final: false
events:
to_send:
origin: workingCopy_new
target: workingCopy_submitted
position: 1
eventType: transition
displayName: Envoyer la demande
to_cancel:
origin: workingCopy_new
target: workingCopy_cancelled
position: 2
eventType: transition
displayName: Annuler la demande
description: ''
displayName: Nouvelle demande
ordered:
name: workingCopy_ordered
final: false
events:
to_purchase:
origin: workingCopy_ordered
target: current_purchased
eventType: transition
displayName: Passer la commande
description: Commande à effectuer
displayName: Commande à passer
updated:
name: workingCopy_updated
final: false
events:
to_resend:
origin: workingCopy_updated
target: workingCopy_submitted
eventType: transition
displayName: Renvoyer la demande
to_cancel2:
origin: workingCopy_updated
target: workingCopy_cancelled
eventType: transition
displayName: Annuler la demande
description: Demande à compléter
displayName: A compléter
rejected:
name: workingCopy_rejected
final: false
events: []
description: La demande est rejetée
displayName: Demande rejetée
validate:
name: workingCopy_validate
final: false
events:
to_accept:
origin: workingCopy_validate
target: workingCopy_ordered
position: 1
eventType: transition
displayName: Valider la demande
to_reject:
origin: workingCopy_validate
target: workingCopy_rejected
position: 2
eventType: transition
displayName: Refuser la demande
description: Envoyer pour commande au service Achat
displayName: Demande à valider
cancelled:
name: workingCopy_cancelled
final: false
events: []
description: Demande annulée
displayName: Annulée
submitted:
name: workingCopy_submitted
final: false
events:
to_renew:
origin: workingCopy_submitted
target: workingCopy_updated
position: 2
eventType: transition
displayName: Retourner au demandeur
to_validate:
origin: workingCopy_submitted
target: workingCopy_validate
position: 1
eventType: transition
displayName: Envoyer en validation
description: ''
displayName: En attente
incomplete:
name: workingCopy_incomplete
final: false
events:
to_complete:
origin: workingCopy_incomplete
target: workingCopy_updated
eventType: transition
displayName: Retourner la demande
description: Demande à compléter
displayName: A compléter