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.

Notes

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 Utilisation des paramètres.

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. Cliquez sur Documents partagés dans la barre de lancement rapide.

  3. Cliquez sur Bibliothèque sur le ruban Outils de bibliothèque, puis sur le bouton Créer une colonne sur le ruban pour définir une nouvelle colonne.

  4. Nommez la colonne État du document, choisissez le type Choix (menu dans lequel effectuer un choix), spécifiez les trois choix suivants, puis cliquez sur 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. Cliquez sur Documents partagés dans la barre de lancement rapide.

  2. Cliquez sur Bibliothèque dans le ruban Outils de bibliothèque, puis sur le bouton Paramètres de la bibliothèque pour afficher la page Paramètres de la bibliothèque de documents.

  3. Dans la section Paramètres généraux, cliquez sur 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. Dans le cas contraire, sélectionnez la valeur Non, puis cliquez sur 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 et affichez la boîte de dialogue Nouveau projet en pointant sur Nouveau dans le menu Fichier, puis en cliquant sur Projet.

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

  3. Dans le volet Modèles, sélectionnez Workflow séquentiel.

  4. Dans la zone Nom, tapez MonFluxdetravailSharePoint, puis cliquez sur OK.

    L'Assistant Personnalisation de SharePoint s'affiche.

  5. Dans la page Spécifier le site et le niveau de sécurité pour le débogage, cliquez sur Suivant pour accepter le site et le niveau de confiance 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).

  6. 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 la valeur du type de modèle de flux de travail par défaut, Flux de travail de liste, puis cliquez sur Suivant.

  7. Dans la page Voulez-vous que Visual Studio associe automatiquement le flux de travail dans une session de débogage, cliquez sur Suivant pour accepter tous les paramètres par défaut.

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

  8. Dans la page Spécifier les conditions de démarrage du flux de travail, conservez les options par défaut qui sont sélectionnées dans la section Comment le flux de travail doit-il commencer ?, puis cliquez sur 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. Dans le cas contraire, double-cliquez sur Workflow1.cs ou Workflow1.vb dans l'Explorateur de solutions pour l'ouvrir.

  2. Dans le concepteur, cliquez sur l'activité OnWorkflowActivated1 pour la sélectionner.

  3. Dans la fenêtre Propriétés, tapez onWorkflowActivated en regard de la propriété Invoked, puis appuyez sur 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. Faites glisser une activité While depuis le nœud Windows Workflow v3.0 de la Boîte à outils et connectez-la à la ligne juste en dessous de l'activité onWorkflowActivated1.

  6. Cliquez sur l'activité WhileActivity1 pour la sélectionner.

  7. Dans la fenêtre Propriétés, affectez la valeur Condition de code à Condition.

  8. Développez la propriété Condition, tapez isWorkflowPending en regard de la propriété enfant Condition, puis appuyez sur 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. Faites glisser une activité OnWorkflowItemChanged depuis le nœud SharePoint Workflow de la Boîte à outils et connectez-la à la ligne à l'intérieur de l'activité whileActivity1.

  11. Cliquez sur l'activité onWorkflowItemChanged1 pour la sélectionner.

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

    Propriété

    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. Appuyez sur F5 pour générer et exécuter la solution.

    Le site SharePoint s'affiche.

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

  4. Dans la page Documents partagés, cliquez sur Documents sous l'onglet Outils de bibliothèque, puis sur le bouton Téléchargement un document pour télécharger un document.

  5. Dans la boîte de dialogue Télécharger un document, cliquez sur le bouton Parcourir, sélectionnez un fichier de document, cliquez sur Ouvrir, puis sur 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. Appuyez sur F5 pour continuer l'exécution.

  8. Vous pouvez modifier les paramètres relatifs au document à cet endroit. Pour l'instant, veuillez conserver les valeurs par défaut en cliquant sur Enregistrer.

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

  9. À la page Documents partagés, assurez-vous que la valeur sous la colonne MonFluxdetravailSharePoint correspond à 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, pointez sur le document, cliquez sur la flèche bas, puis cliquez sur Modifier propriétés.

  11. Affectez à État du document la valeur Révision terminée, puis cliquez sur Enregistrer.

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

  12. À la page Documents partagés, assurez-vous que la valeur sous la colonne MonFluxdetravailSharePoint correspond à Révision terminée. 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