Partager via


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 2010, tels que les flux de travail séquentiels et les flux de travail de machine à états, sont appelés des flux de travail avec 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 2010 permet d'importer des flux de travail réutilisables créés dans SharePoint Designer 2010 et de les convertir sous forme de flux de travail avec code en vue de les exploiter sur 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.

Notes

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 :

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

  1. Dans SharePoint Designer 2010, cliquez sur Ouvrir le site dans le menu Fichier.

  2. Dans la boîte de dialogue Ouvrir le site, naviguez jusqu'au site SharePoint où vous souhaitez créer le flux de travail, ou utilisez la valeur par défaut http://nom du système/, puis cliquez sur Ouvrir.

    La page d'accueil s'affiche.

  3. Dans la section Sous-sites, cliquez sur Nouveau.

  4. Sélectionnez Modèles SharePoint dans le volet gauche de la boîte de dialogue Nouveau, puis sélectionnez Site d'équipe dans le volet droit.

  5. Dans la zone Indiquez l'emplacement du nouveau site Web, remplacez le mot sous-site dans l'URL par SPD1, puis cliquez sur 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).

  6. 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

  1. Cliquez sur le site SPD1 dans la section Sous-sites pour le modifier.

  2. Cliquez sur Flux de travail réutilisable dans le ruban.

    Cela a pour effet d'ouvrir l'Assistant Flux de travail réutilisable.

  3. Dans la zone Nom, tapez Flux de travail des tâches SPD.

  4. Dans la zone Type de contenu, cliquez sur Tâche, puis sur OK.

    Le flux de travail s'ouvre dans le Concepteur de flux de travail SharePoint Designer.

  5. Assurez-vous que l'étape 1 est sélectionnée et cliquez sur le bouton Condition sur le ruban, puis sélectionnez Si le champ de l'élément actif est égal à la valeur dans la liste de conditions.

    Cette opération ajoute une nouvelle condition nommée Si le champ est égal à la valeur.

  6. Cliquez sur le lien champ dans la condition Si le champ est égal à la valeur.

  7. Dans la liste de valeurs, sélectionnez Titre.

  8. Cliquez sur le lien valeur dans la condition Si le champ est égal à la valeur.

  9. 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.

  10. Cliquez sur la ligne sous l'énoncé de la condition, cliquez sur le bouton Action dans le ruban, puis sélectionnez Définir le champ dans l'élément actif dans la liste d'actions.

  11. Cliquez sur le lien champ dans l'action Définir la valeur du champ, puis sélectionnez Assigné à.

  12. Cliquez sur le lien valeur dans l'action Définir la valeur du champ, sélectionnez Utilisateur qui a créé l'élément actif dans la liste des utilisateurs et des groupes existants, cliquez sur le bouton Ajouter, puis sur 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

  1. Cliquez sur le bouton Enregistrer dans la partie supérieure de SharePoint Designer pour enregistrer votre progression, puis cliquez sur le bouton Publier pour déployer le flux de travail sur le site SharePoint SPD1.

  2. Cliquez sur Flux de travail dans le volet de navigation.

  3. Cliquez sur Flux de travail des tâches SPD sous Flux de travail réutilisable.

  4. Dans le ruban, cliquez sur Enregistrer comme modèle pour enregistrer le flux de travail sous la forme d'un fichier .wsp.

  5. Ouvrez le site SharePoint SPD1 dans un navigateur pour afficher le fichier .wsp dans SharePoint.

  6. Cliquez sur Bibliothèques dans la barre de lancement rapide.

  7. Cliquez sur Éléments de site dans la section Bibliothèques de documents.

    Le fichier Flux de travail des tâches SPD apparaît avec d'autres éléments de site.

  8. Cliquez sur son nom dans la liste ; la boîte de dialogue Téléchargement de fichier s'affiche.

  9. Cliquez sur le bouton Enregistrer dans la boîte de dialogue Téléchargement de fichier pour enregistrer le fichier .wsp sur le système.

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

  1. Sous Visual Studio, affichez la boîte de dialogue Nouveau projet en pointant sur Nouveau dans le menu Fichier, puis en cliquant sur Nouveau projet.

  2. Développez le nœud SharePoint sous Visual C# ou Visual Basic, puis cliquez sur 2010.

  3. Cliquez sur Importer le flux de travail réutilisable dans le volet Modèles, conservez le nom proposé pour le projet (WorkflowImportProject1), puis cliquez sur OK.

    L'Assistant Personnalisation de SharePoint s'affiche.

  4. 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.

  5. Dans la section Quel est le niveau de confiance de cette solution SharePoint ?, conservez l'option sélectionnée Déployer en tant que solution de batterie.

    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).

  6. Dans la page Spécifier la nouvelle source de projet, accédez à l'emplacement du système où vous avez enregistré le fichier .wsp précédemment, puis cliquez sur Suivant.

    Notes

    Le fait de cliquer sur Terminer sur cette page aurait pour effet d'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.

  7. Dans la zone Sélectionner les éléments à importer, sélectionnez le flux de travail Flux de travail des tâches SPD, puis cliquez sur 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).

  8. Définissez l'élément de projet de flux de travail WorkflowImportProject1 en tant qu'élément de démarrage.

    Cette opération affiche immédiatement la liste lorsque vous déboguez le projet.

  9. Étant donné que l'option Importer le flux de travail réutilisable n'importe pas les valeurs de propriété d'association pour le flux de travail importé, vous devez les entrer. Pour cela :

    1. Cliquez sur l'élément de projet de flux de travail SPD_Workflow_TestFT dans l'Explorateur de solutions.

    2. Cliquez sur le bouton de sélection (Bouton de sélection du concepteur ASP.NET mobile ) en regard de la propriété Liste cible ou de toute autre propriété disposant d'un bouton de sélection.

    3. Remplissez les valeurs manquantes dans l'Assistant Personnalisation de SharePoint. Lorsque vous avez fini, cliquez sur Terminer.

  10. Cliquez avec le bouton droit sur le fichier .xoml et sélectionnez Concepteur de vues pour afficher le flux de travail importé dans le Concepteur de flux de travail.

  11. Dans la section Windows Workflow v3.0 de la Boîte à outils, faites glisser une activité Code vers le concepteur et déposez-la juste en-dessous de 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.

  12. Double-cliquez sur CodeActivity1 pour générer un gestionnaire d'événements et consulter le code.

  13. Ajoutez ce qui suit sous les instructions using ou Imports existantes :

    Imports Microsoft.SharePoint
    Imports System
    
    using Microsoft.SharePoint;
    using System;
    
  14. 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

  1. Dans Visual Studio, appuyez sur F5 pour exécuter et déployer le projet de flux de travail converti.

  2. Cliquez sur Tâches dans la barre de lancement rapide pour afficher la liste des tâches.

  3. Cliquez sur Éléments sur le ruban Outils de liste, puis cliquez sur le bouton Nouvel élément.

  4. Dans la boîte de dialogue Tâches - Nouvel élément, tapez Nouvelle tâche dans la zone Titre, puis cliquez sur Enregistrer.

  5. Affichez la page Paramètres de la liste en cliquant sur Liste sur le ruban Outils de liste, puis sur Paramètres de la liste.

  6. Cliquez sur le lien Paramètres du flux de travail dans la section Autorisations et gestion.

    La page Ajouter un flux de travail s'affiche.

  7. Dans la liste Flux de travail, sélectionnez WorkflowImportProject1 - Test du flux de travail SPD.

  8. Dans la zone Nom, tapez Test du flux de travail SPD, puis cliquez sur OK.

  9. Cliquez sur Tâches dans la barre de lancement rapide.

  10. Cliquez sur la flèche déroulante en regard de Nouvelle tâche, puis sélectionnez Flux de travail.

  11. Cliquez sur le lien correspondant à Test du flux de travail SPD dans la section Démarrer un nouveau flux de travail, puis cliquez sur Démarrer pour lancer le flux de travail.

    Notes

    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