Upgrade TeamPulse TFS Process Template (TeamPulse v1.0) to access features provided with Visual Studio Team Foundation Server 2012

If you are using unchanged TeamPulse v1.0 process template, you can directly download the updated version that we already updated for you - TeamPulse process template for TFS 2012 and TeamPulse process template for TFS 2013. After that you can directly proceed with configuring your existing projects.

If you are using customized TeamPulse TFS Process Template (TeamPulse v1.0) and you want to keep your changes, in order to access the new features provided with Visual Studio Team Foundation Server 2012/2013 or Visual Studio Team Foundation Server 2013, you will need to perform manual update of the process template following the instructions in this article, making sure to take into account preserving your customizations. This is needed because TeamPulse v1.0 is a customized process template and cannot be automatically updated by the TFS Configure Features wizard.

(You can find the generic instructions for updating customized process template provided by MSDN here. The steps below provide the same advises plus some more detailed or specific to the TeamPulse v1.0 template instructions for your convenience.)

In order to perform the manual upgrade, you will need Process Editor - a power tool add-in for Visual Studio 2012 which you can download and install from here. When installing Power Tools make sure that Process Editor is selected among the features being installed:


You will need the initial TeamPulse v1.0 process template in order to customize it. You can download the original template from here or you can download it from your TFS server (especially if you have already made some customizations to it). To download it from TFS you can open Visual Studio, click on Team -> Team Project Collection Settings -> Process Template Manager.



Select the TeamPulse v1.0 process template and click download.



Since the TeamPulse v1.0 process template originates from the MSF for Agile Software Development v5.0 process template – you will need to download the new MSF for Agile Software Development v6.0 process template too so that you can use files from it for the manual upgrade. (See here for more information.)

You need to copy or add files from the folder of MSF for Agile Software Development v6.0 to the folder that contains the TeamPulse v1.0 process template.

1. Copy the following files to the WorkItem Tracking\TypeDefinitions folder: CodeReviewRequest, CodeReviewResponse, FeedbackRequest, and FeedbackResponse.

2. Copy the following file to the WorkItem Tracking\Query folder: Feedback.wiq.

3. Copy the WorkItem Tracking\Process folder and its two process configuration files to the WorkItem Tracking folder.

Edit the CommonConfiguration.xml file by replacing the RequirementWorkItems element as follows:

<RequirementWorkItems category="Microsoft.RequirementCategory" plural="Stories">

    <States>

      <State value="Not Done" type="Proposed" />

      <State value="In Progress" type="InProgress" />

      <State value="Ready for Test" type="InProgress" />

      <State value="Done" type="Complete" />

    </States>

  </RequirementWorkItems>

Edit the CommonConfiguration.xml file by replacing the TaskWorkItems element as follows:


  <TaskWorkItems category="Microsoft.TaskCategory">

    <States>

      <State value="Not Done" type="Proposed" />

      <State value="In Progress" type="InProgress" />

      <State value="Done" type="Complete" />

    </States>

  </TaskWorkItems>

Edit the CommonConfiguration.xml file by replacing the BugWorkItems element as follows:

  <BugWorkItems category="Microsoft.BugCategory">

   <States>

                  <State value="Not Done" type="Proposed" />

      <State value="In Progress" type="InProgress" />

      <State value="Ready for Test" type="InProgress" />

      <State value="Done" type="Complete" />

      </States>

  </BugWorkItems>

Note: The Bug item type in TeamPulse does not have a Resolved status that could be mapped to the Resolved metastatus (described in the CommonConfiguration.xml and used by the My Work feature in Team Explorer). If you wish to use Team Explorer My Work to track the status of your bugs – you can assign a desired bug status to the Resolved metastatus in CommonConfiguration.xml)

4. Replace the Process Guidance folder, located under Windows SharePoint Services folder, with the contents of the latest folder. These files provide forward links to the latest process guidance content. See Define the Project Portal Plug-in for a Process Template.


Note: While testing for the purpose of this article we encountered a problem that prevented us from uploading the updated process template that was related to the process not finding an obsolete "~ \Windows SharePoint Services\Process Guidance\Supporting Files\ProcessGuidance.htm" file.  Our suggestion is to also update the records under <!-- Process Guidance --> in the “~\Windows SharePoint Services\WssTasks.XML" file with the ones listed in the file for the new process template:




5. Add new categories to the categories file.
Add this code snippet to the Categories file located in the WorkItem Tracking folder:

<CATEGORY name="Code Review Request Category" refname="Microsoft.CodeReviewRequestCategory">

    <DEFAULTWORKITEMTYPE name="Code Review Request" />

  </CATEGORY>

  <CATEGORY name="Code Review Response Category" refname="Microsoft.CodeReviewResponseCategory">

    <DEFAULTWORKITEMTYPE name="Code Review Response" />

  </CATEGORY>

  <CATEGORY name="Feedback Request Category" refname="Microsoft.FeedbackRequestCategory">

    <DEFAULTWORKITEMTYPE name="Feedback Request" />

  </CATEGORY>

  <CATEGORY name="Feedback Response Category" refname="Microsoft.FeedbackResponseCategory">

    <DEFAULTWORKITEMTYPE name="Feedback Response" />

  </CATEGORY>

  <CATEGORY name="Task Category" refname="Microsoft.TaskCategory">

    <DEFAULTWORKITEMTYPE name="Task" />

  </CATEGORY>

  <CATEGORY name="Hidden Types Category" refname="Microsoft.HiddenCategory">

    <DEFAULTWORKITEMTYPE name="Code Review Request" />

    <WORKITEMTYPE name="Code Review Response" />

    <WORKITEMTYPE name="Feedback Request" />

    <WORKITEMTYPE name="Feedback Response" />

    <WORKITEMTYPE name="Shared Steps" />

  </CATEGORY>

6. Add tasks to the WorkItems plug-in file.

6.1. Open the workitems.xml file (located under the WorkItem Tracking folder), find the <WORKITEMTYPES> section and add the following rows:

        <WORKITEMTYPE fileName="WorkItem Tracking\TypeDefinitions\CodeReviewRequest.xml" />

        <WORKITEMTYPE fileName="WorkItem Tracking\TypeDefinitions\CodeReviewResponse.xml" />

        <WORKITEMTYPE fileName="WorkItem Tracking\TypeDefinitions\FeedbackRequest.xml" />

        <WORKITEMTYPE fileName="WorkItem Tracking\TypeDefinitions\FeedbackResponse.xml" />

6.2. Under the <QUERIES> element – replace the <Permission allow="Read" identity="[$$PROJECTNAME$$]\Builders" /> statement with this one: 
<Permission allow="Read" identity="[$$PROJECTNAME$$]\Build Administrators" />

6.3. Add this code snippet to the <QUERIES> section:

<Query name="Feedback" fileName="WorkItem Tracking\Queries\Feedback.wiq" />

Note:  The TeamPulse process template already has two queries related to Feedback items (listed in workitems.xml in a separate “Feedback” folder. Leave the “Feedback” query folder as it is and add the new query record in the root <QUERIES> element.)

6.3.1. The existence of the “Feedback” folder mentioned in the last paragraph can appear to be a problem when uploading the updated process template. In this case you can delete the records for the Feedback folder and its two included queries from the <QUERIES> section:

6.4. Add this code snippet right as the last task within the <tasks> section:

<task id="ProcessConfiguration" name="Process Configuration" plugin="Microsoft.ProjectCreationWizard.WorkItemTracking" completionMessage="Process configuration uploaded">

    <dependencies>

      <dependency taskId="WITs" />

      <dependency taskId="Categories" />

    </dependencies>

    <taskXml>

      <PROCESSCONFIGURATION>

        <CommonConfiguration fileName="WorkItem Tracking\Process\CommonConfiguration.xml"/>

        <AgileConfiguration fileName="WorkItem Tracking\Process\AgileConfiguration.xml"/>

      </PROCESSCONFIGURATION>

    </taskXml>

</task>

6.5. Save and close the file.

7. Add team settings to the groups and permissions file (~\Groups and Permissions\GroupsandPermissions.xml)

You can predefine a set of iteration paths using the iterationPath element within teamSettings as shown in the examples below. Also, by adding the default team as a member of the Contributors group, you automate the assignment of Contributor permissions to team members. You can customize these definitions as needed.

Add this code snippet as the first <group> within the <groups> section:

<group name="@defaultTeam">

   <permissions>

      <permission name="GENERIC_READ" class="PROJECT" allow="true" />

   </permissions>

   <members>

      <member name="@creator"/>

   </members>

   <teamSettings areaPath="Area">

      <iterationPaths backlogPath="Iteration">

         <iterationPath path="Iteration 1" />

         <iterationPath path="Iteration 2" />

         <iterationPath path="Iteration 3" />

      </iterationPaths>

   </teamSettings>

</group>

Add the <members>…<</members> code snippet at the end of the <group> that defines Contributors within the <groups> section:

   <members>
      <member name="@defaultTeam"/>
   </members>


8. Open the ProcessTemplate.xml file and add the following element after the <description element>:

                <version type="ADCC42AB-9882-485E-A3ED-7678F01F66BC" major="6" minor="21"/>


9. Optional updates

Please review the Optional Updates section in the official msdn page to decide if you need to perform some of them according to your case.

10. Upload the updated process template (open Visual Studio, click on Team -> Team Project Collection Settings -> Process Template Manager) (You can overwrite your old TeamPulse v1.0 template.)

Post-upload steps

After you have uploaded the updated process template, you can use the Configure Features wizard to update a team project that was created based on that process template. Choose the Configure Features link that appears on the administration panel for the team project. For more information, see Configure features after a TFS upgrade.