Microsoft Project 字段映射文件
可以自定义为 Team Foundation 中的工作项定义的字段映射到 Microsoft Project 中的字段的方式,还可以更改发布特定字段的方式。在 Microsoft Project 的字段映射文件中,可以定义 Team Foundation 中字段与 Microsoft Project 中字段之间的映射。Microsoft Project 包括预定义字段(如“任务名”)和自定义字段。当您在 Microsoft Project 中发布或刷新工作项数据时,字段映射可确定工作项数据库中的哪些字段与 Microsoft Project 中的字段匹配。
在映射文件中,应为每个团队项目指定字段。若要检索映射文件,可从团队项目进行下载。修改文件后,可以将该文件上载到团队项目,所做的更改将应用于该团队项目的所有用户。请参见 更改字段映射到 Microsoft Project 的方式。
主题内容
Mapping 元素
ReservedField 元素
SyncField 元素
ResourceNameSeparator 元素
层次结构链接类型
依赖项链接类型
影响发布和刷新的映射特性
Mapping 元素
若要指定工作项字段与项目列之间的映射,请使用 Mapping 元素。
使用以下 XML 语法指定工作项类型字段与 Microsoft Project 字段之间的映射。然后使用 Mapping 元素指定字段映射。
<Mapping WorkItemTrackingFieldReferenceName=""
ProjectField=""
ProjectName=""
ProjectUnits=""
PublishOnly="">
IfSummaryRefreshOnly=""/>
特性
下表描述可用于 Mapping 元素的特性。
特性 |
描述 |
---|---|
WorkItemTrackingFieldReferenceName |
必需。指定某个工作项类型中的字段的引用名称。 |
ProjectField |
必需。指定 Microsoft Project 中的字段的名称。通过在名称前添加“pj”前缀来指定预定义的字段名称,例如指定 pjTaskName 作为“任务名”列的名称。将自定义字段指定为 pjTaskText 并在后面跟一个数字,例如 pjTaskText11。 |
ProjectName |
可选。指定将作为 Microsoft Project 中的列名称显示的名称。如果未指定此特性,则将使用该工作项类型的字段名称。 |
ProjectUnits |
可选。指定将字段类型映射到 Microsoft Project 时使用的单位类型。可以指定以下值:pjMinute、pjHour、pjDay、pjWeek 和 pjMonthUnit。
说明
只能为指定持续时间或其他时间单位的字段指定 ProjectUnits。
|
PublishOnly |
可选。如果设置为 true,则指示字段将发布到工作项数据库,但不刷新。该值通常用于不应当在团队资源管理器中更新的计算字段。如果设置为 false,则表示字段会发布并刷新。默认值为 false。 在默认映射文件中,PublishOnly 特性设置为 true 的两个字段是“开始日期”和“完成日期”。 |
IfSummaryRefreshOnly |
可选。如果设置为 true,则指示字段永不发布到工作项数据库,但在以下条件也为 true 时会从工作项数据库进行刷新:
Microsoft Project 进行的任何更新或计算都可以覆盖从项目计划中的工作项数据库刷新的值。但是,修改后的值从来不会保存到工作项数据库中。此特性通常用于发布到工作项数据库时会导致数据不一致的摘要字段。 如果设置为 false,则表示字段可以发布并刷新。如果不指定,则默认值为 false。
说明
赋给 IfSummaryRefreshOnly 特性所赋的值将赋给 PublishOnly 的值。有关更多信息,请参见本主题后面部分中的影响发布和刷新的字段。
在默认映射文件中,“初始估计”、“剩余工作”和“已完成工作”字段的 IfSummaryRefreshOnly 特性设置为 true。 |
下面的示例演示如何将包含标题的工作项类型字段映射到任务名称的 Microsoft Project 字段:
<Mapping WorkItemTrackingFieldReferenceName="System.Title"
ProjectField="pjTaskName"/>
下面的 XML 语法演示一个更复杂的示例,该示例说明如何将具有开始日期的工作项类型字段映射到开始日期的 Microsoft Project 字段。由于该字段是计算字段,因此它被指定为发布但不刷新,以避免由于团队资源管理器更新而带来的错误。
<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.StartDate" ProjectField="pjTaskStart" PublishOnly="true"/>
说明 |
---|
最好的做法是将 Microsoft Project 中的计算字段映射到 Team Foundation 中的只读字段。这有助于避免混乱,使团队成员不会尝试更改计算字段。 |
返回页首
ReservedField 元素
ReservedField 元素用于支持在任务之间定义的分层链接,是可选元素。
如果映射中未指定此元素,则 Microsoft Project 将使用默认 pjNumber20 字段。
返回页首
SyncField 元素
使用同步字段可以控制每个任务的发布和刷新行为。当您使用**“Team System 任务单”视图时,此字段显示为带有标题“发布并刷新”**的列。
您必须在 Microsoft Project 字段映射文件中指定同步字段。使用下面的 XML 语法指定哪个字段是同步字段。若要指定同步字段,请使用 SyncField 元素。ProjectField 特性必须设置为有效的 Office Project 字段。
<SyncField ProjectField="" />
下面的示例演示如何将 pjTaskText25 指定为同步字段:
<SyncField ProjectField="pjTaskText25" />
有关如何在 Office Project 中使用同步字段的更多信息,请参见在 Office Project 中发布或刷新工作项。
返回页首
ResourceNameSeparator 元素
可使用 ResourceNameSeparator 定义对一个字符串中的资源名称进行区分的字符。Team Foundation 用户和资源会与 Active Directory 目录服务的用户进行同步。用户和资源的名称可能包含分隔符(如逗号),以分隔资源的姓氏、名字以及中间名首字母。
这是可选元素。如果映射中未指定此元素,则 Microsoft Project 将使用下表中定义的默认映射分隔资源名称:
如果 Active Directory 和团队项目列表分隔符为 |
则在 Office Project 中替换为 |
---|---|
, |
; |
; |
: |
. |
: |
如果要指定上表中未列出的字符,则可使用以下语法定义 ResourceNameSeparator:
<ResourceNameSeparator WorkItemTrackingCharacter="" ProjectCharacter=""/>
下面的示例演示当 Team Foundation 字符为“-”时,如何将字符“*”指定为要在 Office Project 中使用的分隔符。
<ResourceNameSeparator WorkItemTrackingCharacter="-" ProjectCharacter="*"/>
返回页首
层次结构链接类型
在 Microsoft Project 中创建摘要任务时,会在摘要任务、父任务以及下属任务或子任务之间创建树链接。Office Project 将使用默认 System.LinkTypes.Hierarchy 来创建这些链接。
返回页首
依赖项链接类型
在 Microsoft Project 中创建任务之间的链接时,可在任务之间创建依赖链接。会向“前置任务”链接分配前置任务,向“后续任务”链接分配后续任务。这些是为 System.LinkTypes.Dependency 链接类型定义的默认指定。
返回页首
影响发布和刷新的映射特性
以下映射字段和 Microsoft Project 字段值确定是否发布或刷新工作项的值:
每个工作项的**“发布并刷新”**的值。
特定映射字段的 PublishOnly 特性的值。
特定映射字段的 IfSummaryRefreshOnly 的值。
作为摘要或父任务的任务分类。
父任务是至少有一个发布到 Team Foundation Server 的子任务的任务。
对于不是摘要任务的工作项
下表基于映射字段特性以及对项的**“发布并刷新”**值的赋值,指示是否发布或刷新不是摘要或父任务的工作项。
发布并刷新 (任务级别) |
PublishOnly 特性 |
是否发布字段? |
是否刷新字段? |
---|---|---|---|
否 |
True 或 False |
否 |
否 |
仅刷新 |
True 或 False |
否 |
是 |
是 |
True |
是 |
否 |
是 |
False |
是 |
是 |
对于是摘要任务的工作项
如果符合摘要任务条件且 IfSummaryRefreshOnly 为 true,则其值将取代 PublishOnly 值。下表基于对任务的**“发布并刷新”**值的赋值以及映射字段特性,指示是否发布或刷新摘要或父任务。
发布并刷新 (任务级别) |
PublishOnly 特性 |
IfSummaryRefreshOnly 特性 |
是否发布字段? |
是否刷新字段? |
---|---|---|---|---|
否 |
True 或 False |
True 或 False |
否 |
否 |
仅刷新 |
True |
True |
否 |
是 |
仅刷新 |
True |
False |
否 |
是 |
仅刷新 |
False |
True 或 False |
否 |
是 |
是 |
True 或 False |
True |
否 |
是 |
是 |
True |
False |
是 |
否 |
是 |
False |
False |
是 |
是 |
返回页首