Partager via


Procédure pas à pas : création et débogage d'une solution de flux de travail SharePoint

Cette procédure pas à pas montre comment créer un modèle de flux de travail séquentiel de base.Le flux de travail vérifie une propriété d'une bibliothèque de documents partagés afin de déterminer si un document a été révisé.Si le document a été révisé, le flux de travail se termine.

Cette procédure pas à pas décrit les tâches suivantes :

  • Création d'un projet de flux de travail séquentiel de définition de liste SharePoint dans Visual Studio.

  • Création d'activités de flux de travail.

  • Gestion des événements d'activité de flux de travail.

[!REMARQUE]

Bien que cette procédure fasse appel à un projet de flux de travail séquentiel, le processus est identique pour un projet de flux de travail de machine à états.

Il est possible, en outre, que pour certains des éléments de l'interface utilisateur de Visual Studio, votre ordinateur affiche des noms ou des emplacements différents de ceux indiqués dans les instructions suivantes.Ces éléments dépendent de l'édition de Visual Studio dont vous disposez et des paramètres que vous utilisez.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 :

Ajout de propriétés à la bibliothèque Documents partagés du site SharePoint

Pour suivre l'état de la révision des documents dans la bibliothèque Documents partagés, il convient de définir trois nouvelles propriétés pour les documents partagés sur notre site SharePoint : Status, Assignee et Review Comments.Nous allons, pour ce faire, ajouter ces propriétés à la bibliothèque Documents partagés.

Pour ajouter des propriétés à la bibliothèque Documents partagés du site SharePoint

  1. Ouvrez un site SharePoint, comme par exemple http://<nom du système>/SitePages/Home.aspx, dans un navigateur Web.

  2. Dans la barre de lancement rapide, choisissez partagéDocuments.

  3. Choisissez Bibliothèque sur le ruban Outils de bibliothèque puis choisissez le bouton Créer une colonne sur le ruban pour créer une nouvelle colonne.

  4. Nommez le mode de document de colonne, définissez son type à Choix (menu dans lequel effectuer un choix), spécifiez les trois choix suivants, puis choisissez le bouton OK :

    • Révision nécessaire

    • Révision terminée

    • Modifications demandées

  5. Créez deux colonnes supplémentaires et nommez-les Cessionnaire et Commentaires de révision.Mettez en forme la colonne Cessionnaire comme une ligne unique de texte, et la colonne Commentaires de révision comme lignes de texte multiples.

Modification de documents sans extraction

Le test du modèle de flux de travail est plus facile lorsque vous pouvez modifier les documents sans devoir les extraire.Vous allez à présent configurer le site SharePoint à cet effet.

Pour modifier des documents sans les extraire

  1. Dans la barre de lancement rapide, cliquez sur le lien Documents partagés .

  2. Dans le ruban Outils de bibliothèque , sélectionnez l'onglet Bibliothèque , puis choisissez le bouton Paramètres de la bibliothèque pour afficher la page Paramètres de bibliothèque de documents .

  3. Dans la section Paramètres généraux , cliquez sur le lien Paramètres de contrôle de version pour afficher la page Paramètres de contrôle de version .

  4. Vérifiez que la valeur du paramètre Exiger l'extraction des documents avant de pouvoir les modifier est Non.S'il n'est pas, modifiez le en non puis choisissez le bouton OK .

  5. Fermez le navigateur.

Création d'un projet de flux de travail séquentiel SharePoint

Un flux de travail séquentiel est une succession d'étapes qui s'exécutent dans l'ordre jusqu'à la fin de la dernière activité.Vous allez maintenant créer un flux de travail séquentiel qui s'appliquera à notre liste Documents partagés.L'Assistant Flux de travail permet d'une part, d'associer le flux de travail à la définition du site ou à la définition de liste et d'autre part, de déterminer à quel moment le flux de travail démarre.

Pour créer un projet de flux de travail séquentiel SharePoint

  1. Démarrez Visual Studio.

  2. Dans la barre de menus, sélectionnez Fichier, Nouveau, Projet pour afficher la boîte de dialogue Nouveau projet .

  3. Développez le nœud SharePoint sous Visual C# ou Visual Basic, puis sélectionnez le nœud 2010 .

  4. Dans le volet Modèles , choisissez le modèle Projet SharePoint 2010 .

  5. Dans la zone Nom , entrez MySharePointWorkflow puis choisissez le bouton OK .

    L'Assistant Personnalisation de SharePoint s'affiche.

  6. Dans la page Spécifier le site et le niveau de sécurité pour le débogage , sélectionnez la case d'option Déployer en tant que solution de batterie , puis choisissez le bouton Terminer pour accepter le site de niveau de confiance et valeur par défaut.

    Cette étape définit le niveau de confiance de la solution en considérant qu'il s'agit d'une solution de la batterie, la seule option disponible pour les projets de flux de travail.Pour plus d'informations, consultez Considérations sur les solutions bac à sable (sandbox).

  7. Dans Explorateur de solutions, sélectionnez le nœud de projet, puis, dans le menu, choisissez Projet, Ajouter un nouvel élément.

  8. Sous Visual C# ou Visual Basic, développez le nœud SharePoint , puis sélectionnez le nœud 2010 .

  9. Dans le volet Modèles , choisissez le modèle Flux de travail séquentiel (solution de batterie uniquement) , puis choisissez le bouton Ajouter .

    L'Assistant Personnalisation de SharePoint s'affiche.

  10. Dans la page Spécifier le nom du flux de travail pour le débogage, acceptez le nom proposé par défaut (MonFluxdetravailSharePoint - Workflow1).Conservez le type par défaut valeur, Flux de travail de listede modèle de flux de travail, puis choisissez le bouton Suivant .

  11. Dans la page Vous présente Visual Studio associer automatiquement le flux de travail dans une session de débogage ? , choisissez le bouton Suivant pour accepter tous les paramètres par défaut.

    Cette étape associe automatiquement le flux de travail à la bibliothèque Documents partagés.

  12. Dans la page Spécifier les conditions de démarrage du flux de travail , laissez l'option par défaut sélectionnées dans la section Comment le flux de travail doit-il commencer ? et choisissez le bouton Terminer .

    Cette page vous permet de spécifier le moment où votre flux de travail démarre.Par défaut, le flux de travail démarre lorsqu'il est lancé manuellement par un utilisateur dans SharePoint ou lorsqu'un élément auquel le flux de travail est associé est créé.

Création d'activités de flux de travail

Les flux de travail contiennent une ou plusieurs activités représentant les actions à effectuer.Servez-vous du Concepteur de flux de travail pour organiser les activités au sein d'un flux de travail.Dans cette procédure, nous allons ajouter deux activités au flux de travail : HandleExternalEventActivity et OnWorkFlowItemChanged.Ces activités permettent de surveiller l'état de la révision des documents dans la liste Documents partagés.

Pour créer des activités de flux de travail

  1. Le flux de travail doit s'afficher dans le Concepteur de flux de travail.S'il n'est pas, puis ouvrez Workflow1.cs ou Workflow1.vb dans Explorateur de solutions.

  2. Dans le concepteur, choisissez l'activité OnWorkflowActivated1 .

  3. Dans la fenêtre Propriétés , tapez onWorkflowActivated en regard de la propriété appelé , puis choisissez la touche ENTRÉE.

    L'éditeur de code ouvre et une méthode de gestionnaire d'événements nommée onWorkflowActivated est ajoutée au fichier de code Workflow1.

  4. Revenez au Concepteur de flux de travail, ouvrez la boîte à outils, puis développez le nœud Windows Workflow v3.0.

  5. Dans le nœud Windows Workflow v3.0Boîte à outils, effectuez l'une des ensembles d'étapes suivants :

    1. Ouvrez le menu contextuel de l'activité While , puis choisissez Copier.Dans le Workflow Designer, ouvrez le menu contextuel pour la ligne dans l'activité onWorkflowActivated1 , puis choisissez Coller.

    2. Faites glisser l'activité WhileBoîte à outils au concepteur de flux de travail, puis connectez -vous à l'activité à la ligne dans l'activité onWorkflowActivated1 .

  6. Choisissez l'activité WhileActivity1 .

  7. Dans la fenêtre Propriétés , affectez Condition pour coder la condition.

  8. Développez la propriété Condition , tapez isWorkflowPending en regard de la propriété enfant Condition , puis choisissez la touche ENTRÉE.

    L'éditeur de code s'ouvre et une méthode nommée isWorkflowPending est ajoutée au fichier de code Workflow1.

  9. Revenez au Concepteur de flux de travail, ouvrez la boîte à outils, puis développez le nœud Flux de travail SharePoint.

  10. Dans le nœud Flux de travail SharePointBoîte à outils, effectuez l'une des ensembles d'étapes suivants :

    • Ouvrez le menu contextuel de l'activité OnWorkflowItemChanged , puis choisissez Copier.Dans le Workflow Designer, ouvrez le menu contextuel de la ligne à l'intérieur de l'activité whileActivity1 , puis choisissez Coller.

    • Faites glisser l'activité OnWorkflowItemChangedBoîte à outils au concepteur de flux de travail, puis connectez -vous à l'activité à la ligne à l'intérieur de l'activité whileActivity1 .

  11. Choisissez l'activité onWorkflowItemChanged1 .

  12. Dans la fenêtre Propriétés, définissez les propriétés affichées dans le tableau suivant.

    Property

    Valeur

    CorrelationToken

    workflowToken

    Invoked

    onWorkflowItemChanged

Gestion d'événements d'activité

Pour finir, vérifiez l'état du document à partir de chaque activité.Si le document a été révisé, le flux de travail se termine.

Pour gérer des événements d'activité

  1. Dans Workflow1.cs ou Workflow1.vb, ajoutez le champ suivant en haut de la classe Workflow1.Vous utilisez ce champ dans une activité pour déterminer si le flux de travail est terminé.

    Dim workflowPending As Boolean = True
    
    Boolean workflowPending = true;
    
  2. Ajoutez la méthode suivante à la classe Workflow1.Cette méthode vérifie la valeur de la propriété Document Status de la liste Documents pour déterminer si le document a été révisé.Si la propriété Document Status a la valeur Review Complete, la méthode checkStatus affecte au champ workflowPending la valeur false pour indiquer que le flux de travail est prêt à se terminer.

    Private Sub checkStatus()
        If CStr(workflowProperties.Item("Document Status")) = "Review Complete" Then
            workflowPending = False
        End If
    End Sub 
    
    private void checkStatus()
    {
        if ((string)workflowProperties.Item["Document Status"] == "Review Complete")
        workflowPending = false;
    }
    
  3. Ajoutez le code suivant aux méthodes onWorkflowActivated et onWorkflowItemChanged pour appeler la méthode checkStatus.Lorsque le flux de travail démarre, la méthode onWorkflowActivated appelle la méthode checkStatus pour déterminer si le document a déjà été révisé.S'il n'a pas été révisé, le flux de travail continue.Lorsque le document est enregistré, la méthode onWorkflowItemChanged appelle de nouveau la méthode checkStatus pour déterminer si le document a été révisé.Tant que le champ workflowPending a la valeur true, le flux de travail continue à s'exécuter.

    Private Sub onWorkflowActivated(ByVal sender As System.Object, ByVal e As System.Workflow.Activities.ExternalDataEventArgs)
        checkStatus()
    End Sub
    
    Private Sub onWorkflowItemChanged(ByVal sender As System.Object, ByVal e As System.Workflow.Activities.ExternalDataEventArgs)
        checkStatus()
    End Sub
    
    private void onWorkflowActivated(object sender, ExternalDataEventArgs e)
    {
        // Check the status.
        checkStatus();
    }
    
    private void onWorkflowItemChanged(object sender, ExternalDataEventArgs e)
    {
        // Check the status.
        checkStatus();
    }
    
  4. Ajoutez le code suivant à la méthode isWorkflowPending pour vérifier l'état de la propriété workflowPending.Chaque fois que le document est enregistré l'activité whileActivity1 appelle la méthode isWorkflowPending.Cette méthode examine la propriété Result de l'objet ConditionalEventArgs pour déterminer si l'activité WhileActivity1 doit continuer ou se terminer.Si la propriété a la valeur true, l'activité continue.Sinon, l'activité se termine, ainsi que le flux de travail.

    Private Sub isWorkflowPending(ByVal sender As System.Object, ByVal e As System.Workflow.Activities.ConditionalEventArgs)
        e.Result = workflowPending
    End Sub
    
    private void isWorkflowPending(object sender, ConditionalEventArgs e)
    {
        e.Result = workflowPending;
    }
    
  5. Enregistrez le projet.

Test du modèle de flux de travail SharePoint

Lorsque vous démarrez le débogueur, Visual Studio déploie le modèle de flux de travail vers le serveur SharePoint et associe le flux de travail à la liste Documents partagés.Pour tester le flux de travail, démarrez une instance du flux de travail à partir d'un document de la liste Documents partagés.

Pour tester le modèle de flux de travail SharePoint

  1. Dans Workflow1.cs ou Workflow1.vb, définissez un point d'arrêt en regard de méthode onWorkflowActivated.

  2. Choisissez la touche F5 pour générer et exécuter la solution.

    Le site SharePoint s'affiche.

  3. Dans le volet de navigation dans SharePoint, cliquez sur le lien Documents partagés .

  4. Dans la page Documents partagés , cliquez sur le lien Documents sous l'onglet Outils de bibliothèque , puis choisissez le bouton Télécharger des documents .

  5. Dans la boîte de dialogue Télécharger des documents , choisissez le bouton Parcourir , choisissez un fichier document, choisissez le bouton Ouvrir , puis choisissez le bouton OK .

    Cela a pour effet de télécharger le document sélectionné dans la liste Documents partagés et de démarrer le flux de travail.

  6. Dans Visual Studio, vérifiez que le débogueur s'arrête au point d'arrêt en regard de la méthode onWorkflowActivated.

  7. Choisissez la touche F5 pour continuer l'exécution.

  8. Vous pouvez modifier les paramètres du document ici, mais les conservez les valeurs par défaut pour le moment en choisissant le bouton Enregistrer .

    Vous revenez alors à la page Documents partagés du site Web SharePoint par défaut.

  9. Dans la page Documents partagés , vérifiez que la valeur sous la colonne MySharePointWorkflow – Workflow1 a la valeur En cours.Cela signifie que le flux de travail est en cours de réalisation et que le document attend d'être révisé.

  10. Dans la page Documents partagés , choisissez le document, cliquez sur la flèche qui figure, puis choisissez l'élément de menu Modifier les propriétés .

  11. Définissez mode de document à Révision complète, puis choisissez le bouton Enregistrer .

    Vous revenez alors à la page Documents partagés du site Web SharePoint par défaut.

  12. Dans la page Documents partagés , vérifiez que la valeur sous la colonne mode de document a la valeur Révision complète.Actualisez la page Documents partagés et vérifiez que la valeur sous la colonne MySharePointWorkflow – Workflow1 a la valeur Terminé.Cela signifie que le flux de travail est terminé et que le document a été révisé.

Étapes suivantes

Pour plus d'informations sur la création de modèles de flux de travail, consultez les rubriques suivantes :

Voir aussi

Autres ressources

Création de solutions de flux de travail SharePoint

Modèles de projets et d'éléments de projet SharePoint

Génération et débogage de solutions SharePoint