Partager via


Formulaires de tâches de flux de travail (Microsoft SharePoint Server 2010)

Dernière modification : mercredi 7 avril 2010

S’applique à : SharePoint Server 2010

Vous pouvez spécifier des fiches personnalisées pour les tâches dans votre flux de travail. Étant donné qu'une tâche de flux de travail est un élément SharePoint auquel un type de contenu est assigné, le type de contenu détermine les fiches personnalisées à utiliser pour les types de tâche dans votre flux de travail.

Pour plus d’informations conceptuelles sur les formulaires de modification de tâche de flux de travail, voir Formulaires de tâche de flux de travail (SharePoint Foundation) dans Microsoft SharePoint 2010 Software Development Kit (SDK).

Spécification de fiches tâche de flux de travail

Pour spécifier un formulaire de modification Microsoft InfoPath 2010 pour une tâche de flux de travail, procédez comme suit :

  1. Dans le fichier de définition de flux de travail, affectez à l'attribut TaskListContentTypeId de l'élément Workflow le type de contenu suivant :

    TaskListContentTypeId="0x01080100C9C9515DE4E24001905074F980F93160"  
    

    Ce type de contenu, inclus dans Microsoft SharePoint Server 2010, spécifie les formulaires de modification et d’affichage de tâche personnalisés qui contiennent un contrôle Office Forms Server pour le rendu des formulaires InfoPath.

  2. Ajoutez un élément à l’élément Metadata de définition du modèle de flux de travail. Il s’agit de l’élément TaskID_FormURN, élément (Workflow), où N représente l’entier affecté à ce type de tâche dans le flux de travail. Affectez à cet élément l’URN du formulaire InfoPath 2010 que vous souhaitez utiliser avec cette tâche. Par exemple :

    <MetaData>
      …
      <Task0_FormURN>urn:schemas-adventureworks-com:workflow:ReviewRouting-Review</Task0_FormURN>
      …
    </MetaData>
    

    Pour distinguer les types de tâche créés par votre flux de travail, 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 second 1, et ainsi de suite. Cela vous permet d'assigner différents types de contenu et différents formulaires à chaque type de tâche. Ces identificateurs de type de tâche doivent être uniques seulement dans un flux de travail donné. Par exemple, tout flux de travail qui crée une tâche a un type de tâche 0 ; cependant, le type de tâche ne doit pas être identique entre les flux de travail.

Pour plus d’informations sur le schéma de définition de flux de travail, voir Définitions de flux de travail dans Microsoft SharePoint 2010 Software Development Kit (SDK).

Traitement de fiches tâche de flux de travail

Lorsqu’un utilisateur clique sur le lien pour modifier ou afficher une tâche de flux de travail, SharePoint Server 2010 examine l’attribut TaskListContentTypeId de l’élément Workflow 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 personnalisé est spécifié. Si vous utilisez un formulaire de modification InfoPath pour votre tâche de flux de travail, vous devez affecter au contenu un type qui spécifie l’affichage de la tâche personnalisée et un formulaire de modification qui inclut un contrôle Office Forms Server pour le rendu du formulaire InfoPath. SharePoint Server 2010 charge ce formulaire personnalisé, qui à son tour examine l’élément TaskID_FormURN, élément (Workflow) approprié, en fonction de l’ID de tâche transmis par SharePoint Server 2010. La page personnalisée charge ensuite le formulaire spécifié pour le type de tâche.

Cette page récupère aussi le contenu de la propriété XML de l'objet SPListItem qui représente la tâche et le transmet au formulaire en tant que source de données secondaire.

Lorsque l'utilisateur envoie ses modifications au formulaire, la page hôte appelle la méthode AlterTask, en passant l'objet SPListItem et les données mises à jour en tant que paramètres. Cette méthode met à jour l'objet SPListItem spécifié avec le XML spécifié.

SharePoint Server 2010 traite le XML passé dans la méthode AlterTask, en passant la méthode SPItem comme suit : si une propriété nommée dans le XML correspond à une propriété dans l’objet SPWorkflowTask, SharePoint Server 2010 promeut la valeur de la propriété XML en propriété de l’objet correspondant. Les propriétés XML qui ne correspondent pas à des propriétés de l’objet SPWorkflowTask sont concaténées et enregistrées dans un champ de « surpopulation » de l’objet. Vous pouvez utiliser les méthodes GetExtendedPropertiesAsHashtable pour accéder à ces données.

Pour faciliter la programmation, nous recommandons aux développeurs de créer des types de contenu pour leurs types de tâche, et de faire correspondre exactement chaque schéma de type de contenu de tâche au schéma de son formulaire de tâche de modification désigné. Cette approche permet le mappage un à un des propriétés et évite l'analyse du champ de « surpopulation » pour extraire des valeurs supplémentaires.

SharePoint Server 2010 déclenche un événement OnTaskChanged lorsque la méthode AlterTask est appelée. Pour gérer cet événement, ajoutez une activité d’événement OnTaskChanged au flux de travail. La propriété AfterProperties de cet événement contient les propriétés de tâche qui ont été modifiées.

Voir aussi

Tâches

Procédure : concevoir des formulaires de flux de travail InfoPath

Procédure : Accès aux données d'un formulaire de flux de travail dans un flux de travail

Procédure : concevoir un formulaire de tâche de flux de travail pour utiliser des données de tâche

Concepts

Flux de travail dans SharePoint Server 2010

Formulaires InfoPath pour flux de travail

Formulaires d'association et d'initialisation de flux de travail (Microsoft SharePoint Server 2010)

Formulaires de modification de flux de travail (Microsoft SharePoint Server 2010)

Formulaires de tâches de flux de travail (Microsoft SharePoint Server 2010)

Autres ressources

Workflow Definition Schema for InfoPath Forms