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 :
Éditions de Microsoft Windows et SharePoint prises en charge.Pour plus d'informations, consultez Configuration requise pour développer des solutions SharePoint.
Visual Studio.
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
Ouvrez un site SharePoint, comme par exemple http://<nom du système>/SitePages/Home.aspx, dans un navigateur Web.
Dans la barre de lancement rapide, choisissez partagéDocuments.
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.
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
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
Dans la barre de lancement rapide, cliquez sur le lien Documents partagés .
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 .
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 .
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 .
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
Démarrez Visual Studio.
Dans la barre de menus, sélectionnez Fichier, Nouveau, Projet pour afficher 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 Modèles , choisissez le modèle Projet SharePoint 2010 .
Dans la zone Nom , entrez MySharePointWorkflow 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 , 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).
Dans Explorateur de solutions, sélectionnez le nœud de projet, puis, dans le menu, choisissez Projet, Ajouter un nouvel élément.
Sous Visual C# ou Visual Basic, développez le nœud SharePoint , puis sélectionnez le nœud 2010 .
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.
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 .
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.
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
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.
Dans le concepteur, choisissez l'activité OnWorkflowActivated1 .
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.
Revenez au Concepteur de flux de travail, ouvrez la boîte à outils, puis développez le nœud Windows Workflow v3.0.
Dans le nœud Windows Workflow v3.0Boîte à outils, effectuez l'une des ensembles d'étapes suivants :
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.
Faites glisser l'activité WhileBoîte à outils au concepteur de flux de travail, puis connectez -vous à l'activité à la ligne dans l'activité onWorkflowActivated1 .
Choisissez l'activité WhileActivity1 .
Dans la fenêtre Propriétés , affectez Condition pour coder la condition.
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.
Revenez au Concepteur de flux de travail, ouvrez la boîte à outils, puis développez le nœud Flux de travail SharePoint.
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 .
Choisissez l'activité onWorkflowItemChanged1 .
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é
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;
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; }
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(); }
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; }
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
Dans Workflow1.cs ou Workflow1.vb, définissez un point d'arrêt en regard de méthode onWorkflowActivated.
Choisissez la touche F5 pour générer et exécuter la solution.
Le site SharePoint s'affiche.
Dans le volet de navigation dans SharePoint, cliquez sur le lien Documents partagés .
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 .
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.
Dans Visual Studio, vérifiez que le débogueur s'arrête au point d'arrêt en regard de la méthode onWorkflowActivated.
Choisissez la touche F5 pour continuer l'exécution.
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.
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é.
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 .
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.
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 :
Pour plus d'informations sur les activités de flux de travail SharePoint, consultez Activités de flux de travail pour SharePoint Foundation (page éventuellement en anglais).
Pour plus d'informations sur les activités Windows Workflow Foundation, consultez System.Workflow.Activities, espace de noms.
Voir aussi
Autres ressources
Création de solutions de flux de travail SharePoint