Utiliser le planificateur de workflow.

Depuis sa version 4.7, K2 propose une fonctionnalité de planification de workflow. Nous en avons parlé ici et là.

La console d’administration se dote d’une nouvelle fonctionnalité permettant de gérer la planification de ses instances de processus. Vous disposez donc à présent d’une interface simple permettant de paramétrer la récurrence d’instanciation d’un processus (1x par jour, 1x par semaine etc.).

Son utilisation

Il y a deux manières d’utiliser le planificateur, soit depuis la console de management, soit depuis les smartobjects du système.

 Vous devez disposer du droit Admin du processus concerné.

Le droit Start doit être donné au compte de service K2.

Depuis la console de management

La console de management propose le moyen le plus simple, mais le moins contraint, d’automatiser le démarrage d’un processus. L’accès à la fonctionnalité se fait depuis la catégorie Workflow Server/Schedules. Une première page présente les planifications existantes et un pop-up permet de gérer l’ajout et l’édition. La procédure est la suivante :

  1. Cliquer sur le bouton New ;
  2. Nommer la planification ;
  3. Sélectionner le workflow à planifier ;
  4. Si nécessaire, initialiser les Data ou XML Fields ;
  5. Choisir le nom des demandes (en utilisant la date ou une valeur statique) ;
  6. Définir la fréquence parmi l’une des options suivantes :
    • Once, pour planifier un seul démarrage ;
    • Daily, pour une planification quotidienne,
      • ou basée sur un nombre de jour (ex : tous les trois jours) ;
    • Weekly, pour une planification hebdomadaire,
      • ou basée sur un nombre de semaine et un jour de la semaine (ex : un dimanche sur deux) ;
    • Monthly, pour une planification mensuelle,
      • ou basée sur un nombre de mois (ex : un mois sur quatre),
      • ou basée sur un nombre de mois, un nombre de semaine, et un jour de la semaine (ex : le deuxième lundi de chaque trimestre) ;
    • Yearly, pour une planification annuelle (ex : tous les 8 juin),
      • basée sur un mois, un nombre de semaine, et un jour de la semaine (ex : tous les ans, le dernier jeudi de mars)
    • Interval, pour choisir une fréquence sur mesure,
      • basée sur un nombre de minutes, d’heures, de jours, de semaines, de mois, et d’année.
  7. Enfin, définir l’intervalle d’activation par une date de début et de fin,
    • ou sans date de fin,
    • ou avec un nombre d’occurrence.

 Le statut Enabled permet d’activer/désactiver rapidement une planification (sans avoir à la supprimer et à la créer de nouveau).

 Le type d’exécution Asynchronous permet au moteur de workflow de mettre la nouvelle instance dans la pile des instances et d’utiliser moins de ressources du serveur. La documentation recommande de laisser la case cochée pour une meilleure performance générale.

Depuis les smartobjects

Il est possible de réaliser la même configuration avec les smartobject qu’avec la console de management. La manipulation est un peu particulière, tous les smartobjects sauf un sont liés à une fréquence (voir le point 6. ci-dessus). Ces smartobjects propose l’ajout, la lecture et la mise à jour d’une planification.

  • Recurrence Pattern Daily,
  • Recurrence Pattern Interval,
  • Recurrence Pattern Monthly,
  • Recurrence Pattern Once,
  • Recurrence Pattern Weekly,
  • Recurrence Pattern Yearly.

Le dernier smartobjects, Process Schedule permet la gestion (suppression, liste, lecture, mise à jour) de l’ensemble des planifications, pas la création.

Ainsi, pour créer une nouvelle planification, il faut utiliser l’un des SmOs préfixé Recurrence Pattern. Les propriétés en entrée dépendent de l’intervalle. Pour le concepteur, le plus simple est de vérifier le formulaire de la console de management associé. En utilisant les smartobjects pour gérer le planificateur, on peut générer la planification automatiquement pour chaque environnement. Pas besoin de faire la configuration après chaque déploiement !

Management
Les propriétés du smartobject peuvent décourager le concepteur au premier abord…
Management
… mais finalement, les mêmes informations sont demandées dans la console de management.

Un exemple

Un cas d’usage très simple est de proposer aux utilisateurs le choix de s’abonner à leur liste de tâches. Un processus se charge d’envoyer un mail au(x) jour(s) et à l’heure voulus. Le planificateur va déclencher le processus une fois par jour.

schedule 3
Voici l’écran d’abonnement de mon projet, il utilise un maximum de composant du système.
schedule 4
Voici la page de paramétrage de mon projet. Il est possible de vérifier et changer les abonnements.

Vous pouvez récupérer la version 1 du projet ici en faisant la demande dans les commentaires (vous pourrez l’enrichir et à l’adapter pour vos besoins).

C’est tout pour cette fois, cheers !

benjamin

Technical Specialist @t K2 France ----- Twitter : @benjaminbertram ----- LinkedIn : Benjamin Bertram

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.