[翻译]MS project 与 MS Team Foundation Server(TFS)的域映射

TFS与MS Project之间通过它们字段的映射文件一起工作。TFS允许我们使用这个映射文件自定义从TFS发布任务到MS Project的行为。

为了修改这个XML格式的映射文件,我们需要首先下载它,然后做必需的修改后再上传回服务器。

 

我们使用下面的命令代码下载和上传映射文件
TFSFieldMapping download TFSServer1 Application MapFile.xml
TFSFieldMapping upload TFSServer1 Application MapFile.xml

 

我们使用XML 映射元素实现MS Project和TFS之间域的映射。

映射元素处理几个下面表格中几个重要的属性

属性 描述
WorkItemTrackingFieldReferenceName 必填。指定工作项域的引用名称。
ProjectField 必填。指定Project域的名称。指定预定义的以“pj”前缀开始的域的名称。例如,任务名称列为PjTaskName。指定自定义文本域列以pjTaskText开始,后跟一位数字,如:pjTaskText11。
ProjectName 选填。指定显示在列中给用户的名称。如果该属性没有指定值,默认使用工作的域名称。
ProjectUnits 选填。指定映射到Project中的单位类型。合法的值分别是pjMinute, pjHour, pjDay, pjWeek和pjMonthUnit.
PublishOnly 选填。如果设置为“true”,表明该列被发布到工作项数据库,但是不刷新。此值主要被用于计算那些不需要在团队资源管理器中被更新的域。如果设置为“no”,表明该域同时发布和刷新。不设置时默认值为“no”。

<Mapping WorkItemTrackingFieldReferenceName="System.Title" ProjectField="pjTaskName"/>

如果某个域在MS Project中计算域,在TFS中最好设置成只读域,这样它就不会在MS Project之外被修改而是在每次同步时发布。

 

上下文域是工作项的别一种类型,它显示任务的等级关系。例如,如果任务名称为“Risk Plan”,它的子任务“Planning Rishs”的上下文域会读到“Planning Risks > Risk Plan”。

<ContextField WorkItemTrackingFieldReferenceName="" />

 

其它类型的域有:链接和附件域,同步域。

 

为了确保域正确的在TFS和MS Project之间拷贝,我们需要保持域类型。下面是TFS和MS Project之间的类型对照。

工作项域类型 Project域类型
Integer Work, units, numbers, 及其它任何值范围在 -2,147,483,648 到 2,147,483,647之间的域类型。
Double Work, units, percentages, fractions, 及其它任何值范围在 ±5.0 x 10-324 到 ±1.7 x 10308之间的域类型。
String Text (最大字符数为255。)
DateTime Datetime.
TreePath Custom outline codes.
Html 不支持。
PlainText 不支持。
History 不支持。

我们可以映射MS Project中任何域,只要它以pjTask开头。

 

最后,我们需要再花一点时间在之前提到的下载和上传域映射文件上。为了下载或上传映射文件,我们需要使用TFSFieldMapping工具。还有,你必须是项目管理员组中的一员或者拥有编辑或查看项目级信息权限。此外,我们要有在本地路径创建映射文件的权限。

下载命令像这样:

TFSFieldMapping download Team_Foundation_Server team_project MappingFile.xml

上传命令像这样:

TFSFieldMapping upload Team_Foundation_Server team_project MappingFile.xml

 

原文地址:http://tutorial.visualstudioteamsystem.com/details.aspx?item=40

posted @ 2010-07-10 01:37  鱼十七  阅读(1168)  评论(0编辑  收藏  举报