How to customize process template in Team System


Team System 除了提供原有的MSF Agile MSF for CMMI process improvement 兩種template, 還可以讓user 自己customize process template. 但是在 Team System , process template都是以 xml 格式的檔案來儲存, xml 原本就不是設計給人閱讀的檔案, 所以customize process template就變成不是那麼直觀的工作. 但其實了解了process template的結構後, customize team project template也不是一件非常困難的事. 以下就以一個簡單的例子來說明如何customize 一個task的工作流程.


 1.    首先, 在連上team foundation server (以下簡稱TFS) , Team Explorer裏的TFS名稱上滑鼠右鍵, 選擇 Team Foundation server Settings -> Process Template Manager.


2.    接著, Process Template ManagerExport把現有的template exportlocal machine. 在這個例子裏我選擇export MSF Agile.


View Picture


3.    Export出來的folder設成可讀寫以便等下編輯process files.  


View Picture



4.    選擇我要customizefile. 在這裏我選擇customize “Task” 的工作流程Task.xml. 這個檔案位於Currituck\TypeDefinitions\:


View Picture



5.    打開編輯器編輯task.xml可以發現task process template裏定義了三個主要的區塊: Fields, WorkflowForm. Fields這個區塊主要定義了task這個work item type在表單裏所有的field, 包括這個task的名稱, 什麼時候開啟, assign給那一個team member…等等, 所以task裏需要定義的值都是一個field. Workflow這個區塊定義了task這種work item的工作流程, 例如開啟後下一個state是什麼, resolve, close…等等. From這個區塊則定義了task要怎麼呈現在表單裏的格式, 例如title要多長多寬等.


View Picture



6.    有了對task process template 結構初步的了解, 接下來就可以開始customize. 原先內建於TFS裏的task 工作流程, state只有activeclosed兩種, 現在我希望能多加一個resolvedstate, 可以讓create taskteam memberreview的機會再去close這個task. 所以首先我必需要在Fields裏增加”Resolved Date””Resolved By”這兩個field就如同active state需要”Activated Date””Activated By”這兩個field.


View Picture


 7.    接下來要增加一個”Resolved” state. 請注意AssignedTo, ResolvedDateResolvedBy這三個fields在這裏是required.


View Picture


 8.    接下來要將原本的流程從active直接到closed變成active->resolved->closed. 如同下圖所示:


View Picture


View Picture


 9.    完成後save並於MetaData.xmlMethodologyTemplate.xml兩個檔案中將<name>的值customizesave.


10.  Process Template Managerimport customizedtemplate. Import過程TFSvalidate template是不是有不合語法的錯誤, 有的話可以依照提示的訊息修正.


11.  完成import後利用customizedtemplate create一個新的team project. 我們可以發現state field多了resolved, task process也變成active -> resolved -> closed.


View Picture


View Picture


 


 

Comments (2)
  1. 做為一個tester, 最重要的工作當然就是找到bug. 但是找到bug後, 要怎麼去report這個bug? Team System裏的 work item tracking可以提供一個簡單自動化的工具來report…

  2. 之前介紹如何客置化 Team Project 的 Process Template (How to customize process template in Team System). 那如果我要加入一個客置化的工作項目到已經存在的…

Comments are closed.

Skip to main content