Customizing Process Templates
As promised, I (Amy Hagstrom, VSTF Program Manager) am back this week to discuss customizing process templates.
What are process templates?
As mentioned last week, process templates are a type of blueprint for the Team Project Creation Wizard. They provide a set of team project customizations that support the processes a team should follow. VSTS will ship two process templates: MSF for Agile Software Development and MSF for CMMI Improvement. Out of the box, process templates will include these elements:
· Work Items
o Type definitions (such as Defect, Task, and Issue) – stay tuned for a post in the next couple weeks that covers modifying Work Item type definitions in more detail
o Queries
o Instances – these make up a Project Roadmap (a predetermined set of tasks that must be done for every project, such as gathering requirements or writing a vision document)
o Mapping of Work Item fields to MS Project columns
· SharePoint Site layout, theme, and content
o Document Templates
o Process Guidance
· Version Control Settings
o Check-in notes
o Permissions
o Multiple check-out
· Reports (SQL Reporting Services)
· Groups and Permissions
· Iterations
Beyond this, 3rd parties can write plug-ins for the Project Creation Wizard that could consume their own custom process templates elements.
How are process templates customized?
- It is best to start with an existing process template. To do this first launch the Process Template Manager in Visual Studio by going to the Team menu > Team Foundation Server Settings > Process Template Manager.
- Select the process template you want to base your custom process template on, and choose “Export.” This will download the process template to a local directory you specify. The process template is a cohesive set of folders and files.
- To change the name and description of the process template, edit ProcessTemplate.xml:
...
<methodology>
<metadata>
<name>Name of my Custom Process Template</name>
<description>Use this process template for projects that require light processes… </description>
...
- Determine which modifications you want to make, and edit the appropriate xml files using your favorite xml editor. In the below SCCTasks.xml I’m adding a new required check-in note called “Comments”, and making exclusive check-out required:
<?xml version="1.0" encoding="utf-8" ?>
<tasks>
<task id="SccTask" name="Create Source Control area" plugin="Microsoft.Pcw.Scc" completionMessage="Source control area created.">
<dependencies/>
<taskXml>
<permission access="Read, PendChange, Checkin, Label, Lock, ReviseOther, UnlockOther, UndoOther, LabelOther, AdminProjectRights, CheckinOther" grant="allow" identity="$$PROJECTNAME$$\Project Administrators"/>
<permission access="Read, PendChange, Checkin, Label, Lock" grant="allow" identity="$$PROJECTNAME$$\Contributor"/>
<permission access="Read" grant="allow" identity="$$PROJECTNAME$$\Reader"/>
<checkin_note label="Code Reviewer" required="true" order="499"/>
<checkin_note label="Comments" required="true"/>
<exclusive_checkout required="true"/>
</taskXml>
</task>
</tasks>
- If you are including new files (like a new document or report), add those files to the appropriate place in the folder structure.
- To upload your customized process template, launch the Process Template Manager again and do so via the “Import” button.
Any comments or questions?
Amy Hagstrom
Program Manager
Visual Studio Team Foundation