定义分类插件

分类可帮助基于有用的类别(例如,相关的产品功能和项目里程碑)跟踪、分组和报告工作。 你可以定义区域以将工作项组织到逻辑、物理或功能类别中。 你可以定义迭代以将工作项分组到里程碑或时间循环类别中。 例如,团队可以将产品工作组织到客户端区域、服务器区域和扩展性区域中。 你定义的迭代可确定团队将重复特定大型活动集(例如,规划、开发和测试)的次数。

针对新的团队项目,你定义的分类将显示在**“区域”“迭代”**页面上,如下图所示。 可以从管理 Web 门户访问此页。

团队项目的“区域”页,TWA 管理上下文

若要打开管理上下文,请选择 “设置”图标 (Team Web Access) 齿轮状“设置”图标。

选择齿轮图标以打开管理

若要了解如何连接到 Web 门户,请转到此处

在创建团队项目后,可以从 Web 门户修改区域和迭代。 还可以定义权限来控制对项目区域或迭代的访问。

除了区域和迭代,还可以为 Microsoft Project 指定映射文件,以便在分类插件和过程模板属性内上载。

分类插件名称和位置

下表列出了默认过程模板的文件名、文件夹名称和插件名称:

文件名:

Classification.xml

文件夹名称:

分类

插件名称:

Microsoft.ProjectCreationWizard.Classification

备注

可以更改 XML 文件和文件夹的名称,但不能更改插件名称。TFS 并不包括用于部署客户端插件、策略或其他修改的机制。如果你希望部署此类功能,则必须使用你自己的分发和安装程序。

分类任务和依赖项

分类插件文件必须符合 Css.xsd 文件中指定的架构定义,并且插件必须在自己的文件中指定。

在 XML 文件中,指定一个或多个任务以及它们的依赖项。 一般情况下,你只需要一个任务即可指定团队项目所需的所有迭代和节点。

备注

如果你修改过程模板的区域或迭代,请确保不中断用于工作项查询或过程模板中定义的工作项的任何指定。例如,敏捷过程模板的 Iteration1Backlog.wiq 工作项查询引用“迭代 1”。有关详细信息,请参阅向过程模板添加工作项查询

指定初始产品区域

使用以下语法指定区域的根节点:

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

为过程中所需的任意多个区域指定零个或更多子节点。 使用 Node 元素指定每个区域并将 StructureType 特性设置为 ProjectModelHierarchy。

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

下面的示例演示如何指定“客户端”和“服务器”这两个区域:

<?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>

指定初始迭代路径

使用以下语法指定迭代的根节点:

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

为过程中所需的任意多个迭代指定零个或更多子节点。 使用 Node 元素指定每个迭代并将 StructureType 特性设置为 ProjectLifecycle。

下面的示例演示如何指定四个迭代:Milestone 1、Milestone 2、Beta 和 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="Sprint 1"></Node>
                  <Node StructureType="ProjectLifecycle" Name="Sprint 2"></Node>
                  <Node StructureType="ProjectLifecycle" Name="Sprint 3"></Node>
                  <Node StructureType="ProjectLifecycle" Name="Sprint 4"></Node>
               </Children>
            </Node>
         </Nodes>
      </taskXml>
   </task>
</tasks>

指定过程模板属性

此部分指定了两个属性:项目到 TFS 字段的映射文件和过程模板。 映射文件指定 TFS 中的字段映射到项目中定义的字段的方式。 第二个属性将过程模板与一个唯一的值相关联。 下面的示例显示了此项的语法结构:

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

若要自定义 FileMapping.xml 文件,请参阅将 Microsoft Project 字段映射到 Team Foundation 字段

分类插件元素参考

在分类插件文件中的 taskXml 容器元素内指定以下元素。 有关 taskXml 的信息,请参阅定义用于处理插件的任务

通过指定嵌套节点和子节点的树路径,定义区域和迭代。 有关详细信息,请参阅添加和修改区域和迭代路径

元素

描述

Children

Children 是 Node 的可选子元素。

包含子区域或迭代的定义。

<Children>
    <Node> . . . </Node>
</Children>

Node

Node 是 Nodes 和 Children 的可选子元素。

定义树的结构。 将 ProjectLifecycle 用于迭代并将 ProjectModelHierarchy 用于区域。 节点名称不得超过 255 个字符。

<Node StructureType="ProjectLifecycle | ProjectModelHierarchy" Name="NodeName">
   <Node> . . . </Node>
   <Children> . . . </Children>
</Node>

Nodes

Nodes 是分类插件的 taskXml 的必需子元素。

包含区域和迭代定义。

<Nodes>
   <Node> . . . </Node>
</Nodes>

properties

分类插件的 taskXml 的可选子元素。

<properties>
   <property />
</properties>

property

property 是 properties 的必需子元素。

定义项目相关数据,例如 Microsoft Project 的 XML 映射数据。

<property name="property name" value="Classification\FileName" isFile="true | false" />

其中,以下定义适用于每个特性:

  • name:必需。 定义属性的名称。 唯一有效的名称为 MSPROJ 和 Process Template。

  • value:必需。

    • 对于 MSPROJ,定义字段映射文件的相对路径。

    • 对于 Process Template,包含与过程模板相关联的过程的名称。 将过程导入 Visual Studio Online 时,此属性会被添加到分类文件中。

  • isFile:可选。 指定属性是否是在文件中定义的。 如果值为 true,则文件必须存在,否则过程模板验证将失败。

警告

Css.xsd 架构文件不会定义 property 或 properties 元素。将过程模板上载到 Visual Studio Online 或 TFS 时,会对每个元素进行验证检查。

默认过程模板不指定任何区域节点,但会指定迭代节点(分别名为迭代 1、 迭代 2 和迭代 3)。 这些迭代节点将在工作项查询的定义中引用,并且这些任务将在 WorkItemTracking 和门户网站插件中定义。

有关适用于分类的准则和命名限制,请参阅添加和修改区域和迭代路径。 有关跟踪区域和迭代的字段的信息,请参阅区域和迭代字段引用

请参见

概念

添加和修改区域和迭代路径