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

Dernière modification : vendredi 30 mai 2008

S’applique à : SharePoint Foundation 2010

Dans cet article
Types de contenu des tâches de flux de travail
Spécification de types de contenu pour les tâches de flux de travail
Traitement des formulaires de tâche de flux de travail

Vous pouvez spécifier des formulaires personnalisés pour les tâches de votre flux de travail. Cependant, dans la mesure où les tâches sont des éléments SharePoint auquel un type de contenu a été affecté, le type de contenu détermine les formulaires personnalisés utilisés avec le type de tâche.

Types de contenu des tâches de flux de travail

Par défaut, des types de contenu sont affectés à tous les types de tâches SharePoint. Si vous n'affectez pas spécifiquement un type de contenu à un type de tâche, le type de contenu de base Tâche est affecté au type de tâche. Tous les types de contenu de type Tâche doivent être basés sur le type de contenu de base WorkflowTask.

Pour plus d'informations sur les types de contenu de base, voir Hiérarchie des types de contenu de base.

Vous pouvez spécifier des formulaires personnalisés nouveaux, de modification et d'affichage pour un type de contenu. Microsoft SharePoint Foundation utilise tous les formulaires personnalisés que vous avez spécifiés pour le type de contenu de tâche approprié lors de l'affichage d'une tâche de flux de travail.

Notes

Pour faciliter la programmation, il est vivement recommandé aux développeurs de créer des types de contenu pour leurs types de tâches, et que chaque schéma de type de contenu de tâche corresponde exactement au schéma de son formulaire de tâche d'édition désigné. Cette approche fournit un mappage des propriétés une-à-une et évite de devoir analyser le champ des propriétés étendues pour extraire des valeurs supplémentaires.

Spécification de types de contenu pour les tâches de flux de travail

Vous pouvez spécifier le type de contenu d'une tâche de flux de travail de deux façons.

Pour utiliser un même type de contenu pour tous les types de tâches de votre flux de travail

  1. Dans la définition de type de contenu du type de contenu de la tâche, ajoutez si vous le souhaitez un élément XMLDocument qui spécifie les formulaires de modification et/ou d'affichage personnalisés. Cet élément XMLDocument doit être conforme au schéma FormTemplates. Définissez les formulaires de modification et/ou d'affichage avec la valeur suivante :

    <Edit>WkTaskIP.aspx</Edit>
    <Display>WkTaskIP.aspx</Display>
    

    Pour plus d'informations sur la spécification de formulaires personnalisés pour des types de contenu, voir Présentation du schéma FormUrls.

  2. Dans la définition du modèle de flux de travail, définissez l'attribut TaskListContentTypeId de l'élément Workflow avec l'ID du type de contenu que vous souhaitez affecter à tous les types de tâches de votre flux de travail. Par exemple :

    TaskListContentTypeId="0x01080100C9C9515DE4E24001905074F980F93160"  
    

Pour utiliser des types de contenu différents pour chaque type de tâche de flux de travail

  1. Dans la définition de type de contenu du type de contenu de la tâche, ajoutez si vous le souhaitez un élément XMLDocument qui spécifie les formulaires de modification et/ou d'affichage personnalisés. Cet élément XMLDocument doit être conforme au schéma FormTemplates. Définissez les formulaires de modification et/ou d'affichage avec la valeur suivante :

    <Edit>WkTaskIP.aspx</Edit>
    <Display>WkTaskIP.aspx</Display>
    

    Pour plus d'informations sur la spécification de formulaires personnalisés pour des types de contenu, voir Présentation du schéma FormUrls.

  2. Utilisez l'activité de flux de travail CreateTaskWithContentType pour créer la tâche dans votre flux de travail. Utilisez la propriété TaskId pour définir l'ID de la tâche, et la propriété ContentTypeId pour spécifier le type de contenu de la tâche.

Types de tâches de flux de travail

Pour différencier les types de tâches créées par votre flux de travail, vous affectez à chaque type de tâche un identificateur entier au sein de ce flux de travail. Le premier type de tâche est 0, le deuxième 1, et ainsi de suite. Cela vous permet d'affecter des types de contenu différents et des formulaires différents à chaque type de tâche. Ces identificateurs de type de tâche doivent être uniques seulement au sein d'un flux de travail donné. Par exemple, tout flux de travail créant une tâche a un type de tâche 0 ; toutefois, le type de tâche ne doit pas nécessairement être identique à travers tous les flux de travail.

Lorsqu'un utilisateur clique sur le lien pour modifier une tâche, SharePoint Foundation examine la définition du modèle de flux de travail pour déterminer le type de contenu de la tâche. Il examine ensuite la définition du type de contenu pour déterminer si un formulaire de modification personnalisé est spécifié pour ce type de contenu. Si tel est le cas, SharePoint Foundation affiche le formulaire spécifié. Si aucun formulaire de modification personnalisé n'est spécifié, SharePoint Foundation affiche son rendu par défaut pour le formulaire d'édition.

Pour plus d'informations sur la définition du type de contenu, voir Définitions de type de contenu.

Types de formulaires de type de contenu personnalisés

Vous pouvez spécifier deux sortes de formulaires personnalisés pour les types de contenu :

  • Des modèles de formulaires, qui sont des contrôles .asmx effectuant le rendu de la section centrale d'une page Web SharePoint, c'est-à-dire tout sauf les éléments du cadre SharePoint (généralement appelés « chrome ») sur la page. SharePoint Foundation génère le rendu du chrome pour la page.

    Pour plus d'informations, voir Vue d'ensemble du schéma FormTemplates.

  • Des pages de formulaire, qui sont des pages .aspx qui remplacent toute la page SharePoint par défaut, y compris les éléments du cadre SharePoint (le « chrome » SharePoint). Pour les pages de formulaire, vous devez fournir les liens de navigation ou les autres éléments souhaités qui figurent généralement dans le chrome SharePoint.

    Pour plus d'informations, voir Présentation du schéma FormUrls.

Traitement des formulaires de tâche de flux de travail

Lorsqu'un utilisateur clique sur le lien pour modifier une tâche, SharePoint Foundation doit déterminer le type de contenu du type de tâche. Si la tâche a été générée à l'aide de l'activité de flux de travail CreateTaskWithContentType, le type de contenu est spécifié dans cette activité. Dans le cas contraire, SharePoint Foundation examine la définition du modèle de flux de travail pour déterminer le type de contenu de la tâche.

SharePoint Foundation examine ensuite la définition du type de contenu pour déterminer si un formulaire de modification personnalisé est spécifié pour ce type de contenu. Si tel est le cas, SharePoint Foundation affiche le formulaire spécifié.

Le développeur du flux de travail est responsable des données qui sont initialement passées au formulaire de tâche, ainsi que des actions effectuées lorsque l'utilisateur envoie le formulaire. Par exemple, le développeur peut programmer l'extraction par le formulaire du contenu de la propriété Xml de l'élément SPListItem qui représente la tâche, et utiliser ces informations en tant que source de données. SharePoint Foundation passe toujours la tâche XML au formulaire en tant que source de données secondaire.

De même, lorsque le formulaire est envoyé, il est recommandé que le formulaire appelle la méthode AlterTask, en passant l'objet SPListItem et les données mises à jour en tant que paramètres. SharePoint Foundation déclenche un événement OnTaskChanged lorsque cette méthode est appelée. Pour gérer cet événement, ajoutez une activité d'événement OnTaskChanged au flux de travail.

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 modification des flux de travail (SharePoint Foundation)