Présentation de l environnement de développement SharePoint Atelier pratique Manuel de l atelier SPCHOL305 - Développement d un flux de travail SharePoint 2010 avec un formulaire d initiation dans Visual Studio 2010 C#
Ce document est fourni en l état. Les informations et les vues contenues dans ce document, y compris les URL et autres références de site Web Internet, sont susceptibles d être modifiées sans préavis. Vous les utilisez à vos risques. Ce document ne vous confère aucun droit sur la propriété intellectuelle contenue dans quelque produit Microsoft que ce soit. Vous pouvez copier ou utiliser ce document pour vos propres besoins de référence internes. 2010 Microsoft. Tous droits réservés.
Sommaire SPCHOL 305 DEVELOPPEMENT D UN FLUX DE TRAVAIL SHAREPOINT 2010 AVEC UN FORMULAIRE D INITIATION... 2 Objectif de l atelier... 2 Ressources supplémentaires... 2 Mise en route... 2 Connexion à l ordinateur virtuel... 2 Emplacements... 2 Préparation de l atelier... 3 Copie des exemples de code à partir du document Word... 3 Extraits de code... 4 Exercice 1... 5 Tâche 1 : créer et préparer le projet... 5 Tâche 2 : créer une activité de flux de travail qui sera utilisée par le flux de travail réutilisable... 6 Tâche 3 : ajouter du code pour créer une bibliothèque de documents sur la base des paramètres passés à votre activité... 9 Tâche 4 : configurer l activité en vue du déploiement... 11 Tâche 5 : ajouter l activité SPDActivityDemo à déployer avec SPCHOL305Ex1... 15 Tâche 6 : configurer une fonctionnalité à l aide du concepteur de fonctionnalité... 17 Tâche 7 : ajouter et coder un récepteur de fonctionnalités... 17 Tâche 8 : créer un flux de travail réutilisable à l aide de SharePoint Designer... 19 Tâche 9 : Importer le flux de travail réutilisable dans Visual Studio... 27 Tâche 10 : associer le flux de travail à une liste dans SharePoint... 33 Résumé de l exercice... 35 Exercice 2... 35 Tâche 1 : vérifier l existence d une liste Customer dans le site... 35 Tâche 2 : créer et préparer le projet... 36 Tâche 2 : créer un formulaire d initiation de flux de travail qui sera utilisé par le flux de travail... 39 Tâche 3 : terminer le formulaire d initiation du flux de travail... 40 Tâche 4 : traiter les données du formulaire d initiation du flux de travail dans Workflow1... 41 Tâche 5 : déployer et déboguer Workflow1... 42 Résumé de l exercice... 44 Résumé de l atelier... 44 Page 1
SPCHOL 305 Développement d un flux de travail SharePoint 2010 avec un formulaire d initiation Durée estimée de cet atelier : 30 minutes Objectif de l atelier Vue d ensemble des exercices Le premier exercice montre comment créer une activité de flux de travail personnalisé utilisée par un flux de travail réutilisable SharePoint Designer et comment les déployer ensemble sous la forme d un seul fichier *.WSP. Il montre également comment importer ce flux de travail dans Visual Studio 2010. Le second exercice montre comment créer un flux de travail SharePoint avec un formulaire d initiation et traiter les données du formulaire. Vue d ensemble des fonctionnalités SharePoint Designer permet de créer un flux de travail réutilisable dans plusieurs listes et plusieurs sites. Le flux de travail peut être exporté en tant que fichier de solution SharePoint (*.WSP). Ressources supplémentaires Cet atelier comprend les ressources supplémentaires suivantes : Ce manuel de l atelier Code source SPCHOL305_Manual_CS.docx Completed\CS\Ex1 Completed\CS\Ex2 Ce document Code source de l atelier complet. Ressources Resources\CS Différentes ressources utilisées tout au long de cet atelier. Mise en route Connexion à l ordinateur virtuel Connectez-vous à l ordinateur virtuel à l aide des informations d utilisateur suivantes : Nom d utilisateur : Administrator Mot de passe : pass@word1 Emplacements Cet atelier pratique contient une série de ressources supplémentaires à des emplacements précis. Par défaut, il est supposé que le répertoire de base de l atelier pratique est C:\Content Packs\Packs\SharePoint 2010 Developer Labs 1.0\Supporting Files\SPCHOL305\Resources. Le dossier de travail par défaut de cet atelier est :\SPHOLs\SPCHOL305. Page 2
Préparation de l atelier 1. Accédez au répertoire de base de l atelier pratique Supporting Files\SPCHOL305\Resources et exécutez le script PowerShell optimize.ps1 : Cliquez avec le bouton droit sur optimize.ps1 et sélectionnez Exécuter avec PowerShell : Figure 1 - Exécuter le script PowerShell Cette opération ouvre une fenêtre PowerShell pour exécuter le script. Veuillez attendre la fin de l exécution du script PowerShell et la fermeture de la fenêtre PowerShell (cela peut prendre quelques minutes) : Figure 2 - Fenêtre PowerShell exécutant le script Copie des exemples de code à partir du document Word La copie et le collage de code à partir de ce document Word vers Visual Studio ne sont fiables que pour les parties de code mis en forme, par exemple : Console.WriteLine("Ce code est fiable!!"); Page 3
Le code qui ne se trouve pas dans ces parties peut contenir des caractères Unicode ou d autres caractères invisibles qui ne sont pas du code C#/VB ou XML valide, par exemple : Console.WriteLine («Ce code n est pas fiable!!»); Extraits de code Vous pouvez également utiliser des extraits de code pour insérer le code approprié dans l atelier. Pour utiliser l extrait de code requis pour cet atelier : Cliquez avec le bouton droit sur le fichier de code où vous souhaitez insérer l extrait de code. Sélectionnez Insérer un extrait : Sélectionnez les extraits de code dans la galerie Mes extraits de code. Page 4
Exercice 1 Cet exercice montre comment créer une activité de flux de travail personnalisé utilisée par un flux de travail réutilisable SharePoint Designer et comment les déployer ensemble sous la forme d un seul fichier *.WSP. Il montre également comment importer ce flux de travail dans Visual Studio 2010. Tâche 1 : créer et préparer le projet Au cours de cette tâche, vous allez créer une solution de projet vide et utiliser des contrôles utilisateur SharePoint. 1. Ouvrez Visual Studio 2010 en sélectionnant successivement Démarrer Tous les programmes Microsoft Visual Studio 2010 Microsoft Visual Studio 2010. 2. Dans Visual Studio 2010, créez un nouveau projet en sélectionnant Fichier Nouveau Projet. 3. Sélectionnez le modèle de projet Visual C# SharePoint 2010 Projet SharePoint vide. 4. Entrez SPCHOL305Ex1 dans la zone de texte Nom, et C:\SPHOLS\SPCHOL305\CS\Ex1 dans la zone de texte Emplacement. Figure 3 - Boîte de dialogue Nouveau projet 5. Cliquez sur OK. 6. Dans l Assistant Personnalisation de SharePoint, changez l URL en http://intranet.contoso.com et sélectionnez Déployer en tant que solution de batterie. Cliquez ensuite sur Terminer. Page 5
Figure 4 - Assistant Personnalisation de SharePoint 7. Visual Studio crée le nouveau projet SPCHOL305Ex1 et ajoute les fichiers nécessaires. Tâche 2 : créer une activité de flux de travail qui sera utilisée par le flux de travail réutilisable 1. Dans Visual Studio 2010, ajoutez un nouveau projet en sélectionnant Fichier Ajouter Nouveau projet. 2. Sélectionnez l infrastructure.net Framework 3.5 Figure 5 - Définir la version de.net Framework 3. Sélectionnez le modèle de projet Visual C# Flux de travail Bibliothèque d activité de workflow. Page 6
4. Entrez SPDActivityDemo dans la zone de texte Nom, puis cliquez sur OK. Figure 6 - Boîte de dialogue Nouveau projet 5. Dans l Explorateur de solutions, cliquez avec le bouton droit sur le projet SPDActivityDemo, puis sélectionnez Ajouter une référence. 6. Sélectionnez l onglet Parcourir. Entrez C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI dans la zone de texte Nom du fichier, et appuyez sur Entrée. Page 7
7. Sélectionnez Microsoft.SharePoint.dll et Microsoft.SharePoint.WorkflowActions.dll, puis cliquez sur OK. Figure 7 - Boîte de dialogue Ajouter une référence 8. Cliquez avec le bouton droit sur Activity1.cs dans l Explorateur de solutions et sélectionnez Renommer. 9. Renommez Activity1.cs en CreateDocumentLibrary.cs. Page 8
Tâche 3 : ajouter du code pour créer une bibliothèque de documents sur la base des paramètres passés à votre activité 1. Cliquez avec le bouton droit sur le fichier CreateDocumentLibrary.cs dans l Explorateur de solutions, et sélectionnez Afficher le code. 2. Changez la classe de base CreateDocumentLibrary de SequenceActivity en Activité, comme décrit ci-dessous. public partial class CreateDocumentLibrary : Activity 3. Ajoutez les instructions using suivantes en haut du fichier sous les instructions using existantes : using Microsoft.SharePoint; using Microsoft.SharePoint.Workflow; using Microsoft.SharePoint.WorkflowActions; Extrait de code : Mes extraits de code spchol305_ex1_createdoclib_namespace 4. Ajoutez une nouvelle propriété DependencyProperty nommée UrlProperty dans la classe CreateDocumentLibrary. C est l endroit où la bibliothèque de documents sera créée. public static DependencyProperty UrlProperty = DependencyProperty.Register("Url", typeof(string), typeof(createdocumentlibrary), new PropertyMetadata("")); [DescriptionAttribute("Url of base site")] [BrowsableAttribute(true)] [DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Visible )] [ValidationOption(ValidationOption.Optional)] public string Url { get { return ((string)(base.getvalue(createdocumentlibrary.urlproperty))); } set { base.setvalue(createdocumentlibrary.urlproperty, value); } } Extrait de code : Mes extraits de code spchol305_ex1_createdoclib_urlproperty Page 9
5. Ajoutez une nouvelle propriété DependencyProperty nommée DocLibNameProperty dans la classe CreateDocumentLibrary. Ce sera le nom de la bibliothèque de documents créée par l activité. public static DependencyProperty DocLibNameProperty = DependencyProperty.Register("DocLibName", typeof(string), typeof(createdocumentlibrary), new PropertyMetadata("")); [DescriptionAttribute("Used as doc lib name")] [BrowsableAttribute(true)] [DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Visible )] [ValidationOption(ValidationOption.Optional)] public string DocLibName { get { return ((string)(base.getvalue(createdocumentlibrary.doclibnameproperty))); } set { base.setvalue(createdocumentlibrary.doclibnameproperty, value); } } Extrait de code : Mes extraits de code spchol305_ex1_createdoclib_doclibproperty 6. Ajoutez le code suivant sous votre constructeur CreateDocumentLibrary : protected override ActivityExecutionStatus Execute(ActivityExecutionContext executioncontext) { CreateDocLib(); return ActivityExecutionStatus.Closed; } private void CreateDocLib() { using (SPSite sps = new SPSite(Url)) { using (SPWeb spw = sps.rootweb) { Guid ID = spw.lists.add(doclibname, DocLibName + " Document Library", SPListTemplateType.DocumentLibrary); SPList spdl = spw.lists[id]; spdl.onquicklaunch = true; spdl.update(); } } } Extrait de code : Mes extraits de code spchol305_ex1_createdoclib_execute Page 10
Tâche 4 : configurer l activité en vue du déploiement 1. Configurez l activité pour un nom fort. Ajoutez SPDActivityDemo.snk depuis le dossier Resources (Emplacement au début de ce manuel) au projet SPDActivityDemo. Figure 8 - Ajouter un élément existant. 2. Cliquez avec le bouton droit sur le projet SPDActivityDemo dans l Explorateur de solutions et sélectionnez Propriétés. 3. Cliquez sur l onglet Signature, activez la case à cocher Signer l assembly, puis sélectionnez SPDActivityDemo.snk. Figure 9 Signature 4. Générez votre projet (CTRL-MAJ-B) et corrigez toute éventuelle erreur. Page 11
5. Cliquez avec le bouton droit sur le projet SPCHOL305Ex1 et cliquez sur Ajouter, Dossier mappé SharePoint Figure 10 - Dossier mappé SharePoint 6. Sélectionnez Template\1033\Workflow dans la boîte de dialogue Ajouter un dossier mappé SharePoint et cliquez sur OK. Page 12
Figure 11 - Boîte de dialogue Ajouter un dossier mappé SharePoint 7. Dans l Explorateur de solutions, développez le dossier Workflow récemment ajouté. 8. Cliquez avec le bouton droit sur le dossier SPCHOL305Ex1 (s il existe) et sélectionnez Supprimer. 9. Cliquez avec le bouton droit sur le dossier Workflow et sélectionnez Ajouter Nouvel élément. Page 13
10. Sélectionnez le modèle Fichier XML et nommez le fichier SPDActivityDemo.ACTIONS, puis cliquez sur Ajouter. Figure 12 - Boîte de dialogue Ajouter un nouvel élément Page 14
11. Remplacez le contenu de SPDActivityDemo.ACTIONS par ce qui suit <?xml version="1.0" encoding="utf-8"?> <WorkflowInfo> <Actions Sequential="then" Parallel="and"> <Action Name="Create Document Library" ClassName="SPDActivityDemo.CreateDocumentLibrary" Assembly="SPDActivityDemo, Version=1.0.0.0, Culture=neutral, PublicKeyToken=a66e91d2ee2fa8f8" AppliesTo="all" Category="Labs"> <RuleDesigner Sentence="Document Library Name %1 to site %2."> <FieldBind Field="DocLibName" Text="Document Library Name" DesignerType="TextArea" Id="1"/> <FieldBind Field="Url" Text="Url of base site" Id="2" DesignerType="TextArea"/> </RuleDesigner> <Parameters> <Parameter Name="DocLibName" Type="System.String, mscorlib" Direction="In" /> <Parameter Name="Url" Type="System.String, mscorlib" Direction="In" /> </Parameters> </Action> </Actions> </WorkflowInfo> Extrait de code : Mes extraits Xml spchol305_ex1_workflowactions_xml 12. Générez le projet SPDActivityDemo. Tâche 5 : ajouter l activité SPDActivityDemo à déployer avec SPCHOL305Ex1 1. Dans l Explorateur de solutions, développez le dossier Package sous le projet SPCHOL305Ex1. 2. Double-cliquez sur le fichier Package.package pour afficher le concepteur de package. 3. Cliquez sur l onglet Avancé au bas du concepteur Figure 13 - Onglet Package avancé Page 15
4. Cliquez sur Ajouter et sélectionnez Ajouter un assembly à partir de la sortie de projet. 5. Dans la boîte de dialogue Ajouter un assembly à partir de la sortie de projet, cliquez sur la liste déroulante Projet source et sélectionnez SPDActivityDemo\bin. Figure 14 - Boîte de dialogue Ajouter un assembly à partir de la sortie de projet 6. Cliquez sur le bouton sous Contrôles sécurisés. Dans Contrôles sécurisés, ajoutez les éléments suivants : Nom d assembly : SPDActivityDemo, Version=1.0.0.0, Culture=neutral, PublicKeyToken= a66e91d2ee2fa8f8 Espace de noms : SPDActivityDemo Sécurisé : activé Nom de type : * 7. Lorsque vous avez terminé de renseigner les détails du contrôle sécurisé, appuyez sur Entrée pour les confirmer. 8. Cliquez sur OK. Page 16
Tâche 6 : configurer une fonctionnalité à l aide du concepteur de fonctionnalité 1. Cliquez avec le bouton droit sur le dossier Features dans l Explorateur de solutions sous le projet SPCHOL305Ex1 et sélectionnez Ajouter une fonctionnalité. 2. Cliquez avec le bouton droit sur Feature1 et renommez-la en SPCHOL305Ex1Feature. 3. Dans le concepteur de fonctionnalité, changez la portée de SPCHOL305Ex1Feature en WebApplication. Figure 15 - Concepteur de fonctionnalité Tâche 7 : ajouter et coder un récepteur de fonctionnalités 1. Cliquez avec le bouton droit sur la fonctionnalité SPCHOL305Ex1Feature dans l Explorateur de solutions et sélectionnez Ajouter un récepteur d événements. 2. Ajoutez une instruction using au début du code : using Microsoft.SharePoint.Administration; Page 17
3. Ajoutez le code suivant à la déclaration de classe FeatureReceiver : public override void FeatureActivated(SPFeatureReceiverProperties properties) { SPWebApplication wappcurrent = (SPWebApplication)properties.Feature.Parent; SPWebConfigModification modauthorizedtype = new SPWebConfigModification(); modauthorizedtype.name = "AuthType"; modauthorizedtype.owner = "SPDActivityDemo"; modauthorizedtype.path = "configuration/system.workflow.componentmodel.workflowcompiler/authorizedtypes"; modauthorizedtype.type = SPWebConfigModification.SPWebConfigModificationType.EnsureChildNode; modauthorizedtype.value = "<authorizedtype Assembly=\"SPDActivityDemo, " + "Version=1.0.0.0, Culture=neutral, PublicKeyToken=a66e91d2ee2fa8f8\" " + "Namespace=\"SPDActivityDemo\" TypeName=\"*\" Authorized=\"True\" />"; wappcurrent.webconfigmodifications.add(modauthorizedtype); wappcurrent.webservice.applywebconfigmodifications(); } Extrait de code : Mes extraits de code spchol305_ex1_spchol305feature_receiver 4. Générez et déployez le projet SPCHOL305Ex1Feature en cliquant avec le bouton droit sur le nom du projet et en sélectionnant Déployer. Figure 16 - Déployer la solution Page 18
Tâche 8 : créer un flux de travail réutilisable à l aide de SharePoint Designer 1. Ouvrez SharePoint Designer 2010 en sélectionnant successivement Démarrer Tous les programmes SharePoint Microsoft SharePoint Designer 2010. 2. Cliquez sur Sites puis sur Ouvrir le site. Figure 17 - Bouton du menu Sites dans SharePoint Designer 2010 En cas de demande d informations d identification, utilisez : Nom d utilisateur : Administrator Mot de passe : pass@word1 Page 19
3. Changez Nom de site en http://intranet.contoso.com et sélectionnez Ouvrir Figure 18 - Boîte de dialogue Ouvrir le site Web Page 20
5. Cliquez sur le bouton Flux de travail réutilisable, nommez le flux de travail SPDWorkflow, puis cliquez sur OK pour créer le flux de travail réutilisable. Figure 19 - Créer un flux de travail réutilisable Page 21
6. Cliquez sur le bouton Action dans le ruban, faites défiler la liste jusqu à Labs, puis cliquez sur Create Document Library. Remarque : il s agit de l activité que nous avons faite précédemment dans Visual Studio. Figure 20 - Ajouter une action Create Document Library Page 22
7. Cliquez dans l étape 1. Dans la zone en regard de Document Library Name, cliquez sur le bouton Fx. 8. Sélectionnez Élément en cours comme source de données, et Titre comme valeur de Champ de la source. Cliquez ensuite sur OK. Figure 21 - Boîte de dialogue Recherche de Chaîne 9. Tapez http://intranet.contoso.com comme URL du site de base. 10. Cliquez sur Enregistrer dans le Ruban. Figure 22 - Action Configurer le flux de travail Page 23
11. Une fois l enregistrement effectué, cliquez sur le bouton Publier dans le Ruban. Attendez la publication du flux de travail. Figure 23 - Publier le flux de travail 12. Une fois l enregistrement effectué, cliquez sur Flux de travail dans le volet de navigation de gauche. 13. Cliquez à nouveau sous le flux de travail sous Flux de travail réutilisable pour afficher les propriétés du flux de travail. Cliquez sur Enregistrer comme modèle pour enregistrer le fichier.wsp dans la liste Bibliothèque d éléments de site SharePoint. Figure 24 - Enregistrer comme modèle 14. Ouvrez http://intranet.contoso.com dans un navigateur Web Page 24
15. Cliquez sur Actions du site -> Afficher tout le contenu du site -> Bibliothèque d éléments de site. Figure 25 - Bibliothèque d éléments de site 16. Cliquez sur le menu déroulant SPDWorkflow, puis sur Envoyer vers -> Télécharger une copie. Figure 26 - Télécharger WSP Page 25
17. Enregistrez le WSP à un emplacement auquel vous pourrez accéder lors d une étape ultérieure (le Bureau, par exemple) Figure 27 - Boîte de dialogue Enregistrer sous Page 26
Tâche 9 : Importer le flux de travail réutilisable dans Visual Studio 1. De retour dans Visual Studio 2010, cliquez avec le bouton droit sur la solution SPCHOL305Ex1 dans la fenêtre Explorateur de solutions, puis sélectionnez Ajouter Nouveau projet. 2. Sélectionnez le modèle de projet Visual C# SharePoint 2010 Importer le flux de travail réutilisable. 3. Changez le Nom en SPDWorkflowImport. Figure 28 - Boîte de dialogue Nouveau projet 4. Cliquez sur OK. Page 27
5. Vérifiez que l URL est http://intranet.contoso.com. Cliquez sur Suivant. Figure 29 - Assistant Personnalisation de SharePoint Page 28
6. Pour spécifier le fichier.wsp à importer, naviguez jusqu au fichier SPDWorkflow.wsp que vous avez précédemment enregistré. Cliquez sur Suivant. Figure 30 - Assistant Personnalisation de SharePoint Page 29
7. Cliquez sur Terminer. Remarque : si vous utilisez Visual Studio 2010 Bêta 2, vous obtiendrez une erreur et ne pourrez pas accomplir cet atelier. Si vous utilisez une version ultérieure de Visual Studio 2010, vous pouvez continuer. Figure 31 - Assistant Personnalisation de SharePoint Page 30
8. Double-cliquez sur Package dans le projet SPCHOL305Ex1 et ajoutez la fonctionnalité Flux de travail convertis au package. Figure 32 - Explorateur de packages SharePoint Page 31
9. Cliquez avec le bouton droit sur le projet SPDWorkflowImport et sélectionnez Ajouter une référence 10. Sélectionnez la référence de projet SPDActivityDemo, et cliquez sur OK. Figure 33 - Ajouter une référence d assembly 11. Sous le projet SPDWorkflowImport, développez le nœud Workflows\SPDWorkflowFT. 12. Ouvrez le fichier Elements.xml. 13. Changez le Nom du flux de travail en SPDWorkflowFT Figure 34 - Définition du nom du flux de travail importé. Page 32
14. Enregistrez le projet, générez la solution et déployez le projet SPCHOL305Ex1. Tâche 10 : associer le flux de travail à une liste dans SharePoint 1. Naviguez jusqu à http://intranet.contoso.com. 2. Cliquez sur Actions du site Autres options 3. Sélectionnez Liste personnalisée dans la liste des éléments. 4. Nommez la liste Customers et cliquez sur Créer. 5. Ouvrez les paramètres de la liste. Figure 35 - Paramètres de la liste 6. Sous Autorisations et gestion, cliquez sur Paramètres de flux de travail. 7. Configurez les paramètres du flux de travail de liste comme suit : Sélectionnez un modèle de flux de travail : SPDWorkflowFT Tapez un nom unique pour ce flux de travail : Create Doc Lib for Customer Sélectionnez une liste de tâches : Tâches Sélectionnez un historique : Historique de flux de travail Options de démarrage : Démarrer le flux de travail lorsqu un nouvel élément est créé Page 33
Figure 36 - Paramètres du flux de travail 8. Cliquez sur OK. 9. Naviguez jusqu à la liste Customers et sélectionnez Éléments Nouvel élément. Figure 37 - Créer un élément Page 34
10. Indiquez Northwind comme nom du nouveau client et appuyez sur Enregistrer lorsque la boîte de dialogue Customers Nouvel élément apparaît. Figure 38 - Boîte de dialogue Nouvel élément 11. Attendez qu une bibliothèque de documents de même nom soit automatiquement créée. Résumé de l exercice Dans cette exercice, vous avez créé une activité de flux de travail à utiliser dans des flux de travail SharePoint Designer. Vous avez créé un flux de travail réutilisable dans SharePoint Designer et utilisé l activité personnalisée. Vous avez ensuite importé ce flux de travail réutilisable dans Visual Studio 2010 et déployé le flux de travail final dans SharePoint. Exercice 2 Cet exercice montre comment créer un flux de travail SharePoint avec un formulaire d initiation et traiter les données du formulaire. Tâche 1 : vérifier l existence d une liste Customer dans le site 1. Accédez au site http://intranet.contoso.com 2. Vérifiez qu une liste personnalisée appelée Customer existe ; si ce n est pas le cas, créez-la. Page 35
Tâche 2 : créer et préparer le projet Au cours de cette tâche, vous allez créer un projet avec une solution de flux de travail séquentiel et utiliser des contrôles utilisateur SharePoint. 1. Dans Visual Studio 2010, dans le menu, sélectionnez Fichier Nouveau Nouveau projet. 2. Sélectionnez le modèle de projet Visual C# SharePoint 2010 Flux de travail séquentiel. 3. Changez le Nom en SPCHOL305Ex2. Figure 39 - Boîte de dialogue Nouveau projet 4. Cliquez sur OK. Page 36
5. Changez l URL en http://intranet.contoso.com. 6. Figure 40 - Assistant Personnalisation de SharePoint Cliquez sur Suivant. Figure 41 - Assistant Personnalisation de SharePoint Cliquez sur Suivant. Page 37
7. Définissez Bibliothèque ou liste auxquelles associer le flux de travail sur Customer. Figure 42 - Assistant Personnalisation de SharePoint Cliquez sur Suivant. 8. Désélectionnez Le flux de travail démarre automatiquement lorsqu un élément est créé. Figure 43 - Assistant Personnalisation de SharePoint 9. Cliquez sur Terminer. Page 38
Tâche 2 : créer un formulaire d initiation de flux de travail qui sera utilisé par le flux de travail 1. Cliquez avec le bouton droit sur Workflow1 dans le projet de flux de travail SPCHOL305Ex2, puis choisissez Ajouter, Nouvel élément. Figure 44 - Ajouter un nouvel élément 2. Sélectionnez le modèle d élément Visual C# SharePoint 2010 Formulaire d initiation du flux de travail. 3. Modifiez le Nom en WorkflowIntiationForm.aspx. Figure 45 Boîte de dialogue Nouvel élément 4. Cliquez sur Ajouter. Page 39
Tâche 3 : terminer le formulaire d initiation du flux de travail 1. Ajoutez le code suivant à l espace réservé Main. <br /> <br /> <br /> <asp:checkbox ID="Checkbox" runat="server" Text="Fast Track Customer" /> Extrait de code : Mes extraits HTML spchol305_ex2_initiationform_html Figure 46 - Formulaire d initiation du flux de travail 2. Ouvrez le fichier WorkflowInitiationForm.aspx.cs. Dans la méthode GetInitiationData, remplacez return string.empty; par le code suivant : return Checkbox.Checked.ToString(); Extrait de code : Mes extraits de code spchol305_ex2_workflowinitiationform Figure 47 - Code du formulaire d initiation du flux de travail Page 40
Tâche 4 : traiter les données du formulaire d initiation du flux de travail dans Workflow1 1. Ouvrez le Concepteur de vues de Workflow1.cs. À partir de la boîte à outils, ajoutez une activité Code (Windows Workflow v3.0) après l activité onworkflowactivated1. Figure 48 - Workflow Designer 2. Double-cliquez sur codeactivity1 pour générer un événement ExecuteCode dans le code sousjacent. Ajoutez le code suivant à la méthode codeactivity1_executecode. Définissez un point d arrêt dans la méthode. if (workflowproperties.initiationdata == "True") { System.Diagnostics.Debug.WriteLine("This is a fast track customer"); } Extrait de code : Mes extraits de code spchol305_ex2_codeactivity1 Figure 49 - Méthode ExecuteCode Page 41
Tâche 5 : déployer et déboguer Workflow1 1. Appuyez sur F5 pour déployer et déboguer le nouveau flux de travail. 2. Accédez à la liste Customer et créez dans celle-ci un élément intitulé Contoso Figure 50 - Liste Customer 3. Cliquez sur la liste déroulante d édition associée à l élément Contoso et sélectionnez Flux de travail. Démarrez le SPCHOL305Ex2 Workflow1 sur cet élément. Figure 51 - Démarrer le flux de travail 4. Activez la case à cocher Fast Track Customer et cliquez sur le bouton Démarrer le flux de travail. Figure 52 - Formulaire d initiation du flux de travail Page 42
5. Le point d arrêt que nous avons défini dans le code doit maintenant être atteint. Utilisez la touche F10 pour parcourir le code pas à pas. Figure 53 - Point d arrêt du code 6. Dans la fenêtre de sortie, vous pouvez constater que la valeur envoyée dans le formulaire d initiation a été capturée. Figure 54 - Sortie du débogage 7. Flux de travail terminé Figure 55 - Flux de travail terminé Page 43
Résumé de l exercice Dans cet exercice, vous avez créé un flux de travail SharePoint avec un formulaire d initiation et traité les données du formulaire. Résumé de l atelier Dans cet atelier, vous avez effectué les exercices suivants : créer une action de flux de travail dans Visual Studio 2010 ; créer un projet SharePoint vide et inclure l action de flux de travail dans cette solution ; déployer l action de flux de travail en tant que package de solution WSP ; utiliser l action de flux de travail pour créer un flux de travail réutilisable SharePoint Designer 2010 ; utiliser SharePoint Designer pour créer un package WSP pouvant être importé dans Visual Studio 2010 ; importer un fichier WSP SharePoint Designer 2010 dans Visual Studio 2010 ; utiliser Visual Studio 2010 pour créer un formulaire d initiation et associer celui-ci à un flux de travail SharePoint. Dans cet atelier, vous avez appris à créer une action de flux de travail SharePoint. Vous avez également appris à inclure cette action dans un package de solution WSP SharePoint. En outre, vous avez utilisé SharePoint Designer 2010 pour créer un flux de travail réutilisable qui a utilisé l action de flux de travail Visual Studio. Vous avez ensuite utilisé SharePoint Designer pour générer un fichier WSP importé dans Visual Studio. Vous avez également utilisé un formulaire d initiation pour capturer les données utilisateur et traité ces données dans le flux de travail. Page 44