Saturday, May 1, 2010

Change the regional settings of the Sharepoint site in a TFS Process Template

Last week I had an interesting customer request. For every Team Project SharePoint site they created in Team Foundation Server, the time zone information was wrong. Setting the "Default Time Zone" in the "Virtual Server Default Settings" for the "Default Web Site" makes no difference.

I found out that TFS places two global templates in SharePoint, which are referenced from the Agile and CMMI process templates. These two global templates include both the Locale and Time Zone settings to be used for newly create TFS SharePoint sites.

So, how can we solve this?

The first step is creating a new template with the correct regional settings. Therefore we have to create a new SharePoint site based on the existing templates and then change the regional settings. This site can then be saved as new global templates in SharePoint which can then be used by the TFS process templates.

  1. Use IE to navigate to the default web site on the TFS application tier
  2. Create a new sub-site via:
    1. Create
    2. Sites Workspaces
  3. When prompted, select the VSTS_MSFAgile template
  4. Change the Regional Settings in the newly created sub-site via:
    1. Site Settings
    2. Go to Site Administration
    3. Change Regional Settings
  5. Save the regionalized site as a new SharePoint template via:
    1. Site Settings
    2. Go to Site Administration
    3. Save site as a template
  6. Navigate to the site template gallery, either by following the link displayed after saving the template or:
    1. Navigate to the default web site on the TFS application tier
    2. Site Settings
    3. Go to Site Administration
    4. Manage site template gallery
  7. Save the template to the TFS application tier disk.

Now we have a regionalized template available. To register this new template, do the following:

  1. Log onto the TFS application tier
  2. From a Windows Command Prompt, cd to [Program Files]\Common Files\Microsoft Shared\web server extensions\12\BIN\
  3. Run the following command and then restart IIS:
   1:  stsadm -o addtemplate -filename <template file> -title <template title>

As a last step we have to update our process template to use this new Sharepoint template:

  1. Use Process Template Manager to download the "MSF for Agile Software Development - v4.1" process template to disk. For the uninitiated, "Process Template Manager" can be accessed using the following steps:
    1. Launch Team Explorer and connect to your TFS box
    2. Using the context menu of the server node (right-click on the root node in Team Explorer), expand Team Foundation Server Settings
    3. Select Process Template Manager
  2. Locate the directory containing the downloaded process template and open the .\Windows SharePoint Services\WssTasks.XML file
  3. Look for the "template" attribute in the "site" element near the top of the file. For the MSF Agile template, this should have the value "VSTS_MSFAgile".

    wsstasks 

  4. Now change the value of the "template" attribute to the name of your previously regionalized SharePoint template.
  5. Save the WssTasks.XML file.
  6. Save the ProcessTemplate.xml file.
  7. Use Process Template Manager to upload the modified set of files.

If that succeeds, you should be ready to create a new Team Project based on the regionalized template. The SharePoint sites based on this new process template should now show dates etc in the format that is used by your region.

No comments: