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.