28 July 2008

VSLive! Las Vegas

Several weeks ago I was informed that I had been selected to present at this year’s VSLive! in Las Vegas.  Although I have presented at other conferences in the past (e.g. Heartland Developers Conference and Tulsa TechFest) this will be the largest conference I’ve presented at to date.  I have to admit, I’m pretty excited about it all.

I will be presenting on Using Team Build in the “Real” World on Thursday, October 16th at 08:30.

VSLive! Schedule Snippet

I’m looking forward to meeting new people and learning new things.  So, if you’re planning on attending VSLive! in Las Vegas this year and have an interest in Team Build (or Team Foundation Server in general) be sure to look me up.

24 July 2008

Omaha Team System User Group

We’ve had yet another successful gathering of the Omaha Team System User Group.  After moderating one of the Birds of a Feather sessions at last month’s Tech-Ed conference, I decided to try something similar with this month’s user group meeting format.

Rather than schedule a speaker for this meeting I decided that we would open the floor up for any Team System-related topics for discussion amongst the group.  Being the middle of the summer and having changed the format to not include a speaker I didn’t expect the same turnout that we typically get at other meetings.  We ended up with a total of 15 attendees which was perfect for sitting around a few tables and having some conversation.

Some of the topics we discussed included:

  • Certifications – are they important (i.e. do they really matter)?
  • Training – what types of training resources are available for Team System.
  • Gotchas – what kind of “gotchas” have other group members ran across while working with Team System.
  • APIs – what type of experience do other group members have with working with the TFS Object Model.
  • How is it being used – i.e. how is Team System being used throughout the community.
  • FinalBuilder – just bringing an awareness to the group that FinalBuilder has some great TFS support.
  • Etc.

We all had some great discussion for about an hour and a half and I think everyone in the room, especially myself, left with having learned something new.

The meeting format seemed to work out great so I believe this is something we’ll do at least once per year.

23 July 2008


A few days ago a fellow co-worker asked me if I could create a simple build task that would allow anyone on their team the opportunity to cancel a build, once it has been queued, before the build actually did anything.  The idea was simple:

  1. A new build gets queued.
  2. The build sends out an e-mail notification (via a custom task) informing the recipients that a new build has been queued.  The e-mail message also has a link that, when clicked, will cancel the build.
  3. The build waits a pre-determined amount of time (e.g. 5 minutes) giving the e-mail recipients a chance to cancel the build before it continues.
  4. If the build is not canceled, the build will proceed as usual once the delay has expired.

The driving reason behind this request was to allow any active testing to continue without being interrupted by a new build – i.e. the testers have the ability to cancel a build.

Building the custom task was pretty simple – it basically just sends out an e-mail message (based on a customizable HTML template) and then waits for the specified number of seconds (the default is 300 seconds).

The more interesting piece of the puzzle was creating a simple, one-page web site that, when called, will cancel a build.  The web page takes the build URI as its only parameter and utilizes the Team Foundation Server web services API to cancel the build.

All in all it worked out nicely.  If this sounds like something that may benefit your team, you can check it out on the MSDN Code Gallery here.  The source code as well as the binaries are available for download.

The next challenge (that was presented to me today) is to also include a link in the e-mail notification message that, when clicked, will instruct the build to continue immediately.  This one will take a little more thought…

Click here for more information on the DelayedBuildTask.

16 July 2008

TFS Power Tools – July 2008 Release

The July 2008 release of the Visual Studio Team System 2008 Team Foundation Server Power Tools has just been released.  Here is a summarized list of what is included with the tools:

  • Command line tool (TFPT.EXE)
  • Team Explorer IDE menu additions
  • Build Notification tool
  • TFS Best Practices Analyzer
  • Process Template Editor
  • Work Item Templates
  • Custom check-in policies
  • TFS Server Manager
  • TFS Users tool
  • Alert Editor

One of the more exciting changes, from my point of view, is the new user interface for managing TFS Alerts.  It is going to be nice having this capability available directly from within the IDE.

For a more detailed look at what’s included, take a look at this post from Brian Harry.

Click here to be taken to the download site.

15 July 2008

Cleaning Up Old Team Projects

A few days ago a co-worker sent out an e-mail asking if any of several team projects were still in use; if not, then they would be removed from Team Foundation Server.

Looking at the list it was easy enough to recognize a few active projects but others would take more investigation.  After sending my feedback I thought a custom utility might be helpful in the future for the next round of potential deletion candidates.  So, I decided to put the TFS Object Model (TFSOM) to use and created TFSunset (see screen shot below).

TFSunset uses the TFSOM to query the version control system and work item store for activity within a specified time range (e.g. the last 30 days).  All team projects for a given team foundation server are searched.  If no changesets have been created and no work items have been created/modified within the last 30 days (or whatever count you specify) then that team project will be listed.

Here is a screen shot showing the results of one search:


In the above example, the team project WalkingPage has not had any changeset or work item activity within the past two weeks.

Keep in mind that just because a team project is listed by this utility, that is no guarantee it has gone the way of OS/2 – you still need to perform your due diligence before deleting it from TFS.  However, this utility should be able to help narrow down the list.

I am planning on posting the source code to the MSDN Code Gallery in the near future.  For now, you can download the executable here.

Note: you will need to have Team Explorer 2008 installed prior to running this utility.