Velocity

Dans ce chapitre sera expliquée l’utilisation de Velocity en combinaison avec les Workflows afin de pouvoir envoyer des emails de notification aux responsables.



Variables Velocity

Les variables Velocity permettent de définir dynamiquement le contenu des notifications email envoyées aux utilisateurs. Il devient possible de référencer le titre du processus, de l’action qui a été validée, l’état de l’action, l’utilisateur ayant effectué l’opération, …

Par exemple, si l’on veut envoyer une notification simple pour informer des collègues de l’avancement du traitement d’un dossier, un template tel que le suivant peut être utilisé :

L'entrée $entity.ID_PK a été validée à l'étape $action.name dans le processus
$workflow.name.

Si l’on se trouve dans le Workflow de test et que l’action est Validation du courrier entrant, le mail généré sera

L'entrée FC-002 a été validée à l'étape Validation du courrier dans le processus
Workflow de test.

Les chapitres suivants présentent les différentes variables disponibles sur les objets workflow, action et state qui sont injectées automatiquement lorsque l’utilisateur effectue une action. En plus de ces trois variables, une autre variable entity est disponible dans les templates afin de permettre de personnaliser le courrier à envoyer.

Les description détaillée des templates e-mail est décrite dans le chapitre sur les templates UNI95.


Variables Workflows

id - $workflow.id
Retourne l’identifiant interne du processus.
processId - $workflow.processId
Retourne l’identifiant d’occurence du processus.

Cet identifiant permet de regrouper des instances de processus qui sont liées.

instanceId - $workflow.instanceId
Retourne l’identifiant d’instance du processus.
name - $workflow.name
Retourne le nom du processus.
description - $workflow.description
Retourne la description du processus.
tagFolder - $workflow.tagFolder
Retourne l’identifiant de classification du processus.

Cet identifiant n’est utilisé qu’à des fins d’affichage à l’utilisateur et permet de regrouper les processus par familles.

domain - $workflow.domain
Retourne l’identifiant de classification par domaines du processus.

Cet identifiant n’est utilisé qu’à des fins d’affichage à l’utilisateur et permet de regrouper les processus par familles.

type - $workflow.type
Retourne le type de processus.
user - $workflow.user
Retourne l’utilisateur principal concerné par l’instance du processus.

Cet utilisateur n’est utilisé qu’à des fins de présentation, chaque action possède sa liste d’utilisateurs concernés et responsables.

linkedTable - $workflow.linkedTable
Retourne la table principale liée au processus.

La table liée permet de restreindre les processus affichés à l’utilisateur lorsqu’une nouvelle instance de processus est créée.

table - $workflow.table
Retourne la table principale liée au processus.

La table liée permet de restreindre les processus affichés à l’utilisateur lorsqu’une nouvelle instance de processus est créée.

presentation - $workflow.presentation
Retourne le type de présentation du workflow.

Variables Actions

icon - $action.icon
Retourne le nom de l’icone associée à l’action courante.
color - $action.color
Retourne le code couleur de l’action courante au format HTML hexadécimal.
absoluteDelay - $action.absoluteDelay
Retourne le délai d’exécution de la tâche au format date.

Ce délai peut être soit issu de la configuration de l’action, soit calculé à partir de la date d’activation de l’action en utilisant le délai relatif configuré dans l’action.

type - $action.type
Retourne le type d’action.
user - $action.user
Retourne le ou les utilisateurs concernés par cette action.

Cette liste ne correspond par aux utilisateurs responsables de la bonne réalisation de l’action ni aux utilisateurs notifiés de l’activation de l’action.

group - $action.group
Retourne le ou les groupes concernés par cette action.
manager - $action.manager
Retourne l’utilisateur responsable de cette action.

Cet utilisateur voit l’action dans ses tâches à effectuer et reçoit les notifications email concernant l’action.

launchLabel - $action.launchLabel
Retourne le libellé du lien présent sur l’action.

Par défaut, ce libellé affiche “Lancer” mais peut être personnalisé afin de mieux définir le but de l’action courante.

currentStateId - $action.currentStateId
Retourne l’identifiant du l’état courant de l’action.
currentState - $action.currentState
Retourne l’état courant de l’action.
stateDate - $action.stateDate
Retourne la date à laquelle l’action est entrée dans l’état actuel.
taskCode - $action.taskCode
Retourne l’identifiant de la tâche qui est liée à l’action courante.

Cette tâche peut ne pas être définie si aucun lien n’est configuré entre l’action et une tâche.

multipleResults - $action.multipleResults
Retourne true si le résultat de l’action peut être multiple.

Dans ces cas, le statut final de l’action est calculé à partir des différents états qui lui ont été attribués par les utilisateurs.

name - $action.name
Retourne le nom de l’élément
userComment - $action.userComment
Retourne le commentaire saisi par l’utilisateur.

Variables Etats

id - $state.id
Retourne l’identifiant interne de l’état.
value - $state.value
Retourne la valeur de cet état.

Les valeurs possibles sont entre 0 et 4, 0 signifiant très négatif et 4 très positif.

name - $state.name
Retourne le nom de cet état.

Variable Entity

Lors de chaque action de l’utilisateur, une variable Velocity fait référence à l’entrée sur laquelle est enregistré le workflow. Il est ainsi possible de récupérer l’identifiant, le nom ainsi que toute autre donnée stockée sur l’enregistrement.

Afin de connaître ces identifiants et savoir comment les récupérer, se référer à la documentation des templates UNI94.


Helpers Velocity

Ce paragraphe documente les helpers Velocity qui sont disponibles uniquement dans le contexte des Workflows.

getNotificationUrl() - $WKFHLP.getNotificationUrl()
Retourne l’URL d’une notification SAINET permettant d’ouvrir le dossier attaché au workflow courant.

La tâche utilisée pour l’ouverture est inférée à partir de la table. Ceci ne peut être utilisé que lorsque le record est un dossier.

getNotificationUrl(“SAL04”) - $WKFHLP.getNotificationUrl("SAL04")

Retourne l’URL d’une notification SAINET permettant d’ouvrir le dossier attaché au workflow courant.

  • workflow - Descripteur du workflow
  • task - Tâche pour l’ouverture
getNotificationLink(“link name”) - $WKFHLP.getNotificationLink("link name")

Retourne un lien HTML d’une notification SAINET permettant d’ouvrir le dossier attaché au workflow courant.

getNotificationLink(“link name”, “SAL04”) - $WKFHLP.getNotificationLink("link name", "SAL04")

Retourne un lien HTML d’une notification SAINET permettant d’ouvrir le dossier attaché au workflow courant.