Modèles de circuits

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.

Accès aux modèles

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.

Propriétés des modèles de transitions

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

@


Contenu 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 :

  • à la racine, 1 à 4 des états principaux fournis par l'application : Copie de travail, Courant, Conservéet Résiduel,
    • des sous-états de ces états principaux, pour préciser les circuits et décrire les transitions possibles,
    • des événements, qui peuvent consister en transitions vers d'autres états ou sous-états,
      • des tâches associées aux événements

Modèle de cycle de vie des entités

Statut

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.

Sous-statut

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.

Transition

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.

Evénement

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.

Tâche

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.

Condition

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

results matching ""

    No results matching ""