Aller au contenu

Gestion des mots-clés dans les workflows

Les mots-clés des workflows peuvent être utilisés dans les paramètres des workflows, des étapes, des actions et des notifications.

Le format général des mots-clés de workflow se décompose comme suit :

  • Une classe (ex : PERSONNE, MANAGER, STARTER, etc.)
  • Un paramètre principal (ex : ATTRIBUT, RIGHT, etc.)
  • Un paramètre secondaire (ex : code attribut, etc.)

On peut distinguer deux grandes familles dans ces mots-clés :

  • Les mots-clés utilisés afin de retourner une liste d'objets sans tenir compte des données des workflows. Ces mots-clés sont utilisés à des fin de filtrage ou de condition pour exécuter des tâches ou actions. Dans ce cas, séparateur est « § ». Les mots-clés disponibles sont les suivants :
    • §KAD§ : mot-clé utilisable uniquement dans les workflows qui se déclenchent sur l’évènement « Modification d’une règle d’habilitations »
      • §KAD§ATTRIBUT§paramètre_secondaire§ : Permet de récupérer des informations sur une règle d'habilitation selon leur Id, leur nom ou leur description. paramètre_secondaire peut prendre les valeurs suivantes :
        • kad_id : Identifiant de la règle d’habilitations.
        • kad_nom : Nom de la règle d’habilitations
        • kad_description : Description de la règle d’habilitations
      • §KAD§FILTRE§code_attribut§ : Permet de récupérer les valeurs du filtre donc le code est passé dans « code_attribut » sur la règle d’habilitations qui déclenche l’instance de workflow.
      • §KAD§STRUCTURE§VALUE§ : Permet de récupérer les valeurs des structures sur lesquelles porte la règle d’habilitations qui déclenche l’instance de workflow.
      • §KAD§RIGHT§<CodeTypeCompte.CodeDroit>§ : Permet de tester si le droit dont le code est indiqué dans le paramètre «Code_Droit» lié au type de compte dont le code est indiqué dans le paramètre «Code_Type_Compte» est présent dans la règle d’habilitations qui déclenche l’instance de workflow.
    • §PERSONNE§ : mot-clé pour récupérer une liste d’identité filtrée à partir des paramètres passés. Ne tient pas compte des données du workflow mais est utilisé pour filtrer les cibles potentielles du workflow ou déterminer des acteurs ou cibles d’actions ou tâches dans les workflows.
      • §PERSONNE§ATTRIBUT§code_attribut§ : Permet de récupérer une liste de personnes en fonction d'une valeur d'attributs.
      • §PERSONNE§RIGHT§<CodeTypeCompte.CodeDroit>§ : Permet de récupérer une liste de personnes qui ont réellement le droit dont le code est indiqué dans le paramètre «Code_Droit» et qui est lié au type de compte dont le code est indiqué dans le paramètre «Code_Type_Compte».
    • §OBJET§ ou §RESSOURCE§ : mot-clé pour récupérer une liste de dotation filtrée à partir des paramètres passés. Ne tient pas compte des données du workflow mais est utilisé pour filtrer des objets dans les actions ou tâches dans les workflows.
      • §OBJET§ATTRIBUT§code_attribut§ ou §RESSOURCE§ATTRIBUT§code_attribut§ : Permet de récupérer une liste de dotations en fonction d'une valeur d'attributs.
  • Les mots-clés utilisés afin de retourner des valeurs des différents objets contenus dans les instances de workflows (cibles, acteurs, valideurs, contenu demande, etc.). Dans ce cas, séparateur est « # ». Les mots-clés disponibles sont les suivants :

    • #WORKFLOW#Code_workflow#paramètre_étape# : Permet de récupérer des informations sur une instance de workflow dont le code est égal à « Code_workflow ». Peut être utilisé dans un champ de type évaluation SQL (ex : Règles d'exécution, de validation, etc...) ou dans un champ de notification (ex : Objet, corps d'e-mail). paramètre_étape peut prendre les valeurs :
      • ID : Identifiant de l'instance du workflow
      • STATUS : Etat de l'instance du workflow
        • -2 = Echoué par escalade
        • -1 = Echec
        • 0 = En cours
        • 1 = Succès
        • 2 = Initialisé par l’utilisateur
        • 3 = Evènement en attente d'informations supplémentaires
        • 4 = En pause
        • 5 = Besoin d'information
        • 6 = Bloqué
        • 7 = Arrêté
        • 8 = Réussi par escalade
        • 9 = Remise à zéro
      • STARTDATE : Date de démarrage de l'instance du workflow
      • ENDDATE : Date de fin de l'instance du workflow
      • LASTEVENTDATE : Date du dernier événement au niveau de l'instance du workflow
      • DATA : Retourne la liste des droits et utilisateurs concernés.
    • #STEP#Code_étape#paramètre_étape# : Permet de récupérer des informations sur une instance d’une étape de workflow dont le code est égal à « Code_étape ». Peut être utilisé dans un champ de type évaluation SQL (ex : Règles d'exécution, de validation, etc...) ou dans un champ de notification (ex : Objet, corps d'e-mail). paramètre_étape peut prendre les valeurs :
      • ID : Identifiant de l'instance de l’étape
      • STATUS : Etat de l'instance de l’étape de code « Code_étape » dans l'instance de workflow
        • -1 = Echec
        • 0 = En cours
        • 1 = Succès
        • 4 = En pause
        • 5 = Besoin d'information
        • 6 = Bloqué
        • 7 = Arrêté
      • STARTDATE : Date de démarrage de l'instance de l’étape
      • ENDDATE : Date de fin de l'instance de l’étape
      • LASTEVENTDATE : Date du dernier événement au niveau de l'instance de l’étape
    • #ACTION#Code_action#paramètre_action# : Permet de récupérer des informations sur une instance d’une action dont le code est égal à « code_action ». Peut être utilisé dans un champ de type évaluation SQL (ex : Règles d'exécution, de validation, etc...) ou dans un champ de notification (ex : Objet, corps d'e-mail). Paramètre_action peut prendre les valeurs :
      • ID : Identifiant de l'instance d'action
      • STATUS : Etat de l'instance d'action de code « Code_action » dans l'instance de workflow
        • -1 = Echec
        • 0 = En cours
        • 1 = Succès
        • 4 = En pause
        • 5 = Besoin d'information
        • 6 = Bloqué
        • 7 = Arrêté
      • STARTDATE : Date de démarrage de l'instance d'action
      • ENDDATE : Date de fin de l'instance d'action
      • LASTEVENTDATE : Date du dernier événement au niveau de l'instance d'action
      • DEROGATED : Id de la personne à qui l'action a été déléguée
    • #TASK#Code_tâche#paramètre_tâche# : Permet de récupérer des informations sur une instance d’une tâche dont le code est égal à « code_tâche ». Peut être utilisé dans un champ de type évaluation SQL (ex : Règles d'exécution, de validation, etc...) ou dans un champ de notification (ex : Objet, corps d'e-mail). Paramètre_tâche peut prendre les valeurs :
      • ID : Identifiant de l'instance de la tâche
      • STATUS : Etat de l'instance de la tâche de code « Code_tâche » dans l'instance de workflow
        • -1 = Echec
        • 0 = En cours
        • 1 = Succès
        • 4 = En pause
        • 5 = Besoin d'information
        • 6 = Bloqué
        • 7 = Arrêté
      • STARTDATE : Date de démarrage de l'instance de la tâche
      • ENDDATE : Date de fin de l'instance de la tâche
      • LASTEVENTDATE : Date du dernier événement au niveau de l'instance de la tâche
      • DEROGATED : Id de la personne à qui la tâche a été déléguée
    • Il est possible de créer des liens de validation automatique dans le corps d’un email quand la notification est configurée dans une action ou une tâche de validation : http://[adresse DNS]/UserRequestWorkflow.aspx? MyActionId={#ACTION#Code_action_ou_tâche#ID#}&accept=[résultat]
      • Adresse DNS à remplacer par l’adresse du serveur Identity
      • Code_action_ou_tâche est à remplacer par le code de l’action ou de la tâche à valider via le lien
      • Résultat : mettre 1 pour valider l’action ou la tâche, mettre 0 pour la refuser.

    Pour configurer le lien dans le corps de l'email, utilisez le bouton « type:inline » où vous pouvez vérifier l'adresse et le texte qui sera affiché dans l'email.

    Note : pour valider ou refuser une demande dans un mail de notification, il faudra que l’utilisateur se connecte dans l’interface pour valider qu’il ait bien les droits de réaliser cette opération.

    • #FORM# : mot-clé utilisable uniquement dans des workflows de type « Sur demande utilisateurs » ou dans des tâches de provisioning / dé-provisioning manuelle, dans les règles d’évaluation SQL des étapes actions et tâches ou dans les notifications.
      • #FORM#ADDRIGHTS#CODELIST# : Permet de lister les droits que le demandeur a sélectionnés dans le formulaire de demande droits.
      • #FORM#CHANGEATTRIBUTES#paramètre_form# : Permet de lister les attributs que le demandeur a modifiés dans le formulaire de modification de personnes. paramètre_form peut prendre les valeurs suivantes :
        • CODELIST : Liste des codes d’attributs que le demandeur a modifiés dans le formulaire de modification de personnes.
        • CHANGEDATE : Date de prise en compte des modifications au format jj/MM/yyyy
      • #FORM#TYPERESOURCES#paramètre_form# : Récupère la liste des types de ressources sélectionnées lors de la saisie du formulaire de demande. paramètre_form peut prendre les valeurs suivantes :
        • DATA : Id des ressources
        • DATA.CODE : Code des ressources
        • DATA.NAME : Nom des ressources
      • #FORM#Code_Tache_Validation#paramètre_form# :
        • DATA : Permet de récupérer dans le corps du mail tous les comptes et les droits par applications des cibles.
        • DATA.PROVISIONINGRIGHTONLY : Permet de conditionner l'exécution d'une tâche de validation d'un formulaire et/ou d'une tâche de provisioning manuel au fait que les cibles disposent déjà d'un compte sur les référentiels concernés par la demande.
        • DATA.UNPROVISIONINGRIGHTONLY : Permet de conditionner l'exécution d'une tâche de validation d'un formulaire et/ou d'une tâche de déprovisioning manuel au fait que les cibles disposent déjà d'un compte sur les référentiels concernés par la demande.
        • DATA.PROVISIONINGACCOUNTONLY : Permet de conditionner l'exécution d'une tâche de validation d'un formulaire et/ou d'une tâche de provisioning manuel au fait que les cibles ne disposent pas d'un compte sur les référentiels concernés par la demande.
        • DATA.UNPROVISIONINGACCOUNTONLY : Permet de conditionner l'exécution d'une tâche de validation d'un formulaire et/ou d'une tâche de déprovisioning manuel au fait que les cibles ne disposent pas d'un compte sur les référentiels concernés par la demande.
    • #TASKFORM# : Mot-clé utilisable uniquement dans les tâches de workflow de type : affectation de ressources et provisioning / dé provisioning manuel
      • #TASKFORM#Code_Tache#paramètre_form# : permet de récupérer des données spécifiées dans « paramètre_form » soit d’une ressource soit d’un droit. Ce mot-clé doit être utilisé dans le corps d’un mail pour que le résultat soit sous forme d’un tableau. paramètre_form peut prendre les valeurs suivantes :
        • DATA : Id des ressources demandées dans le cas où la tâche est de type « Affectation de ressource » ou Id des droits à provisionner ou dé provisionner dans le cas où la tâche est de type « provisioning / dé provisioning manuel ».
        • DATA.CODE : Code des ressources demandées dans le cas où la tâche est de type « Affectation de ressource » ou code des droits à provisionner ou dé provisionner dans le cas où la tâche est de type « provisioning / dé provisioning manuel ».
        • DATA.NAME : Nom des ressources demandées dans le cas où la tâche est de type « Affectation de ressource » ou Nom des droits à provisionner ou dé provisionner dans le cas où la tâche est de type « provisioning / dé provisioning manuel ».
        • DATA.FIELDS : Valeurs des champs additionnels du formulaire de demande. Uniquement valable dans le cas où la tâche est de type « provisioning / dé provisioning manuel ».
        • DATACOMPLETEONLY : Id des ressources réellement affectées dans la tâche de type « Affectation de ressource ». Uniquement valable dans le cas où la tâche est de type « Affectation de ressource ».
        • DATACOMPLETEONLY.CODE : Code des ressources réellement affectées dans la tâche de type « Affectation de ressource ». Uniquement valable dans le cas où la tâche est de type « Affectation de ressource ».
        • DATACOMPLETEONLY.NAME : Nom des ressources réellement affectées dans la tâche de type « Affectation de ressource ». Uniquement valable dans le cas où la tâche est de type « Affectation de ressource ».
        • DATAINCOMPLETE : Id des types de ressources dont aucune ressource n’a été affectée. Uniquement valable dans le cas où la tâche est de type « Affectation de ressource ».
        • DATAINCOMPLETE.CODE : Code des types de ressources dont aucune ressource n’a été affectée. Uniquement valable dans le cas où la tâche est de type « Affectation de ressource ».
        • DATAINCOMPLETE.NAME : Nom des types de ressources dont aucune ressource n’a été affectée. Uniquement valable dans le cas où la tâche est de type « Affectation de ressource ».
    • #MANAGER# : un manager de worfklow est une personne qui administre le workflow.
      • #MANAGER#ATTRIBUT#code_attribut# : Permet d'injecter l'information sur l'instance d'action dans un champ de type évaluation SQL. (ex : Règles d'exécution, de validation, etc...) ou dans un champ évalué (ex : Destinataires, objet, corps d'e-mail).
      • #MANAGER#RIGHT#<Code_Type_Compte.Code_Droit># : Permet de vérifier que le manager d'un workflow possède le droit dont le code est indiqué dans le paramètre «Code_Droit» lié au type de compte dont le code est indiqué dans le paramètre «Code_Type_Compte».
      • #MANAGER#RIGHTHEO#<Code_Type_Compte.Code_Droit># : Permet de vérifier que le manager d'un workflow possède théoriquement le droit dont le code est indiqué dans le paramètre «Code_Droit» lié au type de compte dont le code est indiqué dans le paramètre «Code_Type_Compte».
    • #POSSIBLEACTIONACTOR# : Personnes qui peuvent agir sur une action
      • #POSSIBLEACTIONACTOR#Code_action#code_attribut# : Permet de récupérer la valeur de l’attribut dont le code est passé dans le paramètre code_attribut sur les acteurs possibles de l’instance d’une action ou d’une tâche dont le code est égal à « code_action ». Peut être utilisé dans un champ de type évaluation SQL (ex : Règles d'exécution, de validation, etc...) ou dans un champ de notification (ex : Destinataires, objet, corps d'e-mail).
    • #STARTER# : Personne qui démarre un workflow
      • #STARTER#ATTRIBUT#code_attribut# : Permet de récupérer la valeur de l’attribut dont le code est passé dans le paramètre code_attribut sur la personne qui a démarré le workflow. Peut être utilisé dans un champ de type évaluation SQL (ex : Règles d'exécution, de validation, etc.) ou dans un champ de notification (ex : Objet, corps d'e-mail).
      • #STARTER#RIGHT#<CodeTypeCompte.CodeDroit># : Permet de vérifier que le demandeur d'un workflow possède le droit dont le code est indiqué dans le paramètre «Code_Droit» lié au type de compte dont le code est indiqué dans le paramètre «Code_Type_Compte».
      • #STARTER#RIGHTHEO#<Code_Type_Compte.Code_Droit># : Permet de vérifier que le demandeur d'un workflow possède théoriquement le droit dont le code est indiqué dans le paramètre «Code_Droit» lié au type de compte dont le code est indiqué dans le paramètre «Code_Type_Compte».
    • #TARGET# : Objet(s) qui démarrent une instance de workflow
      • #TARGET#ATTRIBUT#code_attribut# : Permet de récupérer la valeur de l’attribut dont le code est passé dans le paramètre code_attribut sur l’objet qui a démarré le workflow. Peut être utilisé dans un champ de type évaluation SQL (ex : Règles d'exécution, de validation, etc.) ou dans un champ de notification (ex : Objet, corps d'e-mail). Ce mot-clé ne peut fonctionner que quand la cible est de type personne ou dotation.
      • #TARGET#RIGHT#<CodeTypeCompte.CodeDroit># : Permet de vérifier que la/les cible d'un workflow possède le droit dont le code est indiqué dans le paramètre «Code_Droit» lié au type de compte dont le code est indiqué dans le paramètre «Code_Type_Compte». Ce mot-clé ne peut fonctionner que quand la cible est de type personne.
      • #TARGET#RIGHTTHEO#<CodeTypeCompte.CodeDroit># : Permet de vérifier que la/les cible d'un workflow possède théoriquement le droit dont le code est indiqué dans le paramètre «Code_Droit» lié au type de compte dont le code est indiqué dans le paramètre «Code_Type_Compte». Ce mot-clé ne peut fonctionner que quand la cible est de type personne.
      • #TARGET#RESOURCE#DATA# : Permet de récupérer dans le corps du mail toutes les données (valeurs de tous les attributs) de toutes les ressources liées aux cibles d’une instance de workflow.
        • #TARGET#RESOURCE#DATA@CodeAtt1,CodeAtt2,CodeAttN# : Permet de récupérer dans le corps du mail les valeurs des attributs sélectionnés via la liste des codes attributs CodeAttN de toutes les ressources liées aux cibles d’une instance de workflow. Les attributs « nom » et « code » sont par défaut affichés dans le corps du mail sans besoin de les ajouter dans la liste.
        • #TARGET#RESOURCE#DATA.CodeTypeRessource1,CodeTypeRessource2,CodeTypeRessourceN# : Permet de récupérer dans le corps du mail les valeurs de tous les attributs des types de ressources sélectionnés via la liste des codes type de ressource CodeTypeRessourceN liés aux cibles d’une instance de workflow.
        • #TARGET#RESOURCE#DATA.CodeTypeRessource1,CodeTypeRessourceN@CodeAtt1,CodeAtt2,CodeAttN# : Permet de récupérer dans le corps du mail les valeurs de :
          • Soit tous les attributs des types de ressources sélectionnés via la liste des codes attributs CodeTypeRessourceN liés aux cibles d’une instance de workflow des attributs de types de ressources si aucun code attribut n’est spécifié
          • Soit les valeurs des attributs sélectionnés via la liste des codes attributs des types de ressources sélectionnés via la liste des codes type de ressource CodeTypeRessourceN liés aux cibles d’une instance de workflow si des codes attribut CodeAttN sont spécifiés.
        • #TARGET#RESOURCE#DATA.CodeTypeRessource1,CodeTypeRessource2,CodeTypeRessourceN# : Permet de récupérer dans le corps du mail les valeurs de tous les attributs des types de ressources sélectionnés via la liste des codes type de ressource CodeTypeRessourceN liés aux cibles d’une instance de workflow.
      • #TARGET#ACCOUNT# : Mot-clé utilisable dans les workflows d’évènements portant sur la création d’un compte réel.
        • #TARGET#ACCOUNT#LOGIN# : Permet de récupérer dans le corps du mail le login du compte.
        • #TARGET#ACCOUNT#PASSWORD# : Permet de récupérer dans le corps du mail le mot de passe (en clair) du compte.
        • #TARGET#ACCOUNT#STATUS# : Permet de récupérer dans le corps du mail l’état de provisioning du compte.
        • #TARGET#ACCOUNT#DATA# : Permet de récupérer dans le corps du mail le login, le mot de passe et le statut.
    • #PRIMARYTARGET# et #SECONDARYTARGET# : mot-clé utilisable uniquement dans des workflows de type « Sur évènement »
      • #PRIMARYTARGET#ATTRIBUT#paramètre_secondaire# ou #SECONDARYTARGET#ATTRIBUT#paramètre_secondaire# : permet de récupérer la valeur d’un objet sur la cible primaire ou secondaire d’une instance de workflow dont la propriété est passé dans le paramètre paramètre_secondaire. Ce mot-clé ne peut fonctionner que quand la cible est de type :
        • Identité : dans ce cas le paramètre secondaire sera un code attribut.
        • Droit : dans ce cas le paramètre secondaire peut prendre les valeurs suivantes :
          • Name : nom du droit
          • Description : description du droit
          • Code : code du droit
          • Applicationname : Nom de l’application liée au droit
          • Applicationdescription : description de l’application liée au droit
          • Applicationcode : code de l’application liée au droit
          • ismanualprovisioning : Booléen informant si le droit fait partie d’un référentiel de type provisioning manuel.
      • #PRIMARYTARGET#TYPE#paramètre_secondaire# ou #SECONDARYTARGET#TYPE#paramètre_secondaire# : Permet de récupérer des informations sur le type de l’objet correspondant à la cible primaire ou secondaire d’une instance de workflow. Ce mot-clé ne peut fonctionner que quand la cible est de type personne ou dotation. paramètre_secondaire peut prendre les valeurs suivantes :
        • NAME : nom du type de personne ou dotation
        • CODE : code du type de personne ou dotation
        • DESCRIPTION : description du type de personne ou dotation
      • #PRIMARYTARGET#ACCOUNT#paramètre_secondaire# ou #SECONDARYTARGET#ACCOUNT#paramètre_secondaire# : Permet de récupérer des informations sur le compte correspondant à la cible primaire ou secondaire d’une instance de workflow. Ce mot-clé ne peut fonctionner que quand la cible est de type compte. paramètre_secondaire peut prendre les valeurs suivantes :
        • STATUS : état du compte réel crée
        • LOGIN : Login du compte réel créé
        • PASSWORD : Mot de passe du compte réel créé
        • DATA : tableau qui liste le login et le mot de passe du compte réel créé

Ces deux familles de mots-clés peuvent être utilisées conjointement dans un même paramètre de type « Évaluation SQL » qui vérifie la condition en fonction de paramètres d'entrées et retourne les types « TRUE/FALSE » ou « Liste retournée par une évaluation SQL ».

Particularités :

  • Pour tous les mots-clés pour lesquels il est possible de passer un code attribut dans les paramètres afin de récupérer sa valeur, pour les attributs de type énumération, personne, structure ou ressource, il est possible d’utiliser une extension de format « .code_attribut_objet » afin de récupérer une valeur d’attribut de l’objet à la place de l’ID. Pour les attributs de type structure, personne ou dotations, il faut renseigner le code de l’attribut de l’objet souhaité et pour les énumérations, code_attribut_objet peut prendre les valeurs suivantes :
    • NAME : récupère le nom de l’énumération
    • CODE : récupère le code de l’énumération
  • Lorsque les mots-clés ne sont pas suffisants pour injecter une information dans un corps d'e-mail, il est possible d'utiliser la syntaxe suivante pour appeler une requête SQL de type SELECT :
    • [@@@: <Requête SQL> :@@@] : la requête SQL doit être écrite sans la clause « SELECT ». Elle renvoie une chaîne de caractère.
  • Pour renseigner les informations des cibles (personnes concernées par le workflow), il est préférable d’utiliser le mot-clé §PERSONNE§ plutôt que #TARGET#.