Q: How can I exclude a file from code churn?

A: You can change it’s encoding in version control to Binary.

Background:

The code churn value used by TFS report, like the Quality Indicators report, might not make any sense to you if files this value includes some specific files, like auto-generated files, that were not created/edited by humans.

Disadvantages:

  • Comparing binary files in the command line or UI will just result in “Binary files differ” rather than a diff viewer showing the changes.
  • By default, multiple checkouts of binary files are not allowed.

Step-by-Step instructions:

 Image-0000

Image-0001

Image-0002 

(Thanks to Brian Harry for this tip.)

VS & TFS SP1 – What to apply on which machine

Often the questions is raised which service pack applies to which VSTS/TFS component:

Machine TFS SP1 VS SP1
TFS single server /
TFS Application Tier
Yes Yes, if Visual Studio is installed.
Install this prior to TFS SP1.
TFS Data Tier No No
Team System Web Access (on separate machine) No Yes
TFS Build Server Yes Yes, if Visual Studio is installed.
Install this prior to TFS SP1.
TFS Proxy Yes No
Visual Studio User No Yes
Office User No Yes

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:

From Windows Taskbar:

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

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

Updated: revised versino of this blog post.

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