Feature #13464
ferméréassignation des actions en cours et à venir
100%
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
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
- Fichier Definitive Reassignation.xlsx Definitive Reassignation.xlsx ajouté
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 plus d'un an
- Fichier reassignment_popin.png reassignment_popin.png ajouté
- Fichier reassignment_popin_incumbent.png reassignment_popin_incumbent.png ajouté
- Fichier reassignment_popin_substitute_userpanel.png reassignment_popin_substitute_userpanel.png ajouté
- Fichier reassignment_popin_error.png reassignment_popin_error.png ajouté
- Fichier replacement_filter_one.png replacement_filter_one.png ajouté
- Fichier replacement_filter_two.png replacement_filter_two.png ajouté
- Statut changé de In progress... à Resolved
- % réalisé changé de 0 à 100
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
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)