Partager via


Plug-in de modèle de processus Classification

Mise à jour : novembre 2007

Le plug-in Classification contrôle les itérations et la structure d'un projet d'équipe. Le nom de plug-in est Microsoft.ProjectCreationWizard.Classification. Le fichier XML Classification est nommé Classification.xml et figure dans le dossier Classification de la hiérarchie des dossiers du modèle de processus. Vous pouvez modifier le fichier XML et le nom du dossier si nécessaire.

Dans le fichier XML, spécifiez une ou plusieurs tâches et leurs dépendances. En général, une seule tâche suffit pour spécifier toutes les itérations et tous les nœuds requis pour un projet d'équipe. Pour obtenir un exemple d'une tâche qui spécifie les itérations, consultez le fichier Classifications.xml dans le modèle de processus MSF for Agile Software Development.

Remarque :

Team Foundation Server n'inclut pas de mécanisme pour le déploiement de plug-ins, de stratégies ou d'autres modifications côté client. Si vous ne voulez pas déployer des plug-ins, des stratégies ou d'autres modifications sur le serveur Team Explorer, vous devez utiliser votre propre programme de distribution et d'installation.

Itérations

Les itérations que vous définissez pour un processus déterminent la fréquence de répétition par l'équipe d'un ensemble d'activités majeures donné (par exemple la planification, le développement, le test). Les itérations affectent les requêtes d'éléments de travail et les rapports car elles sont utilisées pour regrouper les éléments de travail. Par exemple, un membre de l'équipe peut demander tous les éléments de travail de bogue à partir de l'itération 1. Les itérations apparaissent dans le champ System.IterationPath pour tous les éléments de travail qui référencent ce champ.

Vous devez spécifier le nœud racine des itérations à l'aide de la syntaxe suivante.

<Node StructureType="ProjectLifecycle" Name="Iteration" >

Spécifiez ensuite zéro ou plusieurs nœuds enfants pour autant de nœuds que nécessaires pour votre processus. Utilisez l'élément Node pour spécifier chaque itération. Vous devez affecter l'attribut StructureType à ProjectLifecycle.

L'exemple suivant indique comment spécifier quatre itérations : Milestone 1, Milestone 2, Beta et RTM.

<?xml version="1.0" encoding="utf-8" ?>
<tasks>
   <task
      id="UploadStructure"
      name="Creating project structure"
      plugin="Microsoft.ProjectCreationWizard.Classification"
      completionMessage="Team project structure created.">
      <taskXml>
         <Nodes>
            <Node StructureType="ProjectLifecycle" Name="Iteration" >
               <Children>
                  <Node StructureType="ProjectLifecycle" Name="Milestone 1"></Node>
                  <Node StructureType="ProjectLifecycle" Name="Milestone 2"></Node>
                  <Node StructureType="ProjectLifecycle" Name="Beta"></Node>
                  <Node StructureType="ProjectLifecycle" Name="RTM"></Node>
               </Children>
            </Node>
         </Nodes>
      </taskXml>
   </task>
</tasks>

Zones

Les zones représentent des groupes clés sur le projet d'équipe. Par exemple, une équipe pourrait organiser le travail sur le produit de telle sorte qu'il existe une zone client, une zone serveur et une zone extensibilité. Les zones permettent de regrouper les éléments de travail pour les requêtes et les rapports. Elles apparaissent dans le champ System.AreaPath pour tous les éléments de travail qui référencent ce champ.

Vous devez spécifier le nœud racine des zones à l'aide de la syntaxe suivante.

<Node StructureType="ProjectModelHierarchy" Name="Area" >

Spécifiez ensuite zéro ou plusieurs nœuds enfants pour autant de zones que nécessaires pour votre processus. Utilisez l'élément Node pour spécifier chaque zone. Vous devez affecter l'attribut StructureType à ProjectModelHierarchy.

<Node StructureType="ProjectModelHierarchy" Name="" ></Node>

L'exemple suivant indique comment spécifier deux zones, Client et Server.

<?xml version="1.0" encoding="utf-8" ?>
<tasks>
   <task
      id="UploadStructure"
      name="Creating project structure"
      plugin="Microsoft.ProjectCreationWizard.Classification"
      completionMessage="Portfolio project structure created.">
      <taskXml>
         <Nodes>
            <Node StructureType="ProjectModelHierarchy" Name="Teams" >
               <Children>
                  <Node StructureType="ProjectModelHierarchy" Name="Client"></Node>
                  <Node StructureType="ProjectModelHierarchy" Name="Server"></Node>
               </Children>
            </Node>
         </Nodes>
      </taskXml>
   </task>
</tasks>
Remarque :

Si vous modifiez les itérations ou les zones d'un modèle de processus, vérifiez que vous n'interrompez pas les tâches des instances d'éléments de travail dans workitems.xml. Les instances d'éléments de travail peuvent référencer des itérations ou zones spécifiques.

Spécification des propriétés de mappage du champ Microsoft Project

Le plug-in Classification définit également les mappages de champs entre les types d'éléments de travail et Microsoft Project. Contrairement à Microsoft Excel, Microsoft Project utilise un ensemble de colonnes limité comprenant des colonnes prédéfinies, par exemple Nom de la tâche, et des champs personnalisés. Lorsqu'un utilisateur publie ou actualise des données d'élément de travail dans un fichier Microsoft Project, le mappage de champs est utilisé pour déterminer les champs de la base de données des éléments de travail qui correspondent aux colonnes dans Microsoft Project.

Par exemple, vous pouvez personnaliser les mappages pour prendre en charge un champ que vous avez créé ou associer les champs à des colonnes prédéfinies plutôt qu'à des colonnes personnalisées. Pour obtenir une documentation complète sur le fichier de mappage de champs Microsoft Project, consultez Fichier de mappage de champs Microsoft Project.

Le mappage de champs figure dans un fichier XML nommé FileMapping.xml. Le fichier Classification.xml doit contenir une entrée qui référence le fichier FileMapping.xml comme indiqué dans l'exemple suivant.

<properties>
   <property name="MSPROJ" 
             value="Classification\FileMapping.xml" 
             isFile="true" />
</properties>

Dans le fichier FileMapping.xml, spécifiez les champs mappés à l'aide de l'élément Mappings.

<Mappings>
   <Mapping WorkItemTrackingFieldReferenceName="System.Id" 
            ProjectField=""
            ProjectName=""
         ProjectUnits=""
         PublishOnly=""/>
</Mappings>

Le tableau suivant décrit les attributs de l'élément Mapping.

Attribut

Description

WorkItemTrackingFieldReferenceName

Requis. Spécifie le nom de référence d'un champ de type d'élément de travail.

ProjectField

Requis. Spécifie le nom d'une colonne Microsoft Project. Spécifiez des noms de colonnes prédéfinis en faisant précéder le nom de "pj", par exemple pjTaskName pour la colonne Nom de la tâche. Spécifiez des champs personnalisés tels que pjTaskText suivi d'un nombre, par exemple pjTaskText11.

ProjectName

Facultatif. Spécifie le nom à afficher comme nom de colonne pour l'utilisateur. Si cet attribut n'est pas spécifié, le nom du champ de type d'élément de travail est utilisé.

ProjectName

Facultatif. Spécifie le nom à afficher comme nom de colonne pour l'utilisateur. Si cet attribut n'est pas spécifié, le nom du champ de type d'élément de travail est utilisé.

ProjectUnits

Facultatif. Spécifie le type d'unités à utiliser lorsque vous mappez un type de champ sur Microsoft Project. Les valeurs valides sont pjMinute, pjHour, pjDay, pjWeek et pjMonthUnit.

PublishOnly

Facultatif. Si cet attribut a la valeur true, cela indique que le champ est publié sur la base de données des éléments de travail, mais pas actualisé. Cette valeur est généralement utilisée pour les champs calculés qui ne doivent pas être mis à jour dans Team Explorer. Si cet attribut a la valeur no, cela indique que le champ est publié et actualisé. La valeur par défaut est no lorsque cet attribut n'est pas spécifié.

L'exemple suivant montre comment le modèle de processus MSF for Agile Software Development mappe les champs d'éléments de travail sur Microsoft Project.

<?xml version="1.0" encoding="utf-8"?>
<MSProject>
   <Mappings>
      <Mapping WorkItemTrackingFieldReferenceName="System.Id" ProjectField="pjTaskText10" ProjectName="Work Item ID"/>
      <Mapping WorkItemTrackingFieldReferenceName="System.Title" ProjectField="pjTaskName" />
      <Mapping WorkItemTrackingFieldReferenceName="System.WorkItemType" ProjectField="pjTaskText24" />
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.Discipline" ProjectField="pjTaskText17" />
      <Mapping WorkItemTrackingFieldReferenceName="System.AssignedTo" ProjectField="pjTaskResourceNames" />
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.CompletedWork" ProjectField="pjTaskActualWork" ProjectUnits="pjHour"/>
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.RemainingWork" ProjectField="pjTaskRemainingWork" ProjectUnits="pjHour"/>
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.BaselineWork" ProjectField="pjTaskBaselineWork" ProjectUnits="pjHour"/>
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.StartDate" ProjectField="pjTaskStart" PublishOnly="true"/>
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.FinishDate" ProjectField="pjTaskFinish"  PublishOnly="true"/>
      <Mapping WorkItemTrackingFieldReferenceName="System.State" ProjectField="pjTaskText13" />
      <Mapping WorkItemTrackingFieldReferenceName="System.Reason" ProjectField="pjTaskText14" />
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.Rank" ProjectField="pjTaskText16" />
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.Issue" ProjectField="pjTaskText15" />
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.ExitCriteria" ProjectField="pjTaskText20" />
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.QualityOfServiceType" ProjectField="pjTaskText21" />
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.Priority" ProjectField="pjTaskText19" ProjectName="Work Item Priority" />
      <Mapping WorkItemTrackingFieldReferenceName="System.AreaPath" ProjectField="pjTaskOutlineCode9" />
      <Mapping WorkItemTrackingFieldReferenceName="System.IterationPath" ProjectField="pjTaskOutlineCode10" />
      <Mapping WorkItemTrackingFieldReferenceName="System.Rev" ProjectField="pjTaskText23" />
      <ContextField WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.TaskHierarchy"/>
      <LinksField   ProjectField="pjTaskText26" />
      <SyncField   ProjectField="pjTaskText25" />
   </Mappings>
</MSProject>

Il existe trois colonnes spéciales dans la liste des champs de mappage. L'une représente le champ de synchronisation qui spécifie la colonne servant de champ de synchronisation. Le champ de synchronisation est intitulé "Publier et actualiser" et permet à l'utilisateur d'indiquer si une ligne de tâche est publiée ou seulement actualisée.

Utilisez la syntaxe XML suivante pour spécifier les mappages de colonnes sur le champ de synchronisation. L'attribut ProjectField doit être affecté à une colonne Microsoft Project valide.

<SyncField ProjectField="" />

L'autre champ spécial représente le champ relatif aux liens et aux pièces jointes. La colonne des liens et des pièces jointes permet aux utilisateurs d'indiquer s'il existe des liens ou des pièces jointes pour une ligne de tâche donnée.

Utilisez la syntaxe XML suivante pour spécifier les mappages de colonnes sur les champs de liens et de pièces jointes. L'attribut ProjectField doit être affecté à une colonne Microsoft Project valide.

<LinksField ProjectField="" />

Le dernier champ spécial est le champ contextuel. Le champ contextuel est un champ de type d'élément de travail qui affiche des informations sur la relation hiérarchique d'une tâche avec des tâches récapitulatives. Il s'affiche dans Team Explorer afin que les utilisateurs qui n'utilisent pas Microsoft Project puissent consulter les tâches récapitulatives auxquelles une sous-tâche appartient.

Utilisez la syntaxe XML suivante pour spécifier le champ de type d'élément de travail qui correspond au champ contextuel. L'élément ContextField est utilisé pour spécifier un champ contextuel. L'attribut WorkItemTrackingFieldReferenceName doit avoir pour valeur le nom de référence valide d'un champ de type d'élément de travail existant.

<ContextField WorkItemTrackingFieldReferenceName="" />

Voir aussi

Tâches

Comment : vérifier les modifications des classifications

Concepts

Plug-in de modèle de processus Windows SharePoint Services

Plug-in de modèle de processus du contrôle de version

Plug-in de modèle de processus Rapports

Plug-in de modèle de processus Groupes et Autorisations

Fichier de mappage de champs Microsoft Project

Autres ressources

Plug-in de modèle de processus Suivi des éléments de travail