Thursday, September 28, 2006

VS 2005 and TFS Service Pack 1 Beta

Visual Studio 2005 and TFS Service Pack 1 Beta is now available on Microsoft Connect, the Service Pack includes bug fixes, performance enhancements, and some new features for Team Foundation. It can be downloaded by registering on Connect.

What's Fixed in SP1

The service pack includes the following improvements for Team Foundation:

Support for Microsoft Office 2007

With this service pack, Team Foundation now supports working with Microsoft Office 2007 Project and Excel. Team Foundation is supported for use with Microsoft Office Beta 2 Technical Refresh, or later.

Note: At this time there is no support for Microsoft SharePoint 2007, so don't use Team Foundation Server with Microsoft SharePoint 2007 just yet.

Support for Web Application Projects

With this service pack, Team Foundation now supports working with Web Application Projects.

Performance Improvements and Bug Fixes

The Team Foundation product team collected and analyzed all of the crashes that were uploaded through Dr. Watson crash analysis system. The top issues that accounted for a significant majority of all crashes that customers experienced or reported are fixed in this service pack.

This service pack includes 85 Team Foundation issues (including the features listed below). This includes all fixes that were delivered to customers as QFEs through the customer support team.

The following issue areas are addressed in the service pack:

  • 15 Microsoft Office integration issues to support Excel & Project 2007.
  • 8 reporting issues to improve performance and scalability and provide support for moving the Analysis Services database.
  • 8 administration and operations issues that address several Watson reported bugs and provide basic authentication support.
  • 38 version control issues that are mostly performance improvements based on analysis of internal usage of Team Foundation Server at Microsoft, and support for the new Web application projects and other fixes.
  • 13 work item tracking issues that address the GC handle object model problem, provide custom work item controls, and more.
Release Notes

The release notes for this beta release of this service pack are available online:

New Team Foundation Features

This service pack also includes some new functionality for Team Foundation, the documentation for which is still under development. Once it is available, I'll be sure to let you know.

Basic Authentication and Digest Authentication Support

An ISAPI filter that enables you to deploy Team Foundation Server more easily in environments where Internet users need access to Team Foundation Server without using a VPN connection.

Custom Controls in Work Item Types

You can now embed custom controls on your work item forms. You can persist custom control data in work item type fields, or elsewhere.

Detailed Merge History

Visual Studio 2005 Team Foundation Server only provides summary data on merge history. This makes it difficult to build any sophisticated change tracking tools that track the flow of changes through branches. This service pack includes a new Web service method and object model API that provides detailed merge history data. The new API is named QueryMergesWithDetails and is available on the SourceControl object.

Move the Data Warehouse SQL Server Analysis Services Database to a Separate Server

You can now increase the capacity and performance of your Team Foundation Server database tier by moving the SQL Server Analysis Services database to a separate server. After you move the database, the data tier is composed of two computers: the relational data-tier server, and the analysis services data-tier server.

Tuesday, September 26, 2006

Monitoring and Analyzing a Load Test Result

A great article written by Rick Potts, a Load Test team developer.

Summary: Microsoft Visual Studio Team Test Edition provides tools for running, monitoring, and analyzing load tests. The load test result viewer is capable of monitoring a running test or analyzing a completed test. This document describes the features of the load test result viewer. (23 printed pages)

Friday, September 22, 2006

TFS High Availability according to HP

HP release a white paper detailing their solution for hight availability deployments for TFS.

You can check it out here.

DSL Tools Version 1 Released

Visual Stuido Team Architect announced the release of DSL Tools Version 1 which is shipped as part of the VS2005 SDK Version 3.

About DSL Tools V1

Domain Specific Language (DSL) Tools Version 1 is a set of tools for creating graphical designers hosted in Visual Studio. Using these tools, it is possible to create a fully-functional graphical designer with little or no coding. Then the tools automate the process of packaging the designer in an MSI file for deployment to users’ machines. Also included is a text templating engine, which interprets templates to generate text artifacts from information in models edited using the designers. One application of this is code generation. For more details about DSL Tools and this release visit


The primary audience for these tools are systems integrators and large enterprises who want to automate aspects of their software development processes by generating code and other implementation artifacts from models expressed in domain specific languages.

Thursday, September 21, 2006

Bug 1894: TFS Integrator fails to kick off one or more builds when more than one are triggered

This is a bug on TFS Integrator that was logged on TFS internal installation. They will get a fix out for this soon as they took the opportunity to use Windows Workflow Foundation (now that it is stable). Bug follows.

I suspect that Team Build is the problem here in that it doesn’t support queuing on its side of the fence. I uncovered this with the CrmOnTime project. The CrmOnTime project consists of three seperate builds CrmOnTimeCommon, CrmOnTime and CrmOnTimeServices. When CrmOnTimeCommon builds dependencies are replicated to the other two projects. If these projects kick off their builds at the same time they seem to fail if they are using the same build server. If they each kick off on a different build server then there is no problem.

Unfortunately we still have to implement the fix in our code because we are a Continuous Integration engine our users should rightfully expect not to have to run multiple build servers just to get multiple dependent builds kicking off - we just need to queue the requests. I’m thinking that moving forward we should replace the internal state management with an event driven workflow or something like that.

Temporary Workarounds:

Structure the sleep periods such that you allow one build to complete before the other gets kicked off - or use multiple build servers.

Wednesday, September 20, 2006

Get Work Items Programmatically from TFS

Brian blogged about how to get Work Items programmatically from TFS using VS 2005 SDK.

This is used to run TFS queries programmatically to get a report from different areas of the project easily. Check out Brian's post here

Tuesday, September 19, 2006

TFS Integrator ... Get Started

Mitch Denny blogs about a new utility for providing continuous integration on TFS (Getting Started with TFS Integrator). This utility uses .NET Framework 3.0. See Mitch's post for the details on where to get it, and how to configure it. 

As you are probably no doubt aware, Team Foundation Server does not ship out of the box with a Continuous Integration capability. A lot of people, including myself consider this a glaring omission - but as a developer I have to appreciate the demands of tight delivery schedules.

Monday, September 18, 2006

PowerShell & TFS

PowerShell, the bits formerly known as Monad. If you're a TFS Admin, you'll be very glad figuring out how much you'll be able to do with it.

Two significant areas of PowerShell are:

  • Commandlets to perform common administrative/operational tasks: Imagine a commandlet to report the currently active web requests, or the most recent X events of a given category or higher;
  • Automation infrastructure: A commandlet to populate AD with a given set of users. Maybe another to take that set of users and give them a some initial permissions with TFS. Still another to validate those users have been modified as expected after using UI automation to modify them from the security/group membership dialogs in VS.

The former is more interesting because it might be a good extensibility point for those actions. If you can invoke and process output from PowerShell, you can do any of the queries/reports/actions implemented as a commandlet.

Registered users can grab the updated RC1 of PowerShell here.

TFS New Mailing List in Australia

Grant Holliday announced that he's set up a new mailing list to deal with TFS related issues.

Hi there,

As you are aware, Team Foundation Server adoption is taking off in Australia since the release in March ‘06. Like myself, you have probably built up a collection of knowledge and experience around the product.

Although blogging about your experiences is great, I've found that people (who don't read blogs) are missing out on important information. An example for me was that people hadn't heard about the latest TFS Power Tools update. This particular update included a TreeDiff utility that they could be using - but they didn’t know about it.

So, I have started a mailing list and website called My vision is to create an online community around TFS in Australia that we can all share and benefit from. This is not a user group (however I do like the idea catching up for a beer and a chat).

I invite you to subscribe to the OzTFS list and give it a try.

Signing up is simple, just send an email to with the word "subscribe" in the subject. (or click here

I'm open to any feedback and I'm willing to take the community in whatever direction it decides.  Some of my ideas are already on the website:

Looking forward to seeing you on the list,

Grant Holliday

Tuesday, September 12, 2006

Team Foundation Administror's Guide Updated

Team Foundation Administrator's Guide are updated and available to download as CHM files (August Update).

Friday, September 08, 2006

New TFS Power Toys Released

A lot of hard work was done in the past several months that finally we'll all benefit from it today.

A list of those power toys is below taken from bharry's Blog

Official support for the TFS MSSCCI provider!

The TFS MSSCCI provider allows VS2003, VB6, SQL Server Management Studio and other IDEs to connect to Team Foundation Server and provide an integrated version control experience.  The MSSCCI provider was developed and shipped as an out of band, unsupported component.  Starting today, it is now supported by Microsoft Customer Support Services!  You can use the same resources you have for getting support for TFS or VS to get support for the TFS MSSCCI provider.

It is still being developed off cycle and will have a atypical release schedule.  We are targeting the next release for later this year.  It also (unless we see substantial customer demand) will remain English only.

The TFS MSSCCI provider plugs into a great many IDEs but, for now, only a subset of them will be supported by customer support.  Here is the current list:

  • Visual Studio 2003
  • Visual Basic 6.0, SP6
  • Visual FoxPro 9, SP1
  • Visual Studio .NET 2002
  • Microsoft Access 2003, SP2
  • SQL Server Management Studio

If you don't see the IDE you use here on the list, you can still get help on our forums at

There is going to be inevitable confusion about support that I'm going to attempt to head off here.  From here forward we are officially supporting the TFS MSSCCI provider.  However, the rest of the Team Foundation Power Toys (for example, see the next section) remain "unsupported".  This means you can get bets effort help in the forums but you can't call customer support and get a formal support incident on them.  What I expect is that the most popular features from the Power Toys will migrate into an official Team Foundation Server release and that's how you will get officially supported versions of them.

Team Foundation Power Toys (tfpt) are now a separate download

Previous versions of the Team Foundation Power Toys (tfpt) have been available since the spring as part of the VS SDK.  With this release, we have pulled them out of the SDK and made them a separate download as we've gotten feedback that many people don't want the whole SDK.  The new download is available at:

4 Great new Power Toy features

We're trying something new with this Power Toy release.  It's the first time where we have new features that integrate seamlessly into the VS2005 IDE and are virtually indistinguishable from any other TFS feature in the IDE.  I'm eager to see if people are excited about this and if so, we may see more of it in the future.  In addition to the new IDE based features we also continue to enhance the Power Toy command line.  In addition to the existing Power Toy features like Rollback, Online, Review, etc, the new features in this release include:

tfpt bind (command line only)

Bind is a new feature of the tfpt.exe command line that will convert from SourceSafe solution bindings to TFS solution bindings.  This can be run after a database is migrated from SourceSafe to TFS to find and "fix-up" all of the version control bindings in projects and solutions.  Type "tfpt bind /?" for more info on how to use it.

tfpt query and tfpt workitem (command line only)

These new commands allow workitem queries, viewing and editing to be performed from the command line.  This makes things like scripting of work item operations, bulk work item operations, etc easier than ever.  Type "tfpt query /?" and "tfpt workitem /?" for more info.

Annotate (IDE & command line)

Annotate is a version control feature that enables you to quickly and easily determine who last changed a section of code.  It traverses the history of a file and "annotates" each line with the name of the user that last changed it and the change set # of the checkin.

An initial implementation of Annotate was actually in the tfpt command line tool the last time we shipped.  However, since then, we have made substantial improvements to the engine, improving the performance, enabling incremental rendering and perhaps most importantly integrating it into the IDE!  Here's a screenshot of what Annotate looks like on one of the tfpt files.

You can access Annotate using "tfpt annotate" or the Source Control Explorer or Solution Explorer right click menus or using the File -> Source Control menu when editing a file under version control.

TreeDiff (IDE & command line)

For a while now we've been getting lots of feedback that people really miss the ability to compare two folder structures, highlight the differences and take action to resolve them.  The wait is over...  There is a new "TreeDiff" command that enables exactly this.  You can compare your local working folders to the server, two local folders or two server folders (e.g. branches).  Here's what it looks like:

You can access TreeDiff either from the tfpt command line using "tfpt treediff" or using the "Compare..." menu option on the context menu on the folder tree in the Source Control Explorer.

I hope you enjoy using the new features as much as we do...  We're currently targeting the end of this year for the next release of Power Toys.  As that time approaches, I'll try to give you a heads up as to what's coming.  As always, comments welcome and encouraged.

Wednesday, September 06, 2006

VSTS for DB Professionals Extensibility

As all MS new products, VSTS for DB Professionals have extensibility points. Sachin Rekhi gave a presentation at the annual VS Partner Summit on extensibility points in VSTS for DB Professionals.

The extensibility points are as follow:

Team Data Extensibility

  • Data Generators \ Distributions. The data generation feature allows you to bind specific data generators to each table column. We ship in the box with a motley of generators. We have simple generators for every SQL data column. We also have some more powerful generators including the Regular Expression Generator and the Data Bound Generator. You have the opportunity to build your own custom generators to improve the meaningfulness of the data generated for your environment. In addition, you can specify a distribution that you want your generated values to adhere to. We ship with a set of distributions, but those are completely customizable as well.
    • Ideas
      • Person Generator. Most databases have person information, like names, addresses, birthdates, etc. You can imagine creating a custom generator to provide these sorts of values easily for these tables.
      • XML Generator. You can imagine creating a custom generator that would take in an xml schema and generate valid xml adhering to that schema.
      • Credit Card Generator. You can create a generator that will generate credit card numbers according to an appropriate format (AMEX, Visa, etc)
      • Logarithmic Distribution. You can create a distribution that adheres to the logarithmic curve.
  • Test Conditions. The database unit testing feature allows you verify tests using either SQL assertions or easily configurable UI client-side test conditions. We ship a set of test conditions in the box, including row count, scalar value, empty resultset, etc. But these test conditions are completely extensible so you can imagine creating your own to do more powerful test verification.
    • Ideas
      • Data Compare Test Condition. People will want the ability to verify that the resultset data returned is as expected. You can imagine creating a test condition to verify this.
      • Schema Compare Test Condition. In addition to just comparing the data, the schema of the returned resultsets is also important. For example, verifying the right number of columns and of the appropriate data types are returned.
  • Build & Deploy. We have 2 MS Build tasks for build and deploy inside the project system. These are standard MS Build tasks and thus can be extended using MS Build.
    • Ideas
      • Deploy to server farm MS Build Task. People will want to deploy to an entire farm of servers and you can imagine making that process simpler.
      • Data Motion MS Build Task. While we ensure that we never lose data, we do not appropriately migrate data for you automatically. You could add an MS Build task to do this work for you.

Team System Extensibility

  • Work Items \ Queries \ Reports. Team System allows you to completely customize the work items types and associated fields. You could add, for example, database specific information into these work items. You could then create custom queries and reports that were based off of these fields.
  • Check-in Policies. Team System also allows you to create custom check-in policies that require certain actions to be performed prior to check-in. For example, a testing policy that ships with TFS enforces that a specific set of tests is run prior to checking in your code. You can implement other such db specific policies if you desired.

Process Guidance Extensibility

  • Process Guidance Templates. Team System ships with a set of process guidance templates, including MSF Agile and MSF for CMMI. Many partners have already creating their own process guidance templates, including Scrum. You can go about creating your own custom process guidance templates. This includes not only prescriptive guidance for roles, workstreams, and activities, but associated work items, reports, queries, check-in policies, etc.

Tuesday, September 05, 2006

TFS Administration Tool

The TFS Administration Tool allows a TFS administrator to quickly add users to all three platforms utilized by TFS: TFS, Sharepoint, and SQL RS, all through one common interface. The tool also allows administrators to change the current permissions on any of the three tiers, identify any errors, and view all of the users and their permission sets across TFS, Sharepoint, and SQL RS.
This tool was created by the Developer Aftermarket Community Solutions team in Developer Division at Microsoft.

Check it out