Les flux de travail
Concept
L’ensemble des fonctionnalités proposées par SharePoint semble suffisant pour la collaboration dans l’entreprise. Mais chaque société possède ses propres processus de travail et parfois le fait de disposer d’un outil de partage de documents ou d’informations ne suffit pas. Il faut que l’information suive un flux d’une personne à une autre avec des étapes de vérification, de validation, d’approbation... Ces processus peuvent être formalisés dans des flux de travail (appelés workflow en anglais).
Un flux de travail est un ensemble d’étapes de traitement de l’information dans le but de réaliser une tâche. C’est une procédure mettant en œuvre une chaîne de plusieurs personnes.
SharePoint permet d’affecter un flux de travail à toute bibliothèque de documents, liste, à un type de contenu et même à un site. Prenons l’exemple de l’enregistrement des non-conformités dans le cadre de la démarche qualité.
Une liste SharePoint existe dans notre portail permettant à un utilisateur d’enregistrer une non-conformité. Le flux de travail associé pourrait être le suivant : à l’ajout d’un nouvel élément de la liste, un message d’avertissement est envoyé au responsable...
Les types de flux de travail
Il existe trois types de flux dans SharePoint 2013. Tous ont en commun deux principes. Un flux est déclenché par un événement qui sera l’ajout ou la modification d’un élément d’une liste ou d’une bibliothèque. Un flux est une suite d’actions qui peuvent éventuellement être regroupées dans des étapes. Il peut y avoir des temps d’arrêt entre les actions. Chaque action peut être soumise à une ou plusieurs conditions. Voici les différents types de flux de travail disponibles :
-
Flux de travail de liste : historiquement, c’est le seul flux existant dans les versions antérieures du produit. C’est un flux associé à une liste ou une bibliothèque et non réutilisable (si deux objets de site doivent avoir le même flux, il faut en créer un second identique) ;
-
Flux de travail de site : c’est un flux associé à un site et non à un objet du site ;
-
Flux de travail réutilisable : c’est un flux associé à un type de contenu. Un type de contenu pouvant être affecté à tout objet d’un site, le flux sera une caractéristique du type de contenu et pourra donc être réutilisé à volonté.
Le flux de travail réutilisable comporte de nombreux avantages....
Scénario
Notre base de travail sera un flux de liste pour la gestion des congés. Une liste SharePoint a été créée dans la partie Ressources Humaines du portail. Les utilisateurs de l’entreprise doivent disposer au minimum du droit Ajouter des éléments sur cette liste (cf. chapitre Gestion de la sécurité). À la création d’une nouvelle demande de congés, un message sera envoyé au responsable RH et une tâche sera créée, liée à l’élément de liste nouvellement créé. Le responsable RH donne son avis par approbation ou rejet de la demande. Il devra se connecter au site et compléter cette tâche en remplissant :
-
La décision dans une liste de deux choix (approuvé ou rejeté) ;
-
Un commentaire.
Une fois cette tâche terminée, un message sera renvoyé à l’émetteur de la demande avec la décision du responsable. Ceci est le flux de travail principal. Un flux secondaire sera aussi créé pour relancer le responsable au bout de trois jours s’il n’a pas accompli la tâche d’approbation.
Création du flux principal
Avant tout, téléchargez et installez SharePoint Designer 2013. Puis ouvrez le site sur lequel le flux de travail doit être créé via la commande Site puis Ouvrir le site du menu FICHIER (saisissez l’URL du sous-site, comme par exemple http://srvsps/rh).
Une fois le site ouvert, sélectionnez le conteneur Flux de travail dans la barre de navigation de l’application à gauche. Puis dans le ruban utilisez le bouton Flux de travail de liste et sélectionnez la liste Congés pour lui affecter le flux.
D’abord il faut donner un nom et une description au flux. Le seul type de plate-forme disponible sans avoir installé le Workflow Manager est Flux de travail SharePoint 2010. Ce flux est lié à la liste SharePoint Congés et doit démarrer automatiquement dès qu’un utilisateur crée un élément dans cette liste. Utilisez le bouton Paramètres du flux de travail pour définir l’événement déclencheur.
Cochez la case Démarrer automatiquement le flux de travail lorsqu’un élément est créé puis cliquez sur le bouton Enregistrer. Utilisez ensuite le bouton Modifier le flux de travail pour passer à la création du contenu du flux. Notez qu’une liste de tâches standard va être créée par le flux pour stocker les approbations à réaliser sous forme d’élément de liste.
Il faut ensuite créer les étapes du flux. La première étape est d’envoyer un courrier électronique au responsable RH pour lui signifier la création d’une demande.
Le flux peut être divisé en plusieurs étapes grâce au bouton Étape. L’interface affiche les actions grâce au bouton Action du ruban FLUX DE TRAVAIL. Dans chaque étape, il faut choisir d’exécuter une ou plusieurs actions. Le bouton Action permet de les lister. Le bouton Condition permet de soumettre une action à une condition et de créer des arbres de décision (l’équivalent d’un SI...ALORS...SINON).
Sélectionnez le bouton Action du ruban FLUX DE TRAVAIL.
Choisissez l’action Envoyer un courrier électronique...
Autorisations sur la liste Tâches
Avant de tester le flux, il faut accorder les autorisations adéquates à la personne en charge d’approuver les demandes. Ce compte utilisateur doit avoir au minimum le droit de modifier les éléments de la liste de tâches. Pour une approche plus détaillée des autorisations, voir le chapitre Gestion de la sécurité.
Sélectionnez la liste Tâches créée par le flux.
Cliquez sur le bouton Paramètre de liste du ruban LISTE.
Cliquez sur le lien Autorisations pour le composant liste.
Cliquez sur le bouton Arrêter l’héritage des autorisations et confirmez.
Cliquez sur le bouton Accorder des autorisations.
Dans la liste Inviter des personnes, saisissez le login du responsable.
Accordez au minimum le niveau d’autorisations Collaboration.
Décochez la case Envoyer une invitation électronique.
Vérification du fonctionnement du flux
Connectez-vous au portail et au sous-site Ressources Humaines avec un compte d’utilisateur du domaine et créez un nouvel élément dans la liste Congés.
Connectez-vous à la boîte aux lettres du compte du responsable RH pour vérifier qu’il a bien reçu le message d’avertissement.
Connectez-vous à l’intranet avec le compte du responsable RH pour accéder à la tâche de traitement. Allez dans le sous-site Ressources Humaines et ouvrez la liste Tâches.
Repérez l’élément de liste à traiter grâce à la colonne Contenu associé.
Déroulez le menu contextuel de l’élément et choisissez Modifier l’élément.
Effectuez les choix nécessaires dans le champ Approbation et saisissez les éventuels Commentaires.
Cliquez sur le bouton Effectuer des tâches pour compléter cette étape du flux.
La tâche créée comporte les deux variables définies dans notre flux à l’étape Collecter les données de cet utilisateur. Après exécution de cette étape, le message part à l’émetteur. La tâche est marquée comme Terminé dans la liste SharePoint correspondante.
Cet exemple de l’utilisation...
Problématique du contexte d’exécution du flux de travail
Un flux de travail est déclenché par un événement sur une liste, que ce soit un ajout d’élément ou la modification d’un élément existant. Par défaut, le contexte d’exécution du flux prendra l’identité de l’utilisateur ayant ajouté ou modifié cet élément déclencheur. Dans notre exemple, si cet utilisateur n’a pas au moins une autorisation d’accès en lecture à la liste de tâches créée par le flux, ce dernier s’arrêtera.
Par défaut cependant, aucune action n’est requise par l’administrateur. En effet, à l’installation du produit des groupes SharePoint de sécurité sont créés. Parmi ces entités, le groupe Visiteurs dispose d’un accès en lecture à l’ensemble du contenu de la collection de sites. Et par défaut, le groupe Active Directory Utilisateurs du domaine est inclus dans ce groupe SharePoint.
La philosophie du produit est de proposer du contenu accessible au minimum en lecture à tous les utilisateurs de l’entreprise, d’où cette configuration par défaut. L’administrateur est ensuite libre d’appliquer son propre modèle de sécurité. ...
Création du flux secondaire
Le second flux devra vérifier le flux principal et servira à envoyer un rappel au responsable RH au bout de trois jours s’il n’a pas complété la tâche d’approbation de la demande. Les actions qu’il réalise sont les suivantes :
-
Vérifier le nom du flux de travail d’origine ;
-
S’appliquer sur la liste Tâches (et non sur la liste d’origine Congés) ;
-
Vérifier les informations pour décider s’il doit s’exécuter (délai de trois jours depuis la création de la tâche d’approbation) ou attendre ;
-
Envoyer éventuellement un message de rappel au responsable RH si l’échéance est passée.
La première action est la vérification du flux de travail principal :
Utilisez le bouton Condition puis Si le champ de l’élément actif est égal à la valeur.
Sélectionnez le lien champ et la valeur Nom de flux de travail.
Sélectionnez l’opérateur de comparaison est différent de.
Saisissez le nom du flux de travail principal DemandeConges.
Ajoutez une action pour signifier l’arrêt du flux en cas de condition vérifiée : sélectionnez le bouton Action puis Arrêter le flux de travail et consigner.
Saisissez un court message de consignation...
Administration des flux de travail
Pour vérifier quelle version d’un flux et combien d’instances sont éventuellement en cours, sélectionnez un objet de site puis utilisez le bouton Paramètres du flux de travail du ruban LISTE ou BIBLIOTHÈQUE.
-
Chaque modification dans SharePoint Designer entraîne la création d’une version du flux.
-
La zone Flux de travail permet de voir combien d’instances sont en cours.
-
Le lien Supprimer, bloquer ou restaurer un flux de travail est utile pour empêcher de nouvelles exécutions d’une ancienne version du flux ou pour supprimer une des versions.
Personnalisation du ruban : nouvelle étape rapide
Dans certains cas, le flux de travail doit être déclenché manuellement et non à l’ajout ou à la modification d’un élément d’une liste ou d’un fichier d’une bibliothèque. Pour ce faire, il existe deux possibilités :
-
Dérouler le menu contextuel de l’élément et choisir la commande Flux de travail. Sélectionner le nom du flux et sur la page suivante, cliquer sur le bouton Démarrer ;
-
Créer le flux en lui affectant un bouton personnalisé dans le ruban ÉLÉMENTS de la liste.
Le principe est d’utiliser la commande Nouvelle étape rapide du bouton Personnaliser la liste du ruban LISTE. SharePoint Designer est alors démarré avec une fenêtre de création de flux :
Sélectionnez l’option Démarrer un flux de travail existant et choisissez le flux à déclencher dans la liste déroulante.
Saisissez le nom qui apparaîtra sur le bouton.
Sélectionnez une image pour le bouton.
Cliquez sur OK pour le chargement du concepteur de flux.
À la différence d’un flux créé à partir des commandes de l’interface de SharePoint Designer, vous ne pourrez pas modifier les propriétés de ce nouveau flux et son type...
Installation de Azure Workflow Server
Pour avoir accès au flux de travail de type SharePoint 2013 qui s’exécute au sein du composant Windows Azure Workflow, nous allons installer la version Server sur une machine membre du domaine. Vous pouvez télécharger l’installeur à l’adresse suivante : https://www.microsoft.com/fr-FR/download/details.aspx?id=35375
Ce produit fonctionne sur le même principe qu’Office Online Server 2016 (anciennement Office Web Apps Server). Il s’installe sur un ou plusieurs serveurs dans une ferme dédiée qui est ensuite connectée à la ferme SharePoint. Il faut installer au préalable une instance de SQL Server 2012 sur la première machine qui accueillera le Workflow Manager.
L’assistant va installer les composants prérequis. Le serveur a besoin d’une connexion Internet pour télécharger ces composants. À la fin de cette phase, cliquez sur le bouton Continuer pour lancer la fenêtre de l’assistant de configuration du Workflow Manager. Vous devriez également voir la fenêtre de confirmation d’installation que vous pouvez fermer :
Sélectionnez l’option Configurer Workflow Manager avec des paramètres par défaut.
Saisissez le nom du serveur SQL (et éventuellement celui de l’instance nommée) et cliquez sur le bouton...
Conclusion
Les flux de travail sont les équivalents numériques des procédures (informelles ou écrites) d’une entreprise. Ils sont affectés à une liste, une bibliothèque ou même à un site, pour rendre entièrement numériques des échanges qui pouvaient être auparavant uniquement basés sur des éléments papier. Le flux de travail a cette faculté de décomposer via l’outil informatique, les étapes et les actions nécessaires pour suivre les procédures dans de nombreux scénarios. Il permet de formaliser et de rendre plus fluide une chaîne de travail entre plusieurs collaborateurs. Cela permet aux responsables de décomposer clairement l’ensemble des tâches, de les affecter à des personnes bien identifiées et même de soulever et de résoudre des problèmes comme des goulots d’étranglement au sein des services de l’entreprise. Nous avons exclusivement utilisé dans ce chapitre un concepteur graphique ne nécessitant aucune ligne de code : SharePoint Designer mais rappelons que les outils de développement de la suite Visual Studio sont bien plus puissants mais nécessitent des compétences de développeur.