Procédure pas à pas : importation d'un flux de travail réutilisable de SharePoint Designer dans Visual Studio
Cette procédure pas à pas montre comment importer un flux de travail réutilisable créé avec SharePoint Designer 2010 dans un projet de flux de travail SharePoint Visual Studio.
Les flux de travail créés sous SharePoint Designer (ou les flux de travail déclaratifs) se composent d'instructions XML au lieu de code.Les flux de travail réutilisables, nouveauté de SharePoint Designer 2010, sont des flux de travail déclaratifs portables prévus pour être utilisés par différentes listes sur les sites SharePoint.
Les flux de travail créés dans Visual Studio 2012, tel que séquentiels et les flux de travail de machine à états, sont appelés flux de travail de code.Ce type de flux de travail est constitué de fichiers XML et de modules de code dans lesquels les utilisateurs peuvent personnaliser le comportement du flux de travail.
Visual Studio vous permet d'importer des flux de travail réutilisables créés dans SharePoint designer 2010 et les convertir au code de flux de travail pour une utilisation dans vos sites sharepoint.
Cette procédure pas à pas présente les tâches suivantes :
Création d'un flux de travail réutilisable simple dans SharePoint Designer.
Exportation du flux de travail réutilisable SharePoint Designer dans un fichier .wsp et dans SharePoint.
Importation du fichier .wsp dans Visual Studio au moyen du projet Importer le flux de travail réutilisable.
Modification du flux de travail en y ajoutant du code.
Utilisation du flux de travail importé dans un site SharePoint.
[!REMARQUE]
Il est possible que votre ordinateur affiche des noms ou des emplacements différents pour certains des éléments d'interface utilisateur de Visual Studio dans les instructions suivantes. L'édition de Visual Studio dont vous disposez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d'informations, consultez Paramètres Visual Studio.
Composants requis
Pour exécuter cette procédure pas à pas, vous devez disposer des composants suivants :
Éditions de Microsoft Windows et de SharePoint prises en charge.Pour plus d'informations, consultez Configuration requise pour développer des solutions SharePoint.
Visual Studio.
Microsoft Office SharePoint Designer 2010.
Création de sous-sites SharePoint cibles
Commencez par créer deux nouveaux sous-sites SharePoint : un pour héberger les flux de travail réutilisables à partir de SharePoint Designer, un autre pour héberger les flux de travail convertis.
Pour créer des sous-sites SharePoint
Dans SharePoint designer 2010, dans le menu, choisissez Fichier, Nouveau site Web vide.
Dans la boîte de dialogue Nouveau site Web vide, recherchez un site SharePoint où vous souhaitez créer le flux de travail, ou utilisez la valeur http://SystemName/puis choisissez le bouton OK .
La page d'accueil s'affiche.
Dans la section Sous-sites, choisissez le bouton Nouveau .
Dans la boîte de dialogue Nouveau, choisissez Modèles SharePoint de la liste dans le volet gauche, puis choisissez Site d’équipe de la liste dans le volet droit.
Dans la zone Spécifiez l'emplacement du site Web, remplacez le mot Sous-site dans l'URL par SPD1, puis choisissez le bouton OK .
Cela a pour effet d'ouvrir le nouveau sous-site dans SharePoint Designer.Fermez cette instance de SharePoint Designer et revenez à la première instance (site de niveau supérieur).
Répétez les étapes 3 à 5 pour créer le deuxième sous-site, en remplaçant cette fois le mot sous-site dans l'URL par SPD2.
Création d'un flux de travail réutilisable SharePoint Designer
Comme SharePoint n'offre aucun flux de travail réutilisable adapté à cet exemple, vous allez en créer un.Le principe de ce flux de travail est simple : assigner une tâche à l'utilisateur dès que celui-ci entrera une nouvelle tâche portant un titre précis dans la liste des tâches.
Pour créer un flux de travail réutilisable SharePoint Designer
Dans la section Sous-sites, choisissez le site SPD1 pour le modifier.
Dans le ruban, cliquez sur le bouton Flux de travail réutilisable .
Cela a pour effet d'ouvrir l'Assistant Flux de travail réutilisable.
Dans la zone Nom, entrez le flux de travail des tâches SPD.
Dans la liste Type de contenu, choisissez Tâche, puis choisissez le bouton OK .
Le flux de travail s'ouvre dans le Concepteur de flux de travail SharePoint Designer.
Dans le Workflow Designer, choisissez l'étape 1, puis, dans le ruban, cliquez sur le bouton Condition .
Dans la liste de conditions, choisissez Si le champ de l’élément actif est égal à la valeur.
Cette étape ajoute une condition nommée Si la valeur d'égalité de champ.
Dans l'état Si la valeur d'égalité de champ, cliquez sur le lien champ .
Dans la liste de valeurs, choisissez Titre.
Dans l'état Si la valeur d'égalité de champ, cliquez sur le lien valeur .
Dans la zone, entrez Nouvelle tâche.
L'énoncé de la condition est désormais Si Élément actif:Titre est égal à Nouvelle tâche.
Sélectionnez la ligne sous l'instruction de condition, puis, dans le ruban, cliquez sur le bouton Action .
Dans la liste d'actions, choisissez Définir le champ dans l'élément actif.
Dans l'action Définissez le champ à la valeur, cliquez sur le lien champ, puis, dans la liste, sélectionnez Assigné à.
Dans l'action Définissez le champ à la valeur, cliquez sur le lien valeur, puis, dans la liste des utilisateurs et des groupes existants, choisissez L'utilisateur qui a créé l'élément.
Choisissez le bouton Ajouter, puis choisissez le bouton OK .
L'instruction d'action correspondant maintenant à : Définir Assigné à à Élément actif:CreatedBy.
Enregistrement et déploiement du flux de travail réutilisable
Étant donné que Visual Studio permet uniquement d'importer des fichiers .wsp, vous devez enregistrer le flux de travail réutilisable sous la forme d'un fichier .wsp et le déployer dans SharePoint avant de l'importer dans Visual Studio.
Important
Si une erreur d'exécution s'affiche au cours de la procédure suivante, cela signifie que vous devez exécuter la procédure sur un système ayant accès au site SharePoint.
Pour enregistrer et déployer le flux de travail réutilisable
En haut de SharePoint designer, choisissez le bouton Enregistrer pour enregistrer votre progression, puis choisissez le bouton Publier pour déployer le flux de travail au site SharePoint SPD1 .
Dans le volet de navigation, choisissez l'objet de Flux de travail .
Sous Flux de travail réutilisable, choisissez Flux de travail des tâches SPD.
Dans le ruban, cliquez sur le bouton Enregistrer comme modèle pour enregistrer le flux de travail comme un fichier .wsp.
Ouvrez le site SharePoint SPD1 dans un navigateur pour afficher le fichier .wsp dans SharePoint.
Dans la barre de lancement rapide, cliquez sur le lien Bibliothèques .
Dans la section Bibliothèques de documents, cliquez sur le lien Éléments de site .
Le fichier Flux de travail des tâches SPD apparaît avec d'autres éléments de site.
Dans la liste des fichiers, choisissez le nom de ce fichier
Dans la boîte de dialogue Téléchargement de fichiers, choisissez le bouton Enregistrer pour enregistrer le fichier .wsp sur votre système local.
Importation du fichier .wsp dans Visual Studio
Importez le fichier .wsp dans Visual Studio en utilisant un projet Importer le flux de travail réutilisable.Ce projet a pour fonction de convertir le flux de travail d'un flux de travail réutilisable déclaratif en un flux de travail avec code.Une fois la conversion réalisée, vous utiliserez le code pour modifier son comportement.
Pour importer un flux de travail à partir d'un fichier .wsp et le modifier
Dans Visual Studio, dans la barre de menus, sélectionnez Fichier, Nouveau, Projet.
Dans la boîte de dialogue Nouveau projet, développez le nœud SharePoint sous Visual C# ou Visual Basic, puis sélectionnez le nœud 2010 .
Dans le volet de Modèles, choisissez le modèle Importer le flux de travail SharePoint 2010 réutilisable, conservez le nom du projet comme WorkflowImportProject1, puis choisissez le bouton OK .
L'Assistant Personnalisation de SharePoint s'affiche.
Dans la page Spécifier le site et le niveau de sécurité pour le débogage, entrez le URL du deuxième sous-site SharePoint que vous avez créé précédemment : http://nom du système/SPD2.
Dans la section Quel est le niveau de confiance de cette solution SharePoint ?, sélectionnez la case d'option Déployer en tant que solution de batterie, puis choisissez le bouton Suivant .
Pour plus d'informations sur les différences entre les solutions bac à sable (sandbox) et les solutions de batterie, consultez Considérations sur les solutions bac à sable (sandbox).
Dans la page Spécifier la nouvelle source de projet, recherchez l'emplacement du système où vous avez déjà enregistré le fichier .wsp, ouvrez le fichier, puis choisissez le bouton Suivant .
[!REMARQUE]
Choisissez le bouton Terminer pour importer tous les éléments disponibles dans le fichier .wsp.
Cette opération affiche la liste des flux de travail réutilisables disponibles pour l'importation.
Dans la zone Sélectionner les éléments à importer, choisissez le flux de travail Flux de travail des tâches SPD, puis choisissez le bouton Terminer .
Une fois l'opération d'importation terminée, un nouveau projet appelé WorkflowImportProject1 dans lequel figure un flux de travail nommé SPD_Workflow_TestFT est alors créé.Ce dossier contient le fichier de définition du flux de travail (Elements.xml) et le fichier du Concepteur de flux de travail (.xoml).Le concepteur contient deux fichiers : le fichier de règles (.rules) et le fichier code-behind (.cs ou .vb, selon le langage de programmation de votre projet).
Dans Explorateur de solutions, supprimez le dossier D'autres fichiers importés .
Dans le fichier Elements.xml, supprimez InstantiationURL="_layouts/IniErkflIP.sspx".
Dans Explorateur de solutions, choisissez WorkflowImportProject1, puis, dans le menu, choisissez Projet, Définir comme projet de démarrage pour définir WorkflowImportProject1 en tant qu'élément de démarrage.
Cette opération affiche immédiatement la liste lorsque vous déboguez le projet.
Étant donné que le modèle Importer le flux de travail SharePoint 2010 réutilisable n'importe pas les valeurs de propriété d'association du flux de travail importé, vous devez les entrer.Pour cela :
Dans Explorateur de solutions, sélectionnez le nœud SPD_Workflow_TestFT .
Choisissez le bouton de sélection () en regard d'une des propriétés de liste, telles que la propriété Liste cible .
Remplissez les valeurs manquantes dans l'Assistant personnalisation de SharePoint, puis choisissez le bouton Terminer .
Sélectionnez le fichier .xoml de, puis, dans la barre de menus, sélectionnez Afficher, Concepteur pour afficher le flux de travail importé dans le concepteur de flux de travail.
Dans le nœud Windows Workflow v3.0Boîte à outils, effectuez l'une des étapes suivantes :
Ouvrez le menu contextuel pour l'activité Code, puis choisissez Copier.Dans le Workflow Designer, ouvrez le menu contextuel pour la ligne dans l'activité SequenceActivity1, puis choisissez Coller.
Faites glisser l'activité CodeBoîte à outils au concepteur de flux de travail, et connectez -la à la ligne sous l'activité SequenceActivity1 .
Vous venez d'ajouter une activité nommée CodeActivity1 dans le Concepteur de flux de travail.Vous allez maintenant y ajouter une action de code destinée à créer une annonce dans la liste Annonces au lancement du flux de travail par l'utilisateur.
Effectuez l'un des ensembles d'étapes suivants :
Double-cliquez sur CodeActivity1 pour générer un gestionnaire d'événements et consulter le code.
Dans la fenêtre Propriétés pour CodeActivity1, affectez à la propriété ExecuteCode à codeActivity_ExecuteCode.
Ajoutez ce qui suit sous les instructions using ou Imports existantes :
Imports Microsoft.SharePoint Imports System
using Microsoft.SharePoint; using System;
Remplacez codeActivity1_ExecuteCode par ce qui suit :
Private Sub codeActivity1_ExecuteCode(ByVal sender As System.Object, ByVal e As System.EventArgs) Try ' Get reference to SharePoint site. Dim site As SPSite = New SPSite("http://MyServer") Dim web As SPWeb = site.OpenWeb("SPD2/") ' Get reference to Announcements list. Dim announcementsList As SPList = web.Lists("Announcements") ' Add announcement to Announcements list for the Task. Dim oListItem As SPListItem = announcementsList.Items.Add oListItem("Title") = ("Assigned task on " + DateTime.Now.ToString) oListItem.Update() Catch err As Exception Console.WriteLine(("Error: " + err.ToString)) End Try End Sub
private void codeActivity1_ExecuteCode(object sender, System.EventArgs e) { try { // Get reference to SharePoint site. SPSite site = new SPSite("http://MyServer"); SPWeb web = site.OpenWeb("SPD2/"); // Get reference to Announcements list. SPList announcementsList = web.Lists["Announcements"]; // Add announcement to Announcements list for the Task. SPListItem oListItem = announcementsList.Items.Add(); oListItem["Title"] = "Assigned task on " + DateTime.Now.ToString(); oListItem.Update(); } catch (Exception err) { Console.WriteLine("Error: " + err.ToString()); } }
Déploiement du projet et association du flux de travail
Exécutez WorkflowImportProject1 pour le déployer sur un site SharePoint, puis associez le flux de travail à la liste des tâches afin d'afficher et de tester le flux de travail modifié après conversion.
Pour déployer le projet et associer le flux de travail
Dans Visual Studio, choisissez la touche F5 pour exécuter et déployer le projet de flux de travail converti.
Dans la barre de lancement rapide, cliquez sur le lien Tâches pour afficher la liste des tâches.
Sous l'onglet de Outils de liste, choisissez le bouton Éléments, puis choisissez le bouton Nouvel élément .
La boîte de dialogue Tâches - nouvel élément s'ouvre.
Dans la zone Titre, entrez la nouvelle tâche, puis choisissez le bouton Enregistrer .
Sous l'onglet de Outils de liste, choisissez le bouton Liste, puis choisissez le bouton Paramètres de la liste .
La page Paramètres de la liste s'affiche.
Dans la section Autorisations et gestion, cliquez sur le lien Paramètres du flux de travail .
La page Paramètres du flux de travail s'affiche.
Sélectionnez le lien Ajouter un flux de travail .
Dans la liste Flux de travail, choisissez WorkflowImportProject1 - test de flux de travail SPD.
Dans la zone Nom, entrez test de flux de travail SPD, puis choisissez le bouton OK .
Dans la barre de lancement rapide, cliquez sur la liste Tâches .
Cliquez sur la flèche en regard de Nouvelle tâche, puis, dans la liste, sélectionnez Flux de travail.
Dans la section Démarrer un nouveau flux de travail, cliquez sur le lien pour Test du flux de travail SPD, puis choisissez le bouton Démarrer pour initialiser le flux de travail.
[!REMARQUE]
Il est possible sinon d'associer automatiquement un flux de travail à une liste en exécutant l'Assistant de paramétrage du flux de travail et en configurant le flux de travail à cet effet.
Deux actions sont exécutées par le flux de travail : votre nom apparaît dans la colonne Assigné à de la tâche et une annonce s'affiche dans la liste Annonces.
Voir aussi
Concepts
Importation d'éléments d'un site SharePoint existant
Autres ressources
Développement de solutions SharePoint
Création de contrôles réutilisables pour les composants WebPart ou les pages d'application