Article d’origine publié le jeudi 22 novembre 2012

Photo de JongHwalBonjour, je suis JongHwa Lim, responsable de programme au sein de l’équipe SharePoint Designer.
Aujourd’hui, je vais vous montrer un exemple de flux de travail dont une démonstration a été présentée à la conférence SharePoint 2012 (ou SPC 2012). Je vais également le modifier et l’étendre afin de le rendre plus réaliste dans ce billet de blog. Cet article de blog contient des conseils que vous pouvez utiliser lors de la création d’un flux de travail avec SharePoint Designer 2013 (ou SPD 2013). Lors de l’explication détaillée, je supposerai que vous connaissez bien le flux de travail de type SharePoint Designer 2013 et SharePoint 2013. Si tel n’est pas le cas, veillez à lire les précédents articles de blog pour découvrir les flux de travail SharePoint 2013.

Un flux de travail pour une société d’activités de loisirs

Supposons qu’une société de loisirs appelée « Contoso Leisure » propose des activités de loisirs telles que l’équitation, la pêche, le tir au pigeon, le parapente et le parachutisme.

image

Et supposons que nous ayons besoin d’un flux de travail d’approbation qui effectue les opérations suivantes.

  • Demander une approbation du groupe SharePoint Coordinateurs d’événements
  • En cas de refus, envoyer au client un message électronique indiquant le rejet de la demande
  • En cas d’approbation, envoyer, 5 jours avant l’événement/le cours, un message électronique de rappel concernant l’événement
    • Le message électronique de rappel contient des informations sur l’événement, telles que des informations météorologiques et un plan d’accès 

Dans cet exemple de flux de travail, nous utiliserons deux services web, mais un seul sera géré par l’action « Appeler le service web HTTP » disponible dans SPD. L’autre service web sera référencé dans une variable String et placé dans le corps du message électronique avec une balise <IMG>. Pour plus d’informations, vous pouvez consulter la page de l’API Bing Map. (http://www.microsoft.com/maps/developers/web.aspx)

Si vous créez vous-même le flux de travail, le flux de travail suivant sera créé.

image

image

image

Notez que l’étape « Get Weather Info » (Obtenir les informations météorologiques) a une action « Appeler le service web HTTP ». Si vous cliquez sur le premier paramètre, vous verrez que l’URL suivante est utilisée, où la clé de service web est stockée dans une liste distincte appelée « Web Service Keys » (Clés de service web). Pour obtenir une description et des informations sur l’utilisation des actions « Service web », « Obtenir l’élément du dictionnaire » et « Conteneur de boucle », je vous renvoie à un précédent billet de blog rédigé par HyongGuk Kim. (http://blogs.technet.com/b/office_fr/archive/2012/10/11/utilisation-d-un-service-web-avec-l-action-171-appeler-le-service-web-http-187.aspx) 

image

Si vous cliquez sur l’action « Définir la variable de flux de travail » à l’étape « Send Reminder Email » (Envoyer un message électronique de rappel », la liste « Web Service Keys » (Clés de service web) vous sera également utile pour stocker la clé ou le jeton de service web.

image

Rendons ce flux de travail plus réaliste

En situation réelle, il peut être nécessaire de gérer les clés de service web de manière sécurisée. Pour ce faire, nous devons les sécuriser en les stockant dans une liste accessible uniquement aux personnes disposant du privilège Contrôle total. Mais dans le cas présent, l’accès de la logique du flux de travail normale aux clés de service web échouerait, car elle s’exécute sous l’autorisation de l’initiateur du flux de travail et (AND logique) sous l’autorisation Application de flux de travail. Par conséquent, si l’initiateur du flux de travail ne dispose pas de l’autorisation d’accès à la liste contenant les clés de service web, le flux de travail échouera. Pour que la logique du flux de travail s’exécute uniquement sous l’autorisation Application de flux de travail qui correspond à la lecture/écriture sur toutes les listes de sites, nous devons utiliser une l’étape de l’application (App Step).

Étape 1. Rendre la liste sécurisée à l’aide d’une autorisation indépendante

Comme nous l’avons déjà expliqué, nous devons rendre la liste contenant les clés de service web accessible uniquement aux utilisateurs disposant de l’autorisation Contrôle total. Pour ce faire, nous devons arrêter l’héritage et supprimer les utilisateurs inutiles de la liste.

Disons que la liste est la liste « Clés de service web ». Si vous accédez à la page Paramètres de la liste et Autorisations de cette liste, vous disposerez du menu permettant d’arrêter l’héritage.

image

Une fois l’héritage annulé, vous pouvez choisir les utilisateurs ne disposant pas d’un Contrôle total ci-dessous, puis cliquer sur le bouton Supprimer les autorisations des utilisateurs.

image

La liste contiendra alors uniquement des utilisateurs disposant d’un Contrôle total.

image

Étape 2. Activer la fonctionnalité Étape de l’application

Pour utiliser les étapes de l’application, vous devez activer la fonctionnalité de site Les flux de travail peuvent utiliser les autorisations d’applications dans Paramètres du site->Gérer les fonctionnalités du site, comme ci-dessous.

image

Le bouton Étape de l’application de SPD sera alors activé.

image

Étape 3. Ajouter une étape de l’application et y déplacer la logique

Vous devez trouver les parties de logique qui font référence à la liste « Clés de service web », puis les inclure dans un conteneur d’étapes de l’application. Nous avons deux parties de logique que nous devons placer dans une étape de l’application : l’action Appeler le service web HTTP et l’action Définir la variable RouteMap. Elles sont illustrées dans les figures ci-dessous :   

image

image

Étape 4. Publier votre flux de travail

Lorsque vous publiez votre flux de travail, la boîte de dialogue suivante s’affiche pour expliquer le comportement.

image

J’espère que cet article vous a été utile et qu’il vous a appris comment utiliser les étapes de l’application de manière appropriée. À bientôt dans un prochain article.

Ce billet de blog a été traduit de l’anglais. La version originale est disponible à la page How to Create a SharePoint Designer 2013 Workflow with App Step (extension from the example workflow used for SPC 2012)