Custom worklist “Générique” – Nouveauté WorkflowManagement

Pour ce nouvel article sur enK2Besoin, je vais vous présenter certaines des nouvelles méthodes présentes sur le custom service broker Workflow Management que nous avons déjà présenté à 2 reprises sur ce blog (récemment ici et puis précédemment ) et qui fait partie des projets remarquables de la communauté K2. Donc au sommaire :

  1. Présentation du service broker Workflow Management
  2. Utilisation de la custom worklist

1. Présentation du service broker Workflow Management

Vous avez probablement déjà utilisé ce broker, développé par nos équipes K2 France, et permettant d’effectuer de très nombreuses opérations sur les instances de workflow via un SmartObject. Souvent utilisé pour offrir des interfaces d’administration type Workspace mais au sein des applications clients, il offre beaucoup de possibilités avancées via SmartForms et Workflows.

Au fil du temps les méthodes s’ajoutent à ce service broker, et celle qui nous intéresse aujourd’hui permet de mettre en place des “Custom Worklist” génériques simplement. On est d’accord, les termes “Custom/Génériques” sont un peu contradictoires, mais cela reste volontaire .

Comme de nombreux autres service broker, il a été développé en c# et en utilisant le framework .Net. Le broker se présente sous la forme d’une DLL, que vous trouverez en téléchargement sur le site communautaire de K2 via le lien suivant.

2. Custom Worklist

Le postulat de base ayant servit au développement de cette CustomWorklist vient d’un besoin client récurrent : ajouter des données métier à la worklist native K2. Ce problème peut être résolu (en partie) en utilisant des SmartObjects composite, utilisant une colonne pour lier une table métier et une liste de tâches d’un utilisateur, mais l’ensemble n’est pas facilement réutilisable, doit être configuré pour chaque cas de figure et reste une solution que j’estime temporaire.
La méthode Generic Custom Worklist de notre broker propose donc d’automatiser ce mode de fonctionnement afin de limiter les possibilités d’erreur, de gagner du temps, et de proposer une solution plus user friendly.
Avant de pouvoir utiliser la méthode, il est important d’effectuer les opérations suivantes :
  • Dans la table métier visée, ne pas oublier de créer un champ “ProcessId” qui permettra de stocker l’identifiant de l’instance du processus et de le lier à une ligne de la table métier.
  • Dans le workflow concerné par la custom worklist, dès l’initialisation, ne pas oublier d’aller mettre à jour la ligne SQL de la table métier correspondante avec l’Id de l’instance du process.

Ce mode de fonctionnement est basé sur une logique où chaque instance de workflow est liée à une et une seule ligne de la table métier, c’est pourquoi on stocke coté métier SQL l’identifiant de l’instance du process.

La méthode est présente dans la partie Task Management Service du service broker. Une fois le SmartObject correspondant généré, on peut utiliser la méthode de la manière suivante :
Test de la méthode dans le SmartObject service tester
Test de la méthode dans le SmartObject service tester
Les informations à renseigner obligatoirement sont :
  • User To Impersonate (FQDN) : le nom de l’utilisateur à impersonifier (login de la personne dont on veut afficher la liste de tâches).
  • SMO Custom WorkList : le nom du SMO (nom système attendu) généré à partir de la table contenant la donnée métier.
  • Column Link : le nom de la colonne dans la table métier qui contiendra l’identifiant d’instance de process.
  • ProcessFullName : le nom complet du process (donc sous la forme PROJET\NOMPROCESS).

Les noms de colonne 1, 2 et 3 permettent de choisir quelle information métier retourner (plus de colonnes prévues lors d’un prochain update).

Une fois configuré il suffit d’exécuter la méthode pour récupérer sa worklist Custom :

Exemple de configuration et de résultat
Exemple de configuration et de résultat

On peut voir ici, qu’en plus des informations concernant l’instance du process, j’ai récupéré les colonnes Data1 à Data3 contenant des données métier.

Pour la partie installation de configuration du service broker Workflow Management, voici un lien pour l’article de référence à ce sujet : Article workflow management.

Voilà, c’est tout pour les explications sur cette nouvelle méthode CustomWorklist, j’espère qu’elles vous auront été utiles, à bientôt !

Téléchargement de la DLL sur community

raphael

Consultant au sein du pôle expertise application, développe et accompagne les projets de clients K2, en essayant d’innover par la même occasion !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.