Share via


Formulaires de modification des flux de travail (SharePoint Foundation)

Dernière modification : jeudi 8 avril 2010

S’applique à : SharePoint Foundation 2010

Vous pouvez souhaiter que les utilisateurs puissent modifier le flux de travail à certains moments de son exécution sur un élément. Par exemple, vous pourriez autoriser un utilisateur à affecter sa tâche à une autre personne ou même ajouter une tâche spécifique au flux de travail. Les options que vous mettez à disposition des utilisateurs pour modifier le flux de travail pendant son exécution sur un élément sont appelées modifications.

Vous pouvez créer des formulaires de modification qui permettent aux utilisateurs d'en spécifier les paramètres.

Pendant la conception de votre flux de travail, vous créez une modification en ajoutant une activité EnableWorkflowModification au flux de travail. La disponibilité de la modification est déterminée par l'activité EventHandlingScope à laquelle vous ajoutez l'activité EnableWorkflowModification. Définir une modification ajoute un lien à la page d'état du flux de travail de la modification concernée. Lorsque l'activité EventHandlingScope conteneur arrive à portée au cours de l'exécution du flux de travail, Microsoft SharePoint Foundation met le lien de la modification à disposition de l'utilisateur. Lorsqu'elle n'est plus à portée, Windows SharePoint Services supprime le lien de la modification de la page d'état du flux de travail.

Le lien de la modification sur la page d'état du flux de travail dirige l'utilisateur vers le formulaire de modification du flux de travail.

Spécification des formulaires de modification

Chaque formulaire de modification utilisé dans votre flux de travail doit posséder son propre GUID. SharePoint Foundation l'utilise pour faire correspondre la modification sélectionnée par l'utilisateur au formulaire approprié.

Pour spécifier un formulaire de modification, vous devez définir trois types de données :

  1. Définissez la propriété ModificationID de l'activité EnableWorkflowModification sur le GUID que vous avez généré pour votre modification.

  2. Dans la définition du modèle de flux de travail, définissez l'attribut ModificationURL de l'élément Workflow sur le formulaire de modification à utiliser.

    Si votre flux de travail comprend plusieurs modifications, vous pouvez programmer le formulaire spécifié avec cet attribut pour réaliser les opérations suivantes :

    • Afficher un affichage différent du formulaire, basé sur l'identifiant de la modification transféré à ce formulaire.

    • Rediriger vers un formulaire séparé, basé sur l'identifiant de la modification transféré à ce formulaire.

      Notes

      SharePoint Foundation prend en charge les chemins d'accès relatifs au serveur ou absolus dans la définition du modèle de flux de travail. Vous devez exprimer toutes les URL de chemin d'accès aux formulaires dans l'un de ces formats. Par exemple, vous pouvez utiliser un chemin d'accès absolu, comme "http://site/library/page.aspx", ou un chemin d'accès relatif au serveur, comme "/layouts/page.aspx". SharePoint Foundation ne prend pas en charge la correction des liens dans les définitions de modèles de flux de travail.

  3. Dans la définition du modèle de flux de travail, ajoutez un élément Modification_guid_Name, où guid correspond au GUID généré pour votre modification. Donnez à cet élément le nom que vous souhaitez donner à votre modification. SharePoint Foundation l'affiche dans le lien de la modification intégré à la page d'état du flux de travail. Par exemple :

    <Modification_GUID_Name>Add a New Reviewer</Modification_GUID_Name>
    

Traitement des formulaires de modification

Lorsqu'une activité EnableWorkflowModification particulière arrivé à portée, le flux de travail invoque la méthode EnableWorkflowModification et transfère deux types de données sous forme de paramètres à SharePoint Foundation :

  • Le GUID du formulaire de modification, tel que stocké dans la propriété ModificationId de l'activité.

  • Les informations à passer au formulaire de modification, au format chaîne ; il s'agit principalement du contexte des données, tel que stocké dans la propriété ContextData de l'activité.

    Notes

    Le développeur du flux de travail doit générer la chaîne contenant les données de contexte à transférer à la méthode EnableWorkflowModification. Pour une programmation facilitée, nous conseillons aux développeurs de créer un objet pour chaque modification créée. Chacun de ces objets doit posséder un schéma de sérialisation XML correspondant exactement au schéma de la source des données primaires du formulaire de modification.

SharePoint Foundation examine le code XML de la définition du modèle de flux de travail pour déterminer le nom de la modification et inclut ces informations dans le lien de la modification qu'il ajoute à la page d'état du flux de travail.

Dans le modèle objet SharePoint, les modifications actuellement disponibles pour une instance de flux de travail sont répertoriées dans l'objet SPWorkflowModificationCollection.

Si un utilisateur clique sur un lien de modification donné, SharePoint Foundation examine le code XML de la définition du modèle de flux de travail, plus particulièrement la propriété ModificationURL de l'élément Workflow, qui spécifie le formulaire de modification à afficher. SharePoint Foundation charge le formulaire et transfère les données de contexte extraites de l'activité EnableWorkflowModification.

Le développeur du formulaire de modification doit programmer les actions effectuées lorsque l'utilisateur envoie le formulaire de modification. Dans la plupart des cas, le formulaire appelle la méthode ModifyWorkflow, en transférant l'ID de l'instance du flux de travail, un objet SPWorkflowModification et, le cas échéant, les informations de contexte mises à jour. Cette action modifie l'instance de flux de travail en cours d'exécution en conséquence.

Pour gérer l'événement de modification du flux de travail, ajoutez une activité d'événement OnWorkflowModified au flux de travail. SharePoint Foundation déclenche cette activité lorsque la méthode ModifyWorkflow est invoquée. Elle est très bénéfique lorsqu'elle est utilisée au sein du gestionnaire d'événements d'une activité EventHandlingScope. SharePoint Foundation transfère les données de contexte de la modification à l'activité d'événement.

Encore une fois, le développeur du flux de travail doit analyser les données de contexte transférées sous forme de chaîne à l'activité d'événement OnWorkflowModified.

Voir aussi

Concepts

Vue d'ensemble des formulaires de flux de travail

Formulaires d’initiation et d’association de flux de travail (Sharepoint Foundation)

Formulaires de tâche de flux de travail (SharePoint Foundation)