Manual upgrade a TFS project to a new Process template

There are several ways to migrate your TFS projects to a new process template, in this blog I am going to describe how to do it manually. It’s not easy but might be worth a try.

  1. Download the process template you want to upgrade to disk with the process template manager, for example to D: MyDownloadedTemplate

  1. Backup your old work item type in the TFS project you want to upgrade with the process template editor in Team Foundation Power Tools or commandline with Witadmin.exe.

  1. If you have custom fields, add them to the downloaded process template with the process template editor.
  2. If you are going to change the name of a work item type (for example Task to Sprint Backlog Item) you first have change the name in the new template to the name in the old template.

  1. Open a Visual Studio 2010 command prompt
  2. Upload the new linktypes
    1. CD D:MyDownloadedTemplateProcess TemplateWorkItem TrackingLinkTypes
    2. witadmin.exe importlinktype /collection:http://MyTFS:8080/tfs/Defaultcollection /f:SharedStep.xml
    3. witadmin.exe importlinktype /collection:http://MyTFS:8080/tfs/Defaultcollection /f:TestedBy.xml
    4. Upload your modified work Items to your TFS project (work item types depending on process template)
      1. CD D:MyDownloadedTemplateProcess TemplateWorkItem TrackingTypeDefinitions
      2. witadmin.exe importwitd /collection:http://MyTFS:8080/tfs/Defaultcollection /p:”MyProject” /f:”Bug.xml”
      3. witadmin.exe importwitd /collection:http://MyTFS:8080/tfs/Defaultcollection /p:”MyProject” /f:”Task.xml”
      4. witadmin.exe importwitd /collection:http://MyTFS:8080/tfs/Defaultcollection /p:”MyProject” /f:”Product Backlog Item.xml”
      5. witadmin.exe importwitd /collection:http://MyTFS:8080/tfs/Defaultcollection /p:”MyProject” /f:”Sprint.xml”
      6. witadmin.exe importwitd /collection:http://MyTFS:8080/tfs/Defaultcollection /p:”MyProject” /f:”Impediment.xml”
      7. witadmin.exe importwitd /collection:http://MyTFS:8080/tfs/Defaultcollection /p:”MyProject” /f:”SharedStep.xml”
      8. witadmin.exe importwitd /collection:http://MyTFS:8080/tfs/Defaultcollection /p:”MyProject” /f:”TestCase.xml”
      9. Change the name of Work Item types with new names
        1. witadmin.exe” renamewitd /collection:http://MyTFS:8080/tfs/Defaultcollection /p:”MyProject”  /n:”Task ” /new:” Sprint Backlog Item “
        2. Update categories
          1. CD D:MyDownloadedTemplateProcess TemplateWorkItem Tracking
          2. witadmin.exe” importcategories /collection:http://MyTFS:8080/tfs/Defaultcollection /p:”MyProject” /f:categories.xml
          3.  Remove unwanted Work Item Types with WitAdmin.exe
          4. Copy Work Item Queries from a project created with the new template

  1. Remove the old Reports and create new reports with Team Foundation Power Tools (the template name depending on the template you are upgrading to).
    1. tfpt addprojectreports /collection:http://MyTFS:8080/tfs/DefaultCollection /teamproject:”MyProject” /processtemplate:” MSF for Agile Software Development v5.0″ /force
    2. With SharePoint you have two alternatives, upgrade your old site or creating a new. The easiest way is to create a new with tfpt addprojectportal (the same syntax as addprojectreports.
      1. tfpt addprojectportal /collection:http://MyTFS:8080/tfs/DefaultCollection /teamproject:”MyProject” /processtemplate:”MSF for Agile Software Development v5.0″
      2. If you already have a project portal that you want to continue to use, open the portal, select Site Actions, Site settings and Site Features. Turn on Dashboards (depending on template).
      3. From Team Explorer select “Team Project Setting”, “Portal Settings” and verify that you are connected to your SharePoint site and reports.

  1. If you want to copy old fields to new fields use Excel. This is with one exception that is if you want to copy plain text fields to HTML fields, this is not possible with Excel. To do this you can use the TFSmoveDecriptions tool, read more about it here