Projet

Général

Profil

Actions

Feature #13464

fermé

réassignation des actions en cours et à venir

Ajouté par Sebastien Vuillet il y a presque 2 ans. Mis à jour il y a plus d'un an.

Statut:
Closed
Priorité:
Normal
Assigné à:
Catégorie:
Workflow
Début:
02/02/2023
Echéance:
% réalisé:

100%

Temps estimé:
Livraison en TEST:
Livraison en PROD:

Description

Le remplacement a pour vocation d’être temporaire, pour que ce soit permanent, il faut utiliser la
réassignation de tâche.
Hors actuellement cette fonctionnalité ne permet que de réassigner une tâche à la fois.
C’est pourquoi nous allons développer une fonctionnalité de réassignation des toutes les tâches en
cours et à venir dans une instance d’application workflow.
Cette fonctionnalité ne sera accessible que par les superviseurs de l’application.
Pour cela, le superviseur sélectionnera l’utilisateur dont les tâches doivent être réassignées et l’utilisateur qui
se verra assignées les tâches.
Si l’utilisateur cible ne possède pas les mêmes rôles alors un message indiquera les rôles manquants et sur
validation l’utilisateur sera ajouté dans les rôles manquants.

NB : pour les tâches futures seules les items du dossier de type « user » seront pris en compte (Les items
du type « user group » seront ignorés).


Fichiers

Definitive Reassignation.xlsx (21,7 ko) Definitive Reassignation.xlsx Sebastien Vuillet, 20/02/2023 10:51
reassignment_popin.png (11,8 ko) reassignment_popin.png Yohann Chastagnier, 09/03/2023 16:45
reassignment_popin_incumbent.png (19,3 ko) reassignment_popin_incumbent.png Yohann Chastagnier, 09/03/2023 16:48
reassignment_popin_substitute_userpanel.png (34,9 ko) reassignment_popin_substitute_userpanel.png Yohann Chastagnier, 09/03/2023 17:03
reassignment_popin_error.png (6,45 ko) reassignment_popin_error.png Yohann Chastagnier, 09/03/2023 17:10
replacement_filter_one.png (26,6 ko) replacement_filter_one.png Yohann Chastagnier, 09/03/2023 17:58
replacement_filter_two.png (26 ko) replacement_filter_two.png Yohann Chastagnier, 09/03/2023 17:58

Mis à jour par Miguel Moquillon il y a presque 2 ans

  • Assigné à mis à Miguel Moquillon
  • Version cible mis à Version 6.4

Mis à jour par Miguel Moquillon il y a presque 2 ans

  • Statut changé de New à In progress...

Mis à jour par Miguel Moquillon il y a presque 2 ans

Seb et David, auriez vous quelques workflows existants avec lesquels on puisse tester nos devs sur cette feature ?

Mis à jour par Sebastien Vuillet il y a presque 2 ans

Voici le plan de tests transmit par Akwel. Il y a 3 workflows qui sont désignés pour tester.

Mis à jour par Yohann Chastagnier il y a presque 2 ans

Lorsque l'utilisateur est dans le rôle superviseur, une nouvelle action apparaît dans le menu Que voulez-vous faire ? : Ré-assigner toutes les tâches d'un utilisateur

Cette action permet au superviseur de pouvoir procéder à la ré-assignation de toutes les tâches en cours listées dans l'instance du workflow.

Lorsque cette action est sélectionnée, une popin s'affiche :

Cette dernière permet dans un premier temps de sélectionner l'utilisateur qui doit être remplacé. Tous les utilisateurs ayant un rôle sur le workflow (autre que celui de superviseur) peuvent être sélectionnés.
Après sélection, les rôles de l'utilisateur sur le workflow sont indiqués en dessous du champs de saisie, et le champs de sélection de l'utilisateur remplaçant est accessible :

Le remplaçant doit à minima posséder les mêmes rôles que l'utilisateur qu'il doit remplacer. Pour faciliter sa sélection, un filtrage sur les utilisateurs ayant au moins les mêmes rôles que le remplacé est effectué sur ce champs de saisie.
Par exemple, dans la capture ci-après, seuls les 3 utilisateurs listés ont au moins les rôles Responsable et Employé en commun avec l'utilisateur remplacé :

Au gré des sélections qui peuvent s'enchaîner dans la popin, il est possible d'arriver dans une situation où le remplaçant n'a pas au moins les mêmes rôles que l'utilisateur qu'il doit remplacer. Dans un tel cas, le message d'erreur suivant est affiché au moment de la validation :

Cette contrainte implique qu'un gestionnaire du workflow (ou un administrateur de la plate-forme Silverpeas) ait bien au préalable renseigné les utilisateurs potentiellement remplaçants dans les bons rôles du workflow.
Il convient ici de préciser que cette nouvelle fonctionnalité de réassignation massive ne manipule en aucun cas (ajout, modification ou suppression) les rôles des utilisateurs ou des groupes dans son traitement.

Sur la validation de la popin, l'ensemble des tâches en cours sont réassignées.

Logs

Afin d'avoir une trace des actions de réassignation de toutes les tâches d'un workflow, la gestion du fichier de log $SILVERPEAS_HOME/log/silverpeas-workflow-reassignment.log a été mise en place.
Le niveau de LOG par défaut est INFO. Il permet d'inscrire une ligne par lancement de réassignation de toutes les tâches. Son format est le suivant :
%dateHeure INFO %chemin_et_libellé_workflow (%idWorflow): incumbent %prénom_nom (%id) -> substitute %prénom_nom (%id) by supervisor %prénom_nom (%id)

Exemple :

2023-07-07 17:01:03,494 INFO  WORKFLOW > Bug #7985 (demandeCongesSimple112): incumbent Aurore Allibe (19) -> substitute Lecteur (8) by supervisor Yohann Chastagnier (1)

Si le niveau de log est positionné sur DEBUG (silverpeas.components.processmanager.reassignment), le début et la fin de traitement sont indiqués dans les traces. Dans ce niveau de LOG, un identifiant est ajouté entre crochets avant le libellé du workflow, cela pour identifier les lignes de logs qui ont un lien entre elles.
Exemple :

2023-07-06 19:37:16,458 FINE  [1688665036458-1117] Starting reassignment
2023-07-06 19:37:17,039 INFO  [1688665036458-1117] WORKFLOW > Pour créer une première demande (demandeCongesSimple497): incumbent Aurore Allibe (19) -> substitute Lecteur (8) by supervisor Yohann Chastagnier (1)
2023-07-06 19:37:17,040 FINE  [1688665036458-1117] Ending reassignment in 00:00:00.581


A l'occasion de ce développement, la fonctionnalité existante de remplacement temporaire a évolué au niveau de la sélection du remplaçant.
Les utilisateurs présentés dans le panneau de sélection sont ceux qui possèdent l'ensemble des rôles sélectionnés sur la popin.
Par exemple, dans la situation ci-dessous, seuls les utilisateurs ayant à minima le rôle Resonsable sont présentés en sélection :

Dans cet autre exemple, seuls les utilisateurs ayant au moins les rôles Responsable et Employé sont présentés en sélection :


PRs :

Mis à jour par Sebastien Vuillet il y a plus d'un an

  • Statut changé de Resolved à Feedback

J'ai un problème de selection du remplaçant sur le workflow RFQ4. Notamment pour le rôle productline (2ème étape). Je ne vois pas tous les utilisateurs qui peuvent potentiellement remplacer.

Mis à jour par Miguel Moquillon il y a plus d'un an

Es tu sûr que le ou les remplaçants jouent tous les rôles du remplacé ?

Mis à jour par Sebastien Vuillet il y a plus d'un an

Miguel Moquillon a écrit (#note-7):

Es tu sûr que le ou les remplaçants jouent tous les rôles du remplacé ?

Je vais vérifier

Mis à jour par Sebastien Vuillet il y a plus d'un an

  • Statut changé de Feedback à Resolved

Sebastien Vuillet a écrit (#note-8):

Miguel Moquillon a écrit (#note-7):

Es tu sûr que le ou les remplaçants jouent tous les rôles du remplacé ?

Je vais vérifier

Effectivement, il faut bien veiller à ce les rôles soient identiques.

Mis à jour par Yohann Chastagnier il y a plus d'un an

  • Statut changé de Resolved à Integration in progress...

Mis à jour par Yohann Chastagnier il y a plus d'un an

  • Statut changé de Integration in progress... à Closed

Validé et intégré en 6.4.x (master)

Actions

Formats disponibles : Atom PDF