Changer dynamiquement l'acteur d'une lane

1
0
-1

Bonjour à tous,

J'aimerai savoir comment il serait possible de changer dynamiquement l'acteur de la lane courante au sein de mon processus. Par exemple j'ai une lane qui est attribuée au user1, avec une succession de taches, et j'aimerai qu'a n'importe quelle tache, il puisse décider de réattribuer la lane a quelqu'un d'autre (Je n'utilise pas le portail, uniquement les API REST et la récupération des formulaires par URL). Mon idée serait qu'a chaque formulaire de chaque tache de rajouter une liste déroulante remplit avec des utilisateurs, et si l'on utilise cette liste pour choisir un nouvel utilisateur, celui-ci soit utilisé comme nouvel acteur de la lane dont fait parti la tache et ainsi changer l'attribution des prochaines taches. Mais je ne sais pas comment changer en cours de route l'acteur d'une lane (groovy? connecteur Java?)

Merci d'avance de votre aide!

Cordialement,

Sylvain

1 answer

1
0
-1
This one is the BEST answer!

Hi,

Dans un premier temps, créé une variable longSelectedUser dans ta lane. Elle contiendra l'ID de l'utilisateur sélectionné.

Pour chaque tache, ajoute un connecteur groovy en entrée qui va assigné la tache à l'utilisateur sélectionné (en utilisant longSelectedUser).

Pour chaque tache, ajoute un connecteur groovy en sortie qui va récuperer l'Id de l'utilisateur sélectionné de la liste et enregistré cette valeur à longSelectedUser. Cela peut-être fait depuis la page peut-être ? Dans les paramètres de sortie de la liste ?

Comme ca, ton workflow marchera aussi bien avec la REST API, qu'avec le portal. Il est jamais bon de trop utiliser la REST API, cela intègre trop d'intelligence dans ton application et ton workflow est inutilisable (ou défaillant) sans celle-ci.

J'espère que j'ai été clair :)

Comments

Submitted by sylvain.jeandroz on Thu, 03/05/2015 - 14:06

Hi Florian,

Thanks for your help!

I will test this solution as soon as possible.

Thanks a lot

Sylvain

Submitted by sylvain.jeandroz on Thu, 03/05/2015 - 14:14

En fait je crois avoir trouvé une autre solution un peu plus simple, mais c'est de ma faute je n'avais pas assez bien expliqué mon processus: - le formulaire d'instanciation de mon process contiens entre autre un champs qui liste les utilisateurs de Bonita. Je stocke dans une variable l'utilisateur séléctionné. Dans une deuxieme lane (qui contiens mes taches) l'acteur de la lane est défini en fonction d'un filtre d'acteur qui se base sur la variable qui contient l'id de l'utilisateur selectionné.

Du coup il me suffit de modifier la variable globale qui contient l'id de l'utilisateur pour que lors de l'attribution des prochaines taches le filtre d'acteur se basera sur le nouveau utilisateur id pour attribuer la tache.

Je ne sais pas si je me suis bien exprimé ^^

Submitted by florian.baillagou on Thu, 03/05/2015 - 14:20

Oui, l'utilisation d'un filtre d'acteur est beaucoup mieux, c'est sur. Je pensais que passer par un script groovy d'une ligne était plus simple et plus rapide.

Submitted by sylvain.jeandroz on Thu, 03/05/2015 - 14:33

En tous cas merci de la réponse, c'était clair et rapide, parfait!

Notifications