Project

General

Profile

Actions

Feature #6830

closed

Workflow - Gestion de la délégation

Added by Marc Avenel about 6 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
High
Category:
Workflow
Start date:
03/30/2017
Due date:
03/30/2017
% Done:

100%

Estimated time:
Livraison en TEST:
Livraison en PROD:

Description

Actuellement chez MGI les workflows se développent de façon significative. MGI est une société internationale.

Les tâches de workflow sont attribuées à divers acteurs des différentes divisions/sites/filiales du monde entier.
De ce fait si une action est affectée à un acteur et que celui est en congés la demande de l'instance de workflow est en attente tant que ce dernier n'est pas actif.

Les superviseurs ne peuvent à chaque tâche, réattribuer les tâches en cas d'absence de l'acteur.
Il serait souhaitable qu'un acteur puisse déléguer ses tâches à venir pendant une période donnée.
Si l'acteur est indisponible, la tâche (l'action) est réattribuée de façon automatique au délégué.
Il en est de même pour les notifications issues des instances de workflow.

Cette gestion devient importante pour nos workflows.
Existe-t-il un palliatif à cette gestion ?

Réponse de SILVERPEAS :

Sur chaque page d'accueil de workflow, l'action Déléguer mes responsabilités sera disponible pour chaque utilisateur.
Cette action permettra d'affecter l'ensemble des droits de l'utilisateur connecté (délégateur) à n'importe quel autre utilisateur du workflow (délégataire).
Une notification avertira le délégataire et listera les demandes courantes sur lesquelles il peut désormais agir (celles du délégateur).
La délégation prend effet immédiatement et les demandes (nouvelles et existantes) sont affectées automatiquement au délégataire.

Sur la page d'accueil du workflow, un message explicitera la situation aussi bien pour le délégataire que pour le délégateur.
A tout moment, le délégateur pourra mettre fin à la délégation directement depuis ce message.
Le délégateur et le délégataire n'auront rien de particulier à faire. Le délégateur reprendra automatiquement la main sur toutes les demandes en cours.
Un délégataire peut avoir été désigné par plusieurs utilisateurs. Toujours sur la page d'accueil, le délégataire devra sélectionner explicitement l'utilisateur qu'il remplace. A partir de là, il endosse l'ensemble des privilèges du délégateur sélectionné.
Il peut alors sélectionner le rôle adéquat parmi ceux du délégateur.

Sur chaque écran, la plate-forme indiquera clairement que l'utilisateur est en train d'agir pour le compte du délégateur.
Les actions réalisées par le délégataire seront enregistrées avec l'identité de ce dernier mais aussi du délégateur.
Ainsi, l'historique affichera Nom_action (Nom_délégataire par délégation de Nom_délégateur – Date_action).
Une notification sera envoyée au délégateur à chaque action du délégataire.

Afin de prévenir les absences non planifiées, le superviseur d'un workflow pourra désigner lui-même le binôme délégateur-délégataire.
Une notification sera adressée aux deux utilisateurs. Afin d'avoir toutes les informations nécessaires, le superviseur aura accès à la liste de tous les binômes délégateur-délégataire définis sur le workflow (définis par lui-même, par un autre superviseur ou par les délégateurs eux-mêmes).


Files

delegateur-accueil.png (134 KB) delegateur-accueil.png Nicolas Eysseric, 04/11/2017 08:42 AM
en-tete-delegation.png (122 KB) en-tete-delegation.png Nicolas Eysseric, 04/11/2017 08:42 AM
delegue-select-delegateur.png (136 KB) delegue-select-delegateur.png Nicolas Eysseric, 04/11/2017 08:42 AM
00_empty_homepage.png (13.5 KB) 00_empty_homepage.png Yohann Chastagnier, 05/03/2019 11:21 AM
01_empty_homepage_as_supervisor.png (15.7 KB) 01_empty_homepage_as_supervisor.png Yohann Chastagnier, 05/03/2019 11:21 AM
03_new_replacement_filter.png (14.8 KB) 03_new_replacement_filter.png Yohann Chastagnier, 05/03/2019 12:10 PM
04_new_replacement_filled.png (17.4 KB) 04_new_replacement_filled.png Yohann Chastagnier, 05/03/2019 01:53 PM
05_in_all_other_replacements.png (18.3 KB) 05_in_all_other_replacements.png Yohann Chastagnier, 05/03/2019 02:15 PM
06_new_replacement_as_supervisor.png (15.7 KB) 06_new_replacement_as_supervisor.png Test Yohann Chastagnier, 05/03/2019 02:30 PM
07_in_my_substitutes.png (15.7 KB) 07_in_my_substitutes.png Yohann Chastagnier, 05/03/2019 02:46 PM
02_new_replacement.png (14.7 KB) 02_new_replacement.png Yohann Chastagnier, 05/03/2019 02:50 PM
08_buttons.png (3.73 KB) 08_buttons.png Yohann Chastagnier, 05/03/2019 02:59 PM
09_modify.png (18.9 KB) 09_modify.png Yohann Chastagnier, 05/03/2019 03:01 PM
10_delete_confirmation.png (5.4 KB) 10_delete_confirmation.png Yohann Chastagnier, 05/03/2019 03:25 PM
11_in_my_replacements.png (4.15 KB) 11_in_my_replacements.png Yohann Chastagnier, 05/03/2019 03:25 PM
12_no_common_role_message.png (4.47 KB) 12_no_common_role_message.png Yohann Chastagnier, 05/03/2019 03:37 PM
13_info_exists_substitute.png (2.55 KB) 13_info_exists_substitute.png Yohann Chastagnier, 05/03/2019 03:53 PM
14_completed_role_list.png (12 KB) 14_completed_role_list.png Yohann Chastagnier, 05/03/2019 03:58 PM
15_action_as_substitute_message.png (15.5 KB) 15_action_as_substitute_message.png Yohann Chastagnier, 05/03/2019 04:26 PM
16_process_history.png (23 KB) 16_process_history.png Yohann Chastagnier, 05/03/2019 04:34 PM

Related issues

Follows Silverpeas Core - Feature #8680: [Technique] Suppression de Castor (XML et JDO)ClosedNicolas Eysseric03/29/2017

Actions
Actions #1

Updated by Nicolas Eysseric about 6 years ago

  • Target version deleted (Version 5.15)

C'est en effet une feature importante mais elle ne peut pas être réalisée dans le cadre de la 5.15.
Il s'agit d'une évolution conséquente qu'il faut concevoir au niveau de la plate-forme et non au niveau d'une application.

Actions #2

Updated by Nicolas Eysseric over 4 years ago

  • Target version set to Version 6
Actions #3

Updated by Nicolas Eysseric over 4 years ago

  • Due date set to 03/30/2017
  • Start date changed from 09/04/2015 to 03/30/2017
  • Follows Feature #8680: [Technique] Suppression de Castor (XML et JDO) added
Actions #4

Updated by Nicolas Eysseric over 4 years ago

Voici les maquettes de cette nouvelle fonctionnalité...

Actions #5

Updated by Marc Avenel over 4 years ago

Toute documentation sur ce sujet est la bienvenue.
Merci à vous.

Actions #6

Updated by Nicolas Eysseric about 4 years ago

  • Description updated (diff)
Actions #7

Updated by Nicolas Eysseric about 4 years ago

  • Assignee set to Yohann Chastagnier
  • Target version changed from Version 6 to Version 6.1
Actions #8

Updated by Miguel Moquillon over 3 years ago

Quelques précisions sémantiques ici dans le contexte de la délégation de pouvoirs :
  • le délégant : personne qui délègue/transfert ses pouvoirs auprès d'une tierce personne, le délégataire.
  • le délégataire : personne au profit de qui est faite une délégation. Il assume les obligations et les responsabilités liées au pouvoir qui lui a été conféré.

Le délégué a un sens plus juridique : c'est une tierce personne qui s'engage pour le compte du délégant auprès du délégataire ; c'est une délégation à trois.

Actions #10

Updated by Yohann Chastagnier over 2 years ago

Une fonctionnalité de remplacement a été mise en place dans le moteur de Workflow.

Elle permet à un utilisateur d'une instance d'un workflow de pouvoir indiquer un remplaçant (ou plusieurs) sur une période donnée.
Un remplaçant remplace un remplacé sur l'ensemble des rôles qu'ils ont en commun.
Par exemple: soit l'utilisateur A avec les rôles 1 - 2 - 3 et l'utilisateur B avec les rôles 2 - 3 - 4. Si B remplace A, alors il le remplace sur les rôles 2 et 3 qu'ils ont en commun.
Le rôle superviseur n'est pas un rôle pris en charge par cette fonctionnalité, de ce fait, il n'est pas possible de remplacer un superviseur.

Un remplacement se caractérise par :
  • un remplacé, c'est à dire l'utilisateur qui peut être remplacé pour une action sur une étape d'une demande
  • un remplaçant, c'est à dire l'utilisateur qui peut réaliser une action sur une étape d'une demande à la place d'un autre utilisateur
  • une période au cours de laquelle le remplacement est actif

Gérer les remplacements

Le menu Gérer les remplacements est accessible depuis le menu QVVF de l'écran principal de la liste des demandes.

Page principale

Selon si l'utilisateur accède à cette page en tant que superviseur ou non, plus ou moins d'éléments sont présentés.

L'utilisateur est dans un rôle autre que celui de superviseur

Il ne peut gérer que ses remplaçants sur l'instance d'un workflow.

Dans l'illustration ci-dessous, il n'existe encore pas de remplacement associé à l'utilisateur.

La page se décompose en deux zones :
  • Mes remplaçants : liste des remplacements dont le remplacé est l'utilisateur courant.

    A gauche sont présentés le remplaçant et la période durant laquelle le remplacement est actif.

  • Mes remplacements : liste des remplacements dont le remplaçant est l'utilisateur courant

    A gauche sont présentés le remplacé et la période durant laquelle le remplacement est actif.

Pour chaque remplacement, les illustrations ci-dessus montrent également l'existence d'une mention qui indique quels sont les rôles, à l'instant T, que le remplaçant et le remplacé ont en commun.

L'utilisateur est dans le rôle de superviseur

Il peut gérer ses remplacements et ceux des autres sur l'instance d'un workflow.

Dans l'illustration ci-dessous, il n'existe encore pas de remplacement associé à l'utilisateur.

Une troisième zone est présentée à droite des deux autres détaillées dans le point précédent :
  • Tous les autres remplacements : liste des remplacements où ni le remplacé, ni le remplaçant, n'est l'utilisateur courant

    En gras sont présentés le remplaçant et la période durant laquelle le remplacement est actif. Entre crochet est indiqué le remplacé et enfin une mention indique quels sont les rôles, à l'instant T, que le remplaçant et le remplacé ont en commun.

Créer un remplacement

Tous les utilisateurs d'une instance d'un workflow peuvent créer un remplacement (ou plusieurs).
Le bouton ou menu Ajouter un remplacement ouvre une boîte de dialogue qui permet de renseigner les éléments suivants :
  • Remplacé : initialisé par défaut avec l'utilisateur courant. Si ce dernier est dans le rôle superviseur, il a la possibilité de changer le remplacé avec un utilisateur ayant un rôle autre que superviseur sur l'instance du workflow. Autrement, ce champ n'est pas modifiable
  • Remplaçant : non renseigné par défaut. L'utilisateur sélectionne un utilisateur ayant au moins un rôle en commun avec le remplacé
  • Date de début : initialisée par défaut avec la date du jour. Elle peut être modifiée pour être positionnée dans le passé ou dans le futur
  • Date de fin : initialisée par défaut avec la date du jour. Elle peut être modifiée pour être positionnée dans le passé ou dans le futur et doit être supérieure ou égale à la Date de début


L'illustration ci-dessus représente la boîte de dialogue de création initialisée par défaut pour un utilisateur dans un rôle autre que celui de superviseur


Test
L'illustration ci-dessus représente la boîte de dialogue de création initialisée par défaut pour un utilisateur dans le rôle superviseur


Au niveau du champ Remplaçant il y a le filtre Ayant les rôles où l'ensemble des rôles du remplacé sont listés et sélectionnés par défaut.
Les remplaçants que l'utilisateur peut sélectionner sont ceux qui ont au moins un des rôles sélectionnés.
Si l'utilisateur veut s'assurer de sélectionner un remplaçant avec un rôle en particulier, il décoche les autres rôles qui ne l'intéressent pas avant de sélectionner un remplaçant.


Dans l'illustration ci-dessus, l'utilisateur souhaite cibler des utilisateurs ayant le rôle Responsable.


Une fois le remplacé et le remplaçant renseignés, une petite mention est affichée entre le champ Remplaçant et celui de Date de début pour indiquer quels sont les rôles que le remplacé et le remplaçant ont en commun.


Dans l'illustration ci-dessus, le remplacé et le remplaçant ont en commun le rôle Responsable.


Une fois la création validée, le remplaçant reçoit une notification lui indiquant la période durant laquelle il peut remplacer un autre utilisateur.
Dans le cas où le remplacé est différent de l'utilisateur courant (cas du superviseur), le remplacé reçoit lui aussi une notification afin de lui indiquer la période pendant laquelle il peut être remplacé par un autre utilisateur.

Modifier un remplacement

Pour modifier un remplacement, il faut cliquer sur le bouton qui représente un crayon :

Que l'utilisateur ait sélectionné le rôle superviseur ou non avant d'accéder à la modification d'un remplacement, le remplacé n'est pas modifiable :

Si le remplaçant est modifié, une notification de suppression de remplacement est envoyée au remplaçant précédent et une autre de création est envoyée au nouveau.
Si seule la période est modifiée, une notification de modification de la période de remplacement est envoyée au remplaçant.
Si le remplacé est différent de l'utilisateur courant (cas du superviseur), le remplacé reçoit lui aussi une notification afin de lui indiquer que le remplacement a été mis à jour.

Supprimer un remplacement

Pour supprimer un remplacement, il faut cliquer sur le bouton croix situé à droite du remplacement (cf. point Modifier un remplacement pour l'illustration du bouton). Il n'existe aucun traitement en charge de supprimer automatiquement des données liées aux remplacements.

Une confirmation est demandée à l'utilisateur avant que la suppression soit effective :

Changement de rôle d'un utilisateur

Les rôles des utilisateurs peuvent évoluer dans le temps.
Les rôles que le remplacé et le remplaçant ont en commun sont toujours calculés à l'instant T.
Après évolution des rôles des utilisateurs, il peut exister un remplacement pour lequel il n'existe plus de rôle en commun entre le remplacé et le remplaçant. Dans un tel cas, une mention en rouge est présentée au niveau du remplacement pour alerter l'utilisateur :

Les remplacements dans le workflow

Un remplacement est dit actif si :
  • la date et heure à l'instant T sont incluses dans la période du remplacement
  • le remplacé et le remplaçant ont tous les deux le rôle requis à l'instant T pour effectuer une action sur une demande

Un remplaçant est dit actif s'il est renseigné pour un remplacement actif.

Liste principale des demandes

Lorsqu'il existe un utilisateur qui peut ou pourra à l'instant T remplacer l'utilisateur courant dans les actions sur les étapes d'une demande, un message dans un encadré en jaune est présenté en haut de l'écran pour l'en informer :

Lorsque l'utilisateur courant peut remplacer un autre utilisateur (ou plusieurs autres) à l'instant T, la liste des rôles que peut endosser l'utilisateur courant est complétée comme illustré ci-dessous :

Ici, l'utilisateur courant et Aurore ont en commun les rôles Demandeur et Responsable à l'instant T. Il peut alors sélectionner un des rôles "en remplacement de Aurore" pour réaliser une action (valider par exemple) sur les étapes des demandes pour lesquelles Aurore est en charge.

Action sur une demande

Lorsqu'un remplaçant actif accède à une demande sur laquelle il peut réaliser une action pour un autre utilisateur, le contexte dans lequel il peut réaliser cette action est indiqué en haut de l'écran dans un encadré gris :

Historique d'une demande

Pour chaque action sur une demande, si c'est un remplaçant qui l'a réalisée ce dernier est indiqué comme illustré ci-dessous :

Les notifications

Lorsqu'une notification est envoyée à un utilisateur en charge de réaliser une action sur une étape d'une demande, la notification est également envoyée à chacun des remplaçants actifs à l'instant T de l'action.
Pour chacun des remplaçants actifs, le contenu de la notification est complété avec la mention : Vous recevez ce message car vous remplacez [remplacé].

Un remplaçant peut accéder directement à la demande d'une instance d'un workflow depuis la notification. Si le remplacement n'est plus actif, il est alors redirigé vers la liste principale des demandes où un message d'avertissement lui est présenté : Votre remplacement pour le compte de [remplacé] n'est plus valide

PRs

Actions #11

Updated by Yohann Chastagnier over 2 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF