在分类插件中定义初始区域和迭代

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

针对新的团队项目,你定义的分类将显示在**“区域”“迭代”**页面上,如下图所示。 你可以从 Team Web Access 管理页访问此页面。 若要打开此页面,请转到此处

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

从 Team Web Access (TWA) 管理上下文访问这些页面。 若要打开管理上下文,请选择 “设置”图标 (Team Web Access) 齿轮状“设置”图标。

选择齿轮图标以打开管理

若要了解如何连接到 TWA,请转到此处

在创建团队项目后,你可以使用 TWA 修改区域和迭代。 还可以定义权限来控制对项目区域或迭代的访问。 有关适用于分类的准则和命名限制,请参见添加和修改区域和迭代路径。 有关跟踪区域和迭代的字段的信息,请参见区域和迭代字段引用

除了区域和迭代,你还可以为 Microsoft Project 指定映射文件以在分类插件内上载。

重要

默认情况下,Microsoft Solution Framework (MSF) 的过程模板将定义零个区域节点和三个迭代节点,其名称为“迭代 1”、“迭代 2”和“迭代 3”。这些迭代节点将在工作项查询的定义中引用,并且这些任务将在 WorkItemTracking 和门户网站插件中定义。

分类插件名称和位置

下表列出了 Microsoft Solutions Framework (MSF) 过程模板的文件名、文件夹名称和插件名称:

文件名:

Classification.xml

文件夹名称:

分类

插件名称:

Microsoft.ProjectCreationWizard.Classification

备注

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

分类任务和依赖项

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

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

备注

如果你修改过程模板的区域或迭代,请确保不中断用于工作项查询或过程模板中定义的工作项的任何指定。例如,敏捷软件开发的 MSF 过程模板的 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="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>

指定 Microsoft Project 的字段映射文件

在 Classification.xml 文件的 properties 部分中指定包含 Microsoft Project 的字段映射的文件。 使用 property 元素指定要上载的文件(在 MSF 过程模板中标记为 FileMapping.xml)。 此文件包含 Microsoft Project 中的字段和 Team Foundation 中的字段之间的映射。 此文件已上载到项目团队的数据库。下面的示例演示了此条目的语法结构:

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

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

分类插件元素参考

下表介绍用来定义初始产品区域和迭代的元素。 在分类插件文件中的 taskXml 容器元素内指定这些元素。 有关此元素的信息,请参见定义用于处理插件的任务

警告

Css.xsd 架构文件不会定义 property 或 properties 元素。在你上载过程模板时,过程模板管理器会先验证这些元素,然后再将它们存储在 Team Foundation Server 中。

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

Children

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

Children 是 Node 的可选子元素。

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

Node

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

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

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

Nodes

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

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

包含区域和迭代定义。

properties

<properties>
   <property />
</properties>

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

property

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

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

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

  • value:必需。 定义字段映射文件的相对路径。

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

property 是 properties 的必需子元素。

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

请参见

概念

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