Visual Studio Team System (VSTS) Blog - by Neno Loje

Neno's Blog about Team Development and Software Quality with Microsofts ALM platform - since 2005

News

Recent Posts

Community

Tags

Email Notifications

VSTS Blogs

VSTS Sites

VSTS Community

My Other Blogs

German VSTS Websites

Archives

A very Basic Process Template to start with

If you want to start small with your team project you might consider the "Basic Process Template" instead of the built-in MSF Agile and MSF CMMI process templates. It can find on MSDN. From the description:

The basic process template includes:

  • one work item type: bug,
  • three queries: AllWorkItems, MyWorkItems, and MyWorkItemsAllTeamProjects,
  • a basic Windows SharePoint Services team portal (created from the default site template),
  • and a SQL Server 2005 Reporting Services site that has the following reports on it: Builds, Bug Rates, Quality Indicators, Tests Failing Without Active Bugs and Load Test Summary.

Use this process template as a basic starting point and an alternative to the MSF for Agile Software Development or the MSF for CMMI Process Improvement templates.

Step 1: Upload the process template to your TFS

Step 2: Create a new team project (using the new process template)

Step 3: Discover what's been created

Link: http://msdn.microsoft.com/en-us/library/ms194993(VS.80).aspx

Q: How Do I link work items with SharePoint documents?

A: Two possible ways:

Step 1: Get the URL of the document saved in a SharePoint document library

From the project portal:

Right-click the file and select Copy Shortcut. Done.

Image-0007 

From the Team Explorer window in Visual Studio:

Right-click the file under the Documents folder and select Properties.

InVS1 

The quickest way is to double-click on "Url", then right-click the blue-marked URL on the right side and select Copy (or press Ctrl+C respectively).

InVS2

Step 2: Add the link to the work item

Select Add on the work item's Links tab:

Image-0002

Select the a link type of "Hyperlink":

Image-0003 

Paste the URL and enter a comment optionally:

 Image-0005

Confirm with "OK".

Image-0006

Done.

TFS Tip: Enabling Work Item meta data filtering

Beginning with TFS 2008 SP1 you can specify that only the necessary part of the Work Item meta data will be transferred to the client caches, e.g. not the meta data for project you have no permission on. This is not done by default.

You can read all the glory details in Martin Woodward's blog. Short excerpt:

Enabling WIT Meta-data filtering

Now that we have been through all the gory details, let's finally see how to switch on the feature.

In the appSettings section of the %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Web Services\WorkItemTracking\web.config file add the following keys

   1: <add key ="filterClientMetadata" value="true"/>
   2: <add key ="excludedUserAgents" value="WebAccess:w3wp:witfields:witimport:witexport:witadmin"/>

The filterClientMetadata switch determines whether to filter client metadata based on the calling user's access rights (true) or not (false). If not provided the setting will default to false.

The excludedUserAgents switch is a colon delimitated list of strings that may appear in the requested clients HttpRequest UserAgent header. You can take a look at your IIS logs or your TFS Activity logs to determine what user agents are used, but a handy feature of the TFS .NET API is that the executable name using the API is recorded in the user agent string, meaning that you can easily find your specific utility and exclude it if necessary. As far as I am aware, the only publically accessible application that makes use of shared meta-data is Team System Web Access, so we put "WebAccess" in our excluded user agents setting. We also put in the names of the utilities in Team System that need to see all the metadata to report back correct information to the TFS administrators.

Ways to access Team Foundation Server

Pick your favorite tool for your task/job:

From Visual Studio:

From the command line:

From the web browser:

From Microsoft Office products:

From other platforms or IDEs:

From Windows Explorer:

From other products:

Footnotes
(*) requires Team Explorer to be installed.
($) means the product is a commercial third party solution.

Script for shutting down TFS services

To shut down all services used by TFS you can use the following batch file:

Stop_TFS_BatchFile

Using TFS to develop custom SharePoint applications

Using Team Foundation Server to Develop Custom SharePoint Products and Technologies Applications

Summary: Use Microsoft Visual Studio 2008 Team Foundation Server to support SharePoint application development, and provide an integrated development environment and single source code repository for process activities, integrated progress reporting, and team roles. (12 printed pages)

Author: Microsoft Corporation, September 2008

Link: http://msdn.microsoft.com/en-us/library/cc948982.aspx

Specifying a minimum size for controls on the work item form

If you try to set the minimum size for a control you now need to specify a SizeType like "(50,100)" instead of "50,100".

Error message (from witimport.exe):

The 'MinimumSize' attribute is invalid - The value '50,100' is invalid according to its datatype 'SizeType' - The Pattern constraint failed.

Using a minimum size you can create multiple large text boxes on the work item form layout:

01.10

Workaround: Team Explorer window is empty

If this is the case...

20.08

Try...

  1. Make sure Visual Studio is closed (and devenv.exe not in memory anymore)
  2. Run: devenv /setup
  3. Check if it's fixed already. If not, close down VS again.
  4. Run: devenv /resetuserdata

The Team Explorer window should now look like expected again.

(Thanks to Sven Hubert for the screenshot and workaround verification.)

How Microsoft uses Team Foundation Server internally

A good read:

About the technical side:

Update Warning: Security Update for SQL Server 2005 Service Pack 2 (KB948109) might break Reporting Services

Name des Updates und Nummer:

  • Security Update for SQL Server 2005 Service Pack 2 (KB948109)
    version 9.00.3068.00 released on 7/8/2008

Applies to:

  • SQL Server 2005 Service Pack 2 with Reporting Services installed

Symptoms & Result:

  • After installation the SQL Server 2005 Reporting Services service might not start. Therefore the Reporting Services cannot be used anymore.

Distribution:

  • The Update is distributed via Windows Update.

Workaround:

  • Uninstall the update (requires a restart).

My recommendation:
(for your internal SQL server you use for TFS)

  • Do not install the update and wait for the next service pack release.

Related Links:

Visual Studio 2008, .NET 3.5 and TFS 2008 Service Pack 1 released

Service Packs for VSTS/TFS do not only contain bug fixes, but quite a few nice new features as you can read here (more general) and here (TFS-specific).

Download links:

If you have trouble installing SP1 look here and here.

 

Tip #1: Uninstall Visual Studio Hotfixes first

If you previously installed a Visual Studio 2008 Hotfix, you must run the Hotfix Cleanup Utility before installing Visual Studio 2008 SP1. For more information, see Visual Studio 2008 Hotfix Cleanup Utility for Installing Visual Studio 2008 SP1.

RemoveHotfixesFirst

 

Tip #2: Have enough disk space available on your primary hard drive:

RequiredFreeSpace 

You can read here why.

 

Tip #3: If you have Team Explorer or TSWA on your TFS you need to install... (Thanks to Hakan Eskici)

... Visual Studio 2008 Service Pack 1 and  TFS 2008 Service Pack 1 (in that order!).

 

Tip #4: Integrate installation of TFS and SP1 ("Slipstream")

The steps to produce a so-called "slipstream" installation package are documented in the TFS Installation Guide in the chapter "How to: Integrate the Installation of Team Foundation Server and Service Pack 1".

There are a few reasons why you must do that (e.g. upgrading to SQL Server 2008) you can read in Brian Harry's blog post.

Slipstream_Step2 Slipstream_Step3 Slipstream_Step4 Slipstream_Step5

 

Tip #5: Ignore Windows Update reboot prompt (Thanks to Brian Harry)

If you get a Windows Update prompt to reboot during SP1 installation, ignore it (don't reboot).  Wait until after the SP1 installation completes and then reboot.

 

Tip #6: Uninstall and reinstall Team System for Database Development GDR (Thanks to Brian Harry)

If you have a prerelease of the Team System for Database Development GDR (that supports SQL 2008) installed, you will need to reinstall it after upgrading to SP1.

 

Screenshots from applying TFS 2008 SP1:

TFS2008SP1_Step1 TFS2008SP1_Step2 TFS2008SP1_Step3 

 

Screenshots from applying VS 2008 SP1 (online installer) on at TFS with only Team Explorer installed:

VS2008SP1_Step1 VS2008SP1_Step2 VS2008SP1_Step3 VS2008SP1_Step4

Using images in description fields

Requires:

  • The use of HTML description fields in stead of the default description field.
  • Team System Web Access (TSWA) to insert the pictures.

 

Steps:

  1. Use a HTML fields for your descriptions instead of plan text fields
    (might need to copy the old descriptions programmatically).
  2. Add the image you want to use to the work item's attachments:

    Step1_AddAsAttachement
  3. Save the Work Item.
  4. Double-click your attachment. IE opens. Copy the URL to the attachment to the clipboard.

    Step3_CopyUrl
     
  5. Open the Work Item in Team System Web Access and use the "Insert Images" bottom (from the toolbar within the HTML field):

    Step4_TSWAClickInsertImages
  6. Paste the attachment-URL from clipboard:

    Step5_EnterURL
  7. Save the Work Item.
  8. Done. You can see your picture in the HTML description field.

    TSWA:
    Step6_YouSeeThePicture

    Team Explorer:
    Step8_Voila
Users can see all team projects after upgrading from TFS 2005 to 2008
  1. Make sure all team project members are added to the appropriate groups (Project Administrators, Contributors and Readers).
  2. For every team project remove the "[Server]\Team Foundation Valid Users" group from the team project settings (Team Project Settings » Securty).

    RemoveValidUsers
  3. Done. Regular members now should only see team projects where they have permissions.

 

Enjoy!

Version Control Tip: Excluding specific files from multiple checkout

Question:

Can I define a file name, not only a file type (extension), if multiple checkout is allowed for the whole Team Foundation Server?

Answer:

Yes, that is possible, although the UI shows "file extensions" and displays it in a way that you might think that it's not supported.

As a result you can specify that *.cs files in general do support multiple checkout but a certain file called "specific.cs" follows exclusive-checkout logic.

FileTypes2

 

Enjoy!

-Neno

CVS / StarTeam to TFS migration tools (3rd party)

From their website:

"Timely Migration currently provides modules that support migration from CVS and Borland StarTeam. Support for additional products will be added in the future."

Conversion Diagram

Link to website: Timlely Migration

FIX: TFS 2008: Delete lost when you merge from delete-branch to trunk

> KB article

> Hotfix download

Facts about Running Builds in Parallel with Team Build

TeamBuild

  • can build one build definition from a single Team Project at a time.
  • can build multiple build definitions from different Team Project.

 

MSBuild

 

Thanks Grant for pointing out those facts.

Your TFS user base is growing? Scale up or out!

Are you concerned about performance?

You can scale out by...

 

Or scale up by...

Beware of configuration changes - TFS might not like them

If one of the following action are planned you should ready the appropriate documentation:

Documentation on how to troubleshoot TFS issues
  1. Check the Windows Event Log.
  2. Run TFS Best Practices Analyzer.
    (part of the Power Tools, requires PowerShell to be installed first)
  3. TFS-Team Explorer 2008 Troubleshooting Guide (@ MSDN Forums)
  4. Have a look at the available troubleshooting documentation on MSDN:

    image 
  5. For connection trouble have a look at:
    Troubleshooting connections to TFS
More Posts Next page »