且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

探讨VSTS联合MS PROJECT协同开发之二:应用篇

更新时间:2022-09-22 17:26:13

五、连接到VSTS
为了在MS PROJECT中创建和更新工作项,你首先需要连接到一个团队工程。为此,在MS PROJECT中打开一个新的工程计划,这将激活插件工具栏中的"Choose Team Project"按钮(图1)。当你点击此按钮时,你将看到如图2所示的对话框。
探讨VSTS联合MS PROJECT协同开发之二:应用篇
图2:连接到一个Team Foundation Server-这个对话框
让你选择一个团队工程和一个Team Foundation Server
在此对话框顶端的下拉列表框列出当前可用的Team Foundation Server。如果一个也没有列出,那么,你可以通过点击“Servers…”按钮显示一个对话框列出所有可用的服务器来添加新的服务器。该对话框中含有 “Add”和“Remove”按钮;点击“Add”按钮将显示一个如图3所示的对话框。
探讨VSTS联合MS PROJECT协同开发之二:应用篇
图3:添加Team Foundation Server-此对话框
让你把一个新的TFS添加到服务器列表
以这种方式添加的服务器以顺序方式显示于图2所示的下拉列表框。当你选择一个TFS时,在“Team Projects”文本框中将显示在相应的服务器下可用的团队工程。注意,每次仅可以选择一个团队工程。当你选择一个工程并点击OK后,你将看到一个正常的MS PROJECT接口,但是它将显示了一组不同的数据栏,如图4所示。
探讨VSTS联合MS PROJECT协同开发之二:应用篇
图4.连接到一个团队工程的空白工程计划-此图展示了一个新的MS PROJECT计划,
其中显示了适合于一个团队工程的一组栏目
通过点击“Get Work Items”按钮,你可以从连接的团队工程中导入工作项,图5显示了相应的对话框。
探讨VSTS联合MS PROJECT协同开发之二:应用篇
图5:使用这个对话框,你可以从一个选择的团队工程中观察、
选择和导入工作项
“Get Work Items”对话框允许用户观察选择的团队工程中可用的工作项和选择工作项以导入到新的工程计划中。通过在团队工程中运行一个基于WIT的查询或存储查询,该插件能够完成这一任务。该对话框将以数据格子的形式展示查询结果。用户可以选择那些他们想导入的工作项-通过选择相应的复选框来实现。
在你选择一些工作项后,点击OK返回到以你选择的工作项填充的工程计划下,如图6所示。
探讨VSTS联合MS PROJECT协同开发之二:应用篇
图6:填充工程计划-以选择的工作项填充的MS PROJECT计划

六、使用工程
当你把一个打开的工程计划连接到选定的团队工程时,两处接口将会改变:①“Choose Team Project”按钮被禁用,其它按钮都可以使用;②工程计划中的数据栏改变成显示相应的工作项域。在本文后面,我将描述这些栏以及它们到MS PROJECT栏的映射。
注意,你并不限于仅使用那些自动显示的栏。借助于MS PROJECT的“Insert Column”选项,你还可以在工程计划中显示其它的MS PROJECT栏。
值得注意的是,你还可以从Visual Studio内部打开MS PROJECT;当你以这种方式打开它时,你不必手工地把工程计划连接到一个团队工程和导入工作项。下面展示了这一过程。Visual Studio提供一个类似于格子的接口来展示一个工作项查询的结果,如图7所示。
探讨VSTS联合MS PROJECT协同开发之二:应用篇
图7:查询结果以一个类似于格子的形式显示于Visual Studio内
在图7中,你可以看到在查询结果页面的按钮工具栏中出现一个显示有MS PROJECT图标的按钮。点击这个按钮将自动地连接到包含那些工作项的团队工程,并且使用一个包含在此查询结果页面中选择的工作项的工程计划打开MS PROJECT。Visual Studio还允许你从Team Explorer中打开一个连接的工程计划。为此,Team Explorer提供一个树状结构来存取不同的团队工程组件-例如工作项,文件,等。其中有一个“Work Items”结点,其上下文菜单中提供了选项“Add Work Items with Microsoft Project”;点击该选项将打开一个连接到团队工程的空白工程计划。
在创建工程计划并把它连接到一个团队工程后,你可以使用该计划来编辑现有工作项或创建新的工作项。
【作者注】从此往后,我将使用术语“连接的工程计划”来指代一个通过连接到一个团队工程创建的工程计划。这里的“连接的”并不是指在MS PROJECT和TFS之间创建网络连接,而只是意味着该计划关联到一个团队工程中。就网络连接来说,MS PROJECT通常是在一种中断连接的方式下工作的,仅在必要时,例如当时出版或刷新时,它才连接到TFS。
(三) 添加与编辑工作项
你可以使用与在一个中断连接的工程计划中添加或编辑任务一样的方式在一个连接的计划中添加和编辑工作项。你可以通过在工程计划的一个空白行的适当的栏中输入工作项域的值来添加新的工作项。你可以通过某工作项的一个或多个栏中的值来编辑现有工作项。你可以编辑除了“Work Item ID”栏(工程计划中的第一栏)以外的栏的值。工作项ID是一个数字,它唯一地标识一个TFS中的所有工程的工作项。
许多栏都提供了相应的下拉列表框以显示一组预先定义的值-这些值可以直接从该栏中输入。例如,“Work Item Type”栏就展示所有的WIT-任务,错误,等等。
(四) 共享工程计划
借助于VSTS,你可以与其它团队成员共享工程计划,并且仅通过一个简单的按钮点击把它更新到当前状态。但是这种简化并没有减少工程管理器对于共享过程的控制权,也没有导致数据一致性方面的妥协。工程经理可以专门选择他们想共享的工作项。它们还可以选择单向或双向方式来实现工作项同步。如果工程计划(本地的)中的数据与TFS中间位置的数据发生冲突,那么,该工程可以把本地的和服务器版本的数据共同呈现给用户,然后,由用户选择他们想保留的版本。
(五) 出版与刷新的问题
MS PROJECT以中断连接的方式使用工作项的一个本地的副本工作;因此,为了实现与TFS中所作更改的同步,你必须通过点击“Publish”按钮来出版该计划。
当你出版一个包含新输入行的工程计划时,TFS会为相应的团队工程针对每一个新行创建一个新的工作项。每一个新的工作项都有一个对应的工作项ID。MS PROJECT插件正是使用对应栏中的这个值来标识TFS中每一行相应的工作项。通过这种方法,可以确定你是否已经出版了某些项-如果一些行中的ID栏为空,那么这意味着那些行还没有出版并且在TFS中也没有任何相应的工作项。同样,当改变和出版一个工程计划中的现有工作项时,这样的改变将影响到TFS中的这些工作项。
就象你出版一个工程计划中的改变一样,你可以通过刷新当前视图实现TFS中所作的改变与工程计划的往回同步-这是通过点击连接的工程计划中的“Refresh”按钮实现的。存在多个情况可以从本地的MS PROJECT副本外部来改变工作项。例如,当出版工作项时,团队成员将在他们的工作项列表中得到分配给他们的工作项。当他们完成一些工作时,他们可以通过Visual Studio更新相应的工作项。团队***还可以从MS Excel或一些其它MS PROJECT实例中更新一些工作项。所有这些都是与共享单个数据副本的多个团队成员观察到的内容保持同步的。
(六) 同步选项
通过设置“Publish and Refresh”栏中适当的值,工程经理可以控制一个工程计划和TFS之间的同步级别。“Publish and Refresh”是一个特别的栏,因为它在任何工作项中都没有一个相应的域,这个栏仅用于设置同步级别-这可以是下列三个值之一:
1. Yes-在工程计划所作的改变将被出版到TFS,而且在TFS中所作的改变还要往回同步工程计划。这是一个工程计划中针对所有工作项的双向同步设置(也是缺省的设置)。
2. Refresh Only-在工程计划中所作的改变不被出版到TFS,但是,在TFS中所作的改变还要往回同步工程计划。当工程计划需要使用工作项的一个只读副本时,使用这个选项。这是一种单向式(TFS→本地)选项。
3. No-在工程计划所作的改变不被出版到TFS,而且,在TFS中所作的改变也不往回同步工程计划。对于仅应该存在于工程计划中的任务,你可以使用这个选项。
【作者注】上面我一直使用的术语"任务"是指工程计划中的行,因为该行根本不会被出版,所以也就不存在任何相应的工作项。
通常,工程经理使用“Summary”任务来把一个工程计划中的庞大的任务列表组织成一些较小的组。但是“Summary”任务并不被独立地追踪,因为它们仅显示其包含的任务的计算值,并且没有任何与之关联的工作。注意,你可以给这些"Summary"任务一个“No”值以确保在出版工程计划时TFS不会为这些创建相应的工作项。
探讨VSTS联合MS PROJECT协同开发之二:应用篇
图8:这个对话框显示所有由于错误而没有出版的工作项
请记住:因为工程计划往往工作于非连接方式下,所以,仅当出版或刷新时才使用“Publish and Refresh”栏中的值。












本文转自朱先忠老师51CTO博客,原文链接:http://blog.51cto.com/zhuxianzhong/60153 ,如需转载请自行联系原作者