A Django site.
August 16, 2008
» Creating a TFS 2008 with SP1 Slipstreamed ISO image

Now that TFS 2008 SP1 is here, time to create a version of the TFS installer media that just contains the bits with SP1 applied.  This is essential for installations targeting SQL Server 2008, but also makes the installation process onto Windows Server 2008 much easier and any installation faster (otherwise you have to install TFS 2008, then apply the service pack).  Note that this is only required for new TFS installations - if you already have TFS installed then you are best of simply running the excellent service pack installer and it will do the business.  Hopefully in a few weeks Microsoft will make a TFS 2008 with SP1 ISO image available, but in the meantime I thought I would write up the process of creating your own as I did mine.

Update:  After creating the patched install of everything and running it, there were errors for the Team Build and Proxy installers.  Talking with fellow MVP Etienne Tremblay this is apparently a known issue, documented as such (d'oh, I should really RTFM) and that slipstreaming of the Build and Proxy stuff is not supported at this present time.  I've therefore updated this post to include the TFS SP1 rather than patched Build and Proxy installations so that you can do it the old fashioned way of installing, then patching...

Pre-requisites

  • TFS 2008 Installation DVD (Workgroup, Trial or Full)
  • TFS 2008 Service Pack 1
  • An iso creating tool (I will use ISORecorder because it is good, free and works on Windows Vista x64).
  • A couple of gigs worth of spare hard disk space to work in.

Slipstreaming the TFS Installation Files

  1. First, you must copy the contents of the TFS installation media onto a temporary folder on your hard drive. In my case I have created a folder called D:\tfs_sp1\source and copied the contents there.
    D:\tfs_sp1\source
  2. Extract the contents of the TFS installer executable by running the following command:
    en_visual_studio_team_system_2008_team_foundation_server_service_pack_1_x86_x64wow.exe /extract:<location>
    Administrator command shell running extract command.
  3. Run the following command to apply the patch to the contents of the main TFS application installation folder (AT):
    msiexec /a <RTM Source Dir>\AT\vs_setup.msi /p TFS90sp1-KB949786.msp TARGETDIR=<SP1 Target Dir>\AT
    Administrator command shell with AT patch command showing
  4. Note that slipstreaming the Build and Proxy installations is not supported at this time.  Also, the sharepoint extensions folder  (wssExt) does not need patching so we can just copy these over.
  5. Because slipstreaming the Build and Proxy is not supported, you will also want to copy over the original service pack .exe file so that you can run it after installing them.
  6. Also, the Team Foundation Server client (Team Explorer) requires Visual Studio 2008 SP1, not the service pack for TFS.  If you installed Team Explorer without the service pack onto a SP1 server then bad things can happen (I've seen class serialization errors but you might see other symptoms) - therefore you might want to exclude the TFC folder from this SP1 disc so that you have to install it from a Visual Studio Team Suite disc instead - hopefully remembering to run Visual Studio SP1 afterwards.  However if, like me, you frequently install Team Explorer onto your TFS servers so that you can manage them directly from the server then you might want to also include the offline installation for Visual Studio on your new ISO image, that way you can quickly get access to the service pack.  To get hold of the offline installer, download the Visual Studio 2008 SP1 iso image, mount the image and then copy the vs90sp1 folder. 
  7. While you are at it, you might as well download the latest copy of the TFS Install Guide.  If you are really fancy you can copy all the files over from the root of the RTM source and edit the setup.ini file to point to the new version of the document (mine is TFSInstall-RTM-v080811.chm).
  8. Now we have a nice little package that contains all the bits we need to install TFS SP1 onto a server.  Mine looks like this: 
    withsp1 (2)
    If we go look inside the AT folder and check the file versions, we can see which assemblies were patched.  The TFS2008 RTM versions of the assemblies were 9.0.21022.8 but the TS 2008 SP1 versions are 9.0.30729.1
    Tools
  9. You could just burn the contents of your SP1 folder to a DVD, but I personally like to have it as an ISO image so that I can easily archive it and point to it from a Virtual PC. To create an ISO image using the excellent ISORecorder is very easy - just right click on your SP1 folder and select "Create ISO Image".
    ISO Recorder

And there you have it. A handy ISO image that should speed up your TFS installations no end.  Happy installing!

August 15, 2008
» Visual Studio Team System 2008 SP1 Now Available!

teamsystem_sp1_badge That's right folks, 2008 SP1 is now available for everyone to download.  Get it while it's hot!

Visual Studio 2008 SP1 (needed for Visual Studio and Visual Studio Team System client, including Team Explorer), (exe version) (iso image version)

Visual Studio Team Foundation Server 2008 SP1 (needed for the server, build server and proxy server)

Note that to install TFS 2008 SP1 on Windows Server 2008 with SQL Server 2008, you must create a slipstreamed install.  Also - if you have installed any of the pre-release bits on a client machine then you should run the Visual Studio 2008 Service Pack Preparation Tool first.

For more information on what is in this release from a TFS perspective, see Brian Harry's blog post or listen to Radio TFS Episode #6.

» Radio TFS is back with Version Control 101

Radio TFS In this first episode back from the summer break we talk about the features available in TFS Version Control and talk about some of the fundamental concepts that you should understand to make your life easier.  Don't forget to stay tuned all the way to the end when I offer up a brainteaser for everyone and Paul goes crazy and offers a FULL copy of Microsoft Visual Studio 2008 Team Suite to a lucky listener drawn at random who provides a correct answer to radiotfs@gmail.com before the end of August 2008.

If that is not enough for you, Mickey is running a competition over at Team System Rocks where you could win a years MSDN Premium Subscription with Visual Studio Team Suite.

Don't forget that you can subscribe to the show using the RSS Feed in iTunes or Zune. You can also listen to the show direct.

For feedback or suggestions for future shows please contact us at radiotfs@gmail.com or leave a comment over at the Radio TFS web site.

» Behind Brian the Build Bunny

Watch the Brian the Build Bunny video in full Since posting about Brian the Build Bunny, I have been getting a steady stream of emails from people who would like to know more about how it works.

Team Foundation Server provides a mechanism by which you can subscribe to events when certain things happen.  This is actually how many of the components in TFS are integrated between themselves and like the rest of the TFS glue - Microsoft make these events available so you can customize your TFS instance.

At a high level, I purchased a Nabaztag bunny and decorated it with the Visual Studio logo and Brian the Build Bunny was born. The code behind Brian the Build Bunny is actually very simple, a web service (in my case sat in IIS on my TFS server) listens for the events and then converts this into a string on text which it sends to the Nabaztag servers.  Nabaztag run this text through a Text to Speech engine and generate an MP3 file with the results, they then notify my build bunny about the MP3 file and he downloads the file over his WiFi connection and plays it on his speakers.

But if you want the full gory details then read on.

Brian the Build Bunny Project.

Pre-requisites:

  • 1 Team Foundation Server instance (a VPC one to play with first is recommended)
  • 1 Nabaztag bunny
  • 1 Wifi connection to the internet for the bunny to use
  • 1 sheet of clear labels (to print the Visual Studio logo as Brian's bow tie).  I used Avery J8560, but then again I'm a crazy European with metric pages.

Preparation:

  1. Ensure your bunny is registered with Nabaztag and you have your serial number and API token.
  2. Ensure your Team Foundation Server instance (or where-ever you want to host the "bunny listener") code has internet access so that it is able to talk to the Nabaztag server.  Try pasting the following URL into Internet Explorer on the TFS instance to make sure you can get out and talk to Nabaztag:
    http://api.nabaztag.com/vl/FR/api.jsp?sn=SERIAL&token=TOKEN&voice=UK-Mistermuggles&tts=Hello+my+name+is+Brian+the+Build+Bunny.

    Remembering to insert your build bunny's serial number and API token obtained when you registered your bunny with Nabaztag.
  3. Download the image teamsystem.png (70 KB) and print out the Team System logo on a clear label.  Cut around the logo and stick onto your bunny to turn him into a smart looking Build Bunny.

Code:

You can download the example code using the following link, (VS 2008 project using C# in .NET 2.0):

sln_download

There are many ways to listen for Team Foundation Server SOAP events. You can have a "proper" web service living on IIS, or you have have a hosted WCF process listening to a particular port. In my particular case I was happy with the IIS approach and so used the excellent Team Foundation Server Notification Event project template from Howard van Rooijen at Conchango as that's the fastest way to get up and running when doing this type of project.  If you wanted to go down the WCF route then take a look at Martin Hinshelwood's TFS Event Handler project up on CodePlex.

I created a quick class library that is a thin wrapper over the Nabaztag API, and exposes functionality via the Bunny class including building and sending of the HTTP message to the Nabaztag servers.
Bunny class diagram 

I then created a TFS Web Services Notification project (using Howard's template).  This gives me ready-made code to hook into various events - but I just wanted the build completion event and the check-in event for this example.

Build completion event:
Build Completition Code

Check-in event:
Code executed on check-in event

As you can see, I really don't do that much - just build up a string based on the data in the TFS event and then send that string to the bunny.

Subscribing the Bunny Listener to the TFS Events

Finally, once the web services are ready and listening - I must now tell TFS to send a SOAP message to my web services at the appropriate time.  To do this, I used the command line tool BisSubscribe.exe.  This can be found on your TFS server in the %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\TF Setup directory.

If you open up a command prompt and cd to it then you can type:

bissubscribe /eventType BuildCompletionEvent /address http://localhost:8181/bunnylisener/BuildCompletionEndpoint.asmx /deliveryType Soap /server http://localhost:8080
bissubscribe /eventType CheckinEvent /address http://localhost:8181/bunnylisener/CheckInEndpoint.asmx /deliveryType Soap /server http://localhost:8080

Where the webservices are running at http://localhost:8181/bunnylistener.

Exercises for the Reader:

As you can see, the code above is just a starter.  There are many things that you can get this new notification device to do and the code above is designed more of a sample that I can use in a talk rather than full on production code. That said, if anyone is interested in starting up a CodePlex project around this then please drop me a line.  However, the following things are on my TODO list:

  • Subscribe to BuildCompletionEvent2 which has some more relevant information
  • Use the GlobalSecurityService API to obtain the users real names and speak those rather than the userid.
  • Store the bunny config data in web.config rather than hard-coding bunny details in BunnyConstants class
  • Allow multiple bunnies to be registered (perhaps with a UI), allow each voice to be separately configured
  • Make sending of messages to Nabaztag asynchronous

Additionally - rather than using the eventing service to trigger Brian on build completition events, it might be interesting to write the "Bunny Link" as a windows service and get it to subscribe to the build queue using the same API as demonstrated by my Build Wallboard sample.  That way you could make Brian talk when a build was queued or many other things.

If anyone has any questions or would like more details then please drop me a line.

» Teamprise Case Study: Thomson Reuters

Thomson Reuters I am proud to announce that Microsoft have just published a joint case study with us on the success Thomson Reuters have had using Team Foundation Server in a mixed development shop.  This customer is particularly interesting, not just because they keep giving us great feedback on our product that we have been incorporating into Teamprise, or because they are a large, well know and well respected brand.  From the case study;

"The Online Services group at Thomson Reuters is responsible for the storage and retrieval of online assets. Of the 220-member team, approximately 150 are development engineers or quality engineers. Although the team does some programming using the Microsoft® .NET Framework, the group primarily develops in Java on computers that run a variety of operating systems, including Linux, Linux 64, UNIX, Macintosh, and Windows®. About 90 percent of the programmers in Online Services work in Eclipse or Rational Application Developer (RAD), and up to 50 percent of the testers work in Eclipse. All of the team’s build computers run UNIX or Linux."

Anyway, thanks to Mac and the people at Thomson Reuters for agreeing to share their experiences.  Hopefully other organizations considering Team Foundation Server to manage the whole software development process will find the case study interesting.

To read the case study in full, see Microsoft Case Studies: Thomson Reuters Unify Development Processes with Team Foundation Server and Teamprise.  I've also got a PDF version available here.

» Last Check-in Date Explained

I've been doing a lot of work with the Team Foundation Server 2008 SP1 Preview, and even recorded a podcast about it (also see Brian Harry's blog post for more details on TFS 2008 SP1 features).

One out of the many new features introduced in TFS 2008 SP1 is the "Last Check-in" column in the source control explorer. It is a handy little thing that I think a lot of people will find useful. 

Last Check-in Date Column in Visual Studio Source Control Explorer

However just a couple of warnings for you for behaviour that you might not expect at first.

  1. The date shown for folders is the date that the folder was added, not the last date that any contents of that folder where checked in.  That means you cannot use it to drill down onto the most recently changes files - to find that out you should still do a "View History" on the parent folder and look at the changesets.
  2. If you are using a Visual Studio 2008 SP1 client (or Teamprise 3.1 for that matter when it is released) and you point it at a server prior to TFS 2008 SP1 (i.e. TFS 2005 or the RTM release of TFS 2008) then you do not get any data in this column because the server doesn't send back that data to the client.

Otherwise it works pretty much as you expect.  Most useful is that you can obviously sort the column to find the recently changed files in a big list of files.

» Brian the Build Bunny Backgrounds

Brian the Build Bunny Wallpaper It turns out that the little video I posted yesterday has taken on a bit of a life of it's own.  Last time I checked, it was in the top 10 Science and Technology posts for YouTube in Ireland.  It's funny how it is always the posts that you do more for your own entertainment that take off. 

Anyway, there is no doubting that Brian is a bit of a character, he's already recorded his first TV appearance as a guest on this weeks, "This Week in Channel 9" (to be broadcast soon).  I wish that Nabaztag had an affiliate program as it sounds like I may have sold a few rabbits for them. 

Anyway, if you can't afford your own bunny, then you can have the next best thing for free.  Your very own Brian the Build Bunny Background on the desktop of a computer near you (standard and widescreen versions available).  Click here to chose a image size that suits you.

» Brian the Build Bunny

I'm always keen try new and novel ways to keep in touch with the status of my software projects.  Fortunately, Team Foundation Server provides many ways to do this.  While the Build Wallboard is fun if you have a spare monitor and machine lying around, I wanted to experiment with some inexpensive dedicated devices, and so Brian the Build Bunny was born.

Brian is a Nabaztag smart rabbit.  He reads out details of check-ins and builds.  If a build has failed then his ears go down to show how sad he feels, but if you fix the build his ears will soon pick up again.

I've had Brian for about a year now waiting to do this project, but when I tried it in the past I always found the response times from the rabbit to be too slow.  However earlier this year, the Nabaztag developers updated the code running the rabbits so that they are now using the XMPP (Jabber) protocol to receive updates and the service now seems pretty good.

Brian is now sitting on my desk chattering away and letting me know what is happening in TFS.  If you want to find out more about how he works and see him in action then take a look at the video. If your company blocks YouTube but you have Silverlight installed then you can view a higher quality version of the video courtesy of the Windows Live Streaming service.  I'll go through the code behind Brian in a later post if there is any interest, but it is pretty much a standard TFS event listener that then sends text to the rabbit using the Nabaztag API.

» Radio TFS 05: Common Team System Questions

radiotfs I've just posted the latest installment of Radio TFS.  I'm actually a show behind on editing so expect to see episode 6 up soon.  However, in episode 5 Paul, Mickey and I attempt to answer some of the common questions we hear people ask about Team System including:

  • What is Team System?
  • Which edition is right for me?
  • Why can't I find Team Foundation Server on MSDN?
  • What is Team Foundation Server Workgroup Edition?
  • Is VSTS 2005 compatible with TFS 2008?
  • Why can't I see Team Foundation Server when I install Team Suite?
  • What are my options for migrating from my old system(s) to TFS?
  • Can I use TFS with VB6, .NET 1.1, Eclipse etc?
  • What is a Team Project - how should it be scoped?
  • I deleted a file locally, I do a "Get Latest" and TFS doesn't download it - why?

As well as the usual sprinkling of tangents along the way.

Click here for a direct link to this episode.

If you have any questions that you would like answered, or if you have any comments and feedback about the show then please contact us at radiotfs@gmail.com or visit the website at http://radiotfs.com for quick links to subscribe to the feed in iTunes, Zune etc.

August 12, 2008
» Creating a TFS 2008 with SP1 Slipstreamed ISO image

Now that TFS 2008 SP1 is here, time to create a version of the TFS installer media that just contains the bits with SP1 applied.  This is essential for installations targeting SQL Server 2008, but also makes the installation process onto Windows Server 2008 much easier and any installation faster (otherwise you have to install TFS 2008, then apply the service pack).  Note that this is only required for new TFS installations - if you already have TFS installed then you are best of simply running the excellent service pack installer and it will do the business.  Hopefully in a few weeks Microsoft will make a TFS 2008 with SP1 ISO image available, but in the meantime I thought I would write up the process of creating your own as I did mine.

Update:  After creating the patched install of everything and running it, there were errors for the Team Build and Proxy installers.  Talking with fellow MVP Etienne Tremblay this is apparently a known issue, documented as such (d'oh, I should really RTFM) and that slipstreaming of the Build and Proxy stuff is not supported at this present time.  I've therefore updated this post to include the TFS SP1 rather than patched Build and Proxy installations so that you can do it the old fashioned way of installing, then patching...

Pre-requisites

  • TFS 2008 Installation DVD (Workgroup, Trial or Full)
  • TFS 2008 Service Pack 1
  • An iso creating tool (I will use ISORecorder because it is good, free and works on Windows Vista x64).
  • A couple of gigs worth of spare hard disk space to work in.

Slipstreaming the TFS Installation Files

  1. First, you must copy the contents of the TFS installation media onto a temporary folder on your hard drive. In my case I have created a folder called D:\tfs_sp1\source and copied the contents there.
    D:\tfs_sp1\source
  2. Extract the contents of the TFS installer executable by running the following command:
    en_visual_studio_team_system_2008_team_foundation_server_service_pack_1_x86_x64wow.exe /extract:<location>
    Administrator command shell running extract command.
  3. Run the following command to apply the patch to the contents of the main TFS application installation folder (AT):
    msiexec /a <RTM Source Dir>\AT\vs_setup.msi /p TFS90sp1-KB949786.msp TARGETDIR=<SP1 Target Dir>\AT
    Administrator command shell with AT patch command showing
  4. Note that slipstreaming the Build and Proxy installations is not supported at this time.  Also, the sharepoint extensions folder  (wssExt) does not need patching so we can just copy these over.
  5. Because slipstreaming the Build and Proxy is not supported, you will also want to copy over the original service pack .exe file so that you can run it after installing them.
  6. Also, the Team Foundation Server client (Team Explorer) requires Visual Studio 2008 SP1, not the service pack for TFS.  If you installed Team Explorer without the service pack onto a SP1 server then bad things can happen (I've seen class serialization errors but you might see other symptoms) - therefore you might want to exclude the TFC folder from this SP1 disc so that you have to install it from a Visual Studio Team Suite disc instead - hopefully remembering to run Visual Studio SP1 afterwards.  However if, like me, you frequently install Team Explorer onto your TFS servers so that you can manage them directly from the server then you might want to also include the offline installation for Visual Studio on your new ISO image, that way you can quickly get access to the service pack.  To get hold of the offline installer, download the Visual Studio 2008 SP1 iso image, mount the image and then copy the vs90sp1 folder. 
  7. While you are at it, you might as well download the latest copy of the TFS Install Guide.  If you are really fancy you can copy all the files over from the root of the RTM source and edit the setup.ini file to point to the new version of the document (mine is TFSInstall-RTM-v080811.chm).
  8. Now we have a nice little package that contains all the bits we need to install TFS SP1 onto a server.  Mine looks like this: 
    withsp1 (2)
    If we go look inside the AT folder and check the file versions, we can see which assemblies were patched.  The TFS2008 RTM versions of the assemblies were 9.0.21022.8 but the TS 2008 SP1 versions are 9.0.30729.1
    Tools
  9. You could just burn the contents of your SP1 folder to a DVD, but I personally like to have it as an ISO image so that I can easily archive it and point to it from a Virtual PC. To create an ISO image using the excellent ISORecorder is very easy - just right click on your SP1 folder and select "Create ISO Image".
    ISO Recorder

And there you have it. A handy ISO image that should speed up your TFS installations no end.  Happy installing!

July 23, 2008
» Behind Brian the Build Bunny

Watch the Brian the Build Bunny video in full Since posting about Brian the Build Bunny, I have been getting a steady stream of emails from people who would like to know more about how it works.

Team Foundation Server provides a mechanism by which you can subscribe to events when certain things happen.  This is actually how many of the components in TFS are integrated between themselves and like the rest of the TFS glue - Microsoft make these events available so you can customize your TFS instance.

At a high level, I purchased a Nabaztag bunny and decorated it with the Visual Studio logo and Brian the Build Bunny was born. The code behind Brian the Build Bunny is actually very simple, a web service (in my case sat in IIS on my TFS server) listens for the events and then converts this into a string on text which it sends to the Nabaztag servers.  Nabaztag run this text through a Text to Speech engine and generate an MP3 file with the results, they then notify my build bunny about the MP3 file and he downloads the file over his WiFi connection and plays it on his speakers.

But if you want the full gory details then read on.

Brian the Build Bunny Project.

Pre-requisites:

  • 1 Team Foundation Server instance (a VPC one to play with first is recommended)
  • 1 Nabaztag bunny
  • 1 Wifi connection to the internet for the bunny to use
  • 1 sheet of clear labels (to print the Visual Studio logo as Brian's bow tie).  I used Avery J8560, but then again I'm a crazy European with metric pages.

Preparation:

  1. Ensure your bunny is registered with Nabaztag and you have your serial number and API token.
  2. Ensure your Team Foundation Server instance (or where-ever you want to host the "bunny listener") code has internet access so that it is able to talk to the Nabaztag server.  Try pasting the following URL into Internet Explorer on the TFS instance to make sure you can get out and talk to Nabaztag:
    http://api.nabaztag.com/vl/FR/api.jsp?sn=SERIAL&token=TOKEN&voice=UK-Mistermuggles&tts=Hello+my+name+is+Brian+the+Build+Bunny.

    Remembering to insert your build bunny's serial number and API token obtained when you registered your bunny with Nabaztag.
  3. Download the image teamsystem.png (70 KB) and print out the Team System logo on a clear label.  Cut around the logo and stick onto your bunny to turn him into a smart looking Build Bunny.

Code:

You can download the example code using the following link, (VS 2008 project using C# in .NET 2.0):

sln_download

There are many ways to listen for Team Foundation Server SOAP events. You can have a "proper" web service living on IIS, or you have have a hosted WCF process listening to a particular port. In my particular case I was happy with the IIS approach and so used the excellent Team Foundation Server Notification Event project template from Howard van Rooijen at Conchango as that's the fastest way to get up and running when doing this type of project.  If you wanted to go down the WCF route then take a look at Martin Hinshelwood's TFS Event Handler project up on CodePlex.

I created a quick class library that is a thin wrapper over the Nabaztag API, and exposes functionality via the Bunny class including building and sending of the HTTP message to the Nabaztag servers.
Bunny class diagram 

I then created a TFS Web Services Notification project (using Howard's template).  This gives me ready-made code to hook into various events - but I just wanted the build completion event and the check-in event for this example.

Build completion event:
Build Completition Code

Check-in event:
Code executed on check-in event

As you can see, I really don't do that much - just build up a string based on the data in the TFS event and then send that string to the bunny.

Subscribing the Bunny Listener to the TFS Events

Finally, once the web services are ready and listening - I must now tell TFS to send a SOAP message to my web services at the appropriate time.  To do this, I used the command line tool BisSubscribe.exe.  This can be found on your TFS server in the %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\TF Setup directory.

If you open up a command prompt and cd to it then you can type:

bissubscribe /eventType BuildCompletionEvent /address http://localhost:8181/bunnylisener/BuildCompletionEndpoint.asmx /deliveryType Soap /server http://localhost:8080
bissubscribe /eventType CheckinEvent /address http://localhost:8181/bunnylisener/CheckInEndpoint.asmx /deliveryType Soap /server http://localhost:8080

Where the webservices are running at http://localhost:8181/bunnylistener.

Exercises for the Reader:

As you can see, the code above is just a starter.  There are many things that you can get this new notification device to do and the code above is designed more of a sample that I can use in a talk rather than full on production code. That said, if anyone is interested in starting up a CodePlex project around this then please drop me a line.  However, the following things are on my TODO list:

  • Subscribe to BuildCompletionEvent2 which has some more relevant information
  • Use the GlobalSecurityService API to obtain the users real names and speak those rather than the userid.
  • Store the bunny config data in web.config rather than hard-coding bunny details in BunnyConstants class
  • Allow multiple bunnies to be registered (perhaps with a UI), allow each voice to be separately configured
  • Make sending of messages to Nabaztag asynchronous

Additionally - rather than using the eventing service to trigger Brian on build completition events, it might be interesting to write the "Bunny Link" as a windows service and get it to subscribe to the build queue using the same API as demonstrated by my Build Wallboard sample.  That way you could make Brian talk when a build was queued or many other things.

If anyone has any questions or would like more details then please drop me a line.

April 3, 2008
» IMTC 2008: Automating Builds with Team Foundation Server 2008

Thanks to everyone who attended my session this afternoon at IMTC 2008 in Dublin.  As promised, here is a copy of the slide deck. 

Also, as mentioned - the Build Wallboard project that we did as a demo is also available at the MSDN Code Gallery here:

http://code.msdn.microsoft.com/buildwallboard