Team Project Collection Deliver


One of the great new functionalities in Team Foundation Server 2010 is the ability to take a team project collection and connect it to an entirely different TFS system.


So, for example, if you were a consultant with your own TFS system and you built a starter project for the company Contoso, you can build the project on your own TFS instance and then deliver it in its entirety to Contoso when you are done.  Here are the steps for this process


 The attached Word document includes pictures to help you through this process.


Pre-Deliver Steps


Step 1: Make a new Team Project Collection


It can be difficult to deliver a single project if it is in a Team Project Collection (TPC) that is populated with non-delivered projects. So, for best results, if you know you are going to deliver a project, then create a new TPC for it.


Step 2: Make a new Team Project


You need a project if you are going to deliver it


Step 3: Work on and finish your project


Deliver Steps On Original Server:


Step 4: Stop Working on the project


Once you are ready to deliver a project, you should stop working on it to avoid problems


Step 5: Detach the team project collection


You will need to detach the team project collection from the TFS server. This will store crucial information in the team project collection that allow it be hooked up to another TFS instance.


Step 6: Backup the project collection


You’ll need to backup the team project collection database in SQL using the process described here: http://msdn.microsoft.com/en-us/library/ms187510.aspx


Set 7: Backup the SharePoint Site collection (only if SharePoint site collection will be delivered)


You’ll need to backup the SharePoint site collection using the backup command under stsadm. This command must be run as an admin


stsadm -o backup -url <site_name> -filename <file_where_backup>


for example


stsadm -o backup -url http://contoso/sites/DefaultCollection -filename c:\default_collection.bak


More information on this command can be found here: http://technet.microsoft.com/en-us/library/cc263441.aspx Note: stsadm is usually stored in c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\Bin (although not allways) Must be run as admin


Set 8: Backup the Reporting Services Reports (only if reports will be delivered)


Modify the script GetReportsFromServer.rss (located here) so that gMovingCollection is the name of the project collection that you are delivering. Executing this script will create a local copy of all RDL files stored in this collection.


This script is executed by running the command:


rs -i GetReportsFromServer.rss -s http://<tfsServer>/reportserver


for example


rs -i GetReportsFromServer.rss -s http://contoso/reportserver


Deliver Steps on New Server


Step 9: Restore the project collection


You’ll need to restore the team Project collection database in SQL: http://msdn.microsoft.com/en-us/library/ms177429.aspx


Step 10: Restore the SharePoint site collection (only if SharePoint site collection will be delivered)


You’ll need to restore the SharePoint site Collection via the following command the restore command in stsadm. This command must be run as an admin


stsadm -o restore -url <site_name> -filename <file_where_backup>


for example


stsadm -o restore -url http://contoso/sites/DefaultCollection -filename c:\default_collection.bak


More information on this command can be found here: http://technet.microsoft.com/en-us/library/cc262087.aspx. Note: stsadm is usually stored in c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\Bin (although not allways) Must be run as admin


Step 11: Restore the Reporting Services Reports (only if you are delivering reports)


Modify the script PushReportsToServer.rss (located here) so that gMovingCollection is the name of the project collection that you are delivering. Executing this script will push all RDL files to the server.


This script is executed by running the command (in the parent folder of the output of Step 8 to the Reporting Server on the new system).


rs -i PushReportsToServer.rss -s http://<tfsServer>/reportserver


for example if Step 8 was in the folder C:\TFS_DefaultColleciton, then while in the C:\ directory execute:


rs -i PushReportsToServer.rss -s http://contoso/reportserver


Step 12: Attach the project collection


In the admin console, attach the the newly restored database


Step 13: Edit the Default Site location for the SharePoint site (only if SharePoint site collection will be delivered)


In the admin console, change the default site location for SharePoint.


Step 14: Change the SharePoint Web application and repair connection (only if SharePoint site collection will be delivered)


When you attach the project collection, the old SharePoint web application will be added to the system. You need to change this URL to match the location of the new SharePoint connection, and then Repair this connection so that each of the projects in your delivered project collection will connect to the correct site.


Note: This step will give you two SharePoint Web Applications that have the same URL. If you want to consolidate these two SharePoint Web Applications, then you will need to manually change the SharePoint Web Application for each project. Directions for this are given in “Alternative Steps 14 and 15” below. The only problem with having two SharePoint web applications with the same URL is that if you ever want to change your SharePoint web application URL, then you will have additional Web Applications to adjust.




Step 16. You’re done!


One note, if you’ve migrated Reporting Services reports, then this may take 2-3 hrs to populate.


Alterative Step 14: For each project in the new collection, Change the portal settings to point to the new SharePoint server (only if SharePoint site collection will be delivered)



Step 14 a. Right-Click on each project



Step 14 b. Choose Team Project Settings->Portal Settings



Step 14 c. Under the Process Portal tab check Configure URL and choose the new web application from the drop down




Step 14 d. Under the Process Portal tab check Configure URL and choose the new web application from the drop down. Click Refresh and choose Process Guidance


Alternative Step 15 Clean up the SharePoint web applications on the new server.



Step 15 a. In the Administration Console under the SharePoint Web Application tab, click on the old SharePoint application (if it exists) and click Change. In the pop-up dialog, go to Dependents and check to make sure that there are no entries present. If projects exist,  follow step 13 for those projects



Step 15 b. In the Administration Console under the SharePoint Web Application tab, delete the old server (if it exists). If you get the popup elow and you finished step 15 a. then click Yes


               

Team Project Collection Deliver.docx

Comments (1)

  1. Shanksy says:

    Thanks for the great post. Im currently in the process of moving the Team Project Collection, however it is moving between two untrusted domains.

    Is there a way of remapping the credentials for the active and historic work items?

    For example

    Joe Blogs(Domain: X) ——-> Joe Blogs (Domain: Y)

Skip to main content