A Django site.
September 2, 2008
» Live On .NET Rocks...

.NET Rocks The other week Brian Randall and I sat down with Carl and Richard to record a .Net Rocks episode.  Honestly, you wait years for a Brian Randall podcast and then three come along at once!

In this episode we talked about what's been happening in the Team System world since 2005, share some best practice war stories and look forward to some the new goodies coming up in the next release.  You can get the episode here.

Don't forget that if you like listening to podcasts about Team System and Team Foundation Server, then hopefully you'll love Radio TFS :-)

August 29, 2008
» Cross Platform Enabling the TFS Project Portal

Team Foundation Server uses Windows Sharepoint Services (WSS) to provide the project portal infrastructure. If you installed TFS 2005 then you will probably have WSS 2.0 installed, even if you later upgraded to TFS 2008.  WSS 3.0 gets installed by default with TFS 2008 installations and is *much* better than WSS 2.0 - not just in the area of cross-platform and cross-browser support but just better all round.  If you have a WSS 2.0 site running your TFS 2008 project portals then I would encourage you to upgrade to WSS 3.0 wether you need cross-platform support or not.

Anyway.  Here at Teamprise we like the Wiki way of working to manage content on our team project portal, and WSS 3.0 comes with basic wiki capabilities.  The only problem is that by default the Sharepoint wiki uses an ActiveX control for content editing which obviously presents a few problems when editing content from a Mac or Linux machine.

Luckily, the kind and clever folks at Telerik come to the rescue with a (free) cross-platform alternative to the WSS (and MOSS) editor.

Editing a Sharepoint Wiki page in Safari and Firefox on Mac OS 10.5

Installing the editor in a standard WSS 3.0 portal as used by TFS takes a few minutes.  Basically, you have to carry of the following steps:

Finally, if you are using a standard WSS project portal then you will also need to configure the RadEditor to insert standard hyperlinks.  Until you do this part, the Link button in the RadEditor control will not work.  It took me a while to figure out how to get this button enabled - basically you have to go to %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\wpresources\RadEditorSharePoint\5.2.0.0__1f131a624888eeed\Resources on the server hosting your sharepoint sites (which is the TFS server in my case) and edit ListToolsFile.xml and ToolsFile.xml replacing the line

<tool name="MossLinkManager" />

with

<tool name="LinkManager" />

You then might need to do an iisreset and hit refresh in your browser to clear all the caches but your link button should now work great.

Once this is all done, you will be able to edit wiki pages and other HTML content from Safari, Firefox on your platform of choice.

August 21, 2008
» The Data Dude comes to Radio TFS

Gert Drapers Over on Radio TFS we've just published a special episode on the Database Edition of Team System with the man himself, Gert Drapers.  In the show Gert brings us up to speed on how the product got started, where it is now and where it is going in the future.  We also spent a lot of time talking about the latest CTP (released last night) of the Database Edition GDR along with a few exclusive bits of information that I'd not heard elsewhere before.

As well as listening to the show, be sure to check out Gert's blog post for more details.  Don't forget that you can subscribe to the RSS Feed in iTunes or Zune so you need never miss an episode.  This was our first "special guest" show and we have a few more planned in for the future.  If you have someone that you'd like us to talk to then email radiotfs@gmail.com to let us know.

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 3.1 is now available

At the Microsoft Worldwide Partner Conference in Houston today, Corey Steffen (General Manager of Teamprise and the guy that pays my wages) announced the public availability of Teamprise 3.1.

This is a maintenance release free to everyone with a valid Teamprise 3.0 license and includes several bug fixes along with a few new features.  For the proper release notes, take a look here.  However I just wanted to point out a few highlights.

New Online dialog

Improved Offline Support

With-out doubt, the biggest new feature in Teamprise 3.1 for most people will be the improved offline support. If you right click on a project in the Eclipse IDE, you are now presented with a "Go Offline" option which allows you to tell Teamprise not to bother trying to talk to TFS for a while (previously you had to restart Eclipse for Teamprise to ask you if you wanted to go offline, and only then after it had tried *really* hard to connect).

While offline, you can still perform all the file operations like you expect -- you can add, edit, move and delete files just like if you were online.

When you want to come back online (say when you have stepped back out of the plane, bus, meeting room), you can right click on the project and say "Return Online" and Teamprise will do it's best to detect what changes have happened while you were away, giving you the option to pend those changes.

There is even "return online" capability in the stand-alone client Teamprise Explorer which is very neat and makes working with tools that are not TFS aware a little easier too.  The actual algorithm used by the return online feature is more sophisticated than just checking for read/write status in your local workspace, we also do some magic and compare checksums of the file contents etc.  Fellow Teamprise blogger Ed Thomson was the lead developer for the offline work and he has some more details on his blog.

TFS 2008 SP1 New Feature Support

Service Pack 1 of Team Foundation Server 2008 is hopefully due out soon, and with it come lots of lovely new features. We took advantage in the timing of our 3.1 release to update Teamprise to support some of the new server capabilities so that they are available to our customers as soon as TFS 2008 SP1 arrives.  These include:

  • Last check-in date/time column (see my previous post about this feature)
  • Support for work item meta-data filtering option (note that this option is already being used on some of the CodePlex servers so if you use Teamprise to talk to the work item functionality in CodePlex then you probably want to upgrade to Teamprise 3.1, after all the price is right :-) ).
  • tf branch -checkin command, the fastest way to create large branches and perform the check-in at the same time.

Command Line Client Improvements

In this release we are making publicly available a bunch of improvement and new features that we added to our command line client after some great feedback from one particular customer who has un-questionably the largest and most demanding Team Foundation Server install base on the planet. In particular we have added the "-format:xml" option for most commands in addition to the usual -format:brief and -format:detailed.  The -format:xml option will output data from the command line client in a format easily XML parseable without truncating output which makes it much easier to use and parse command line output in scripting scenarios.  However, there have been many more improvements so check out the release notes for more information.

Look Ma, no asterisk

64-bit support on Windows.

Not really worth calling out separately only to say that Teamprise is now the world's first commercially available x64 TFS client for Windows :-)

While we are a Java application, as mentioned before, we have a bit of JNI code to do the stuff not possible from all the JRE versions that we support (such as native authentication on Windows or making a file writable).  Also we use SWT to give us a native look and feel on all platforms and SWT works by using lots of JNI to do the presentation calls.  This meant that if you tried to run Teamprise under a x64 Java runtime we died pretty quickly.  We've had x64 support available for other platforms for a while (including Linux), but with Windows x64 support coming in Eclipse 3.4 we took the opportunity to compile our JNI code over to the Win32 x64 architecture and it works great.

On a personal note, during this activity I had to fix some bits in the core Eclipse 3.4 codebase (specifically PDE for people that are interested) and the small patches that I submitted have been applied into the main Eclipse project which is a nice feeling. Eclipse is a poster-child of open source projects and it is with some pride that I can tell people I have contributed code into it. It's also nice that as Teamprise is a commercial company that uses a lot of the Eclipse code and is an Eclipse Foundation member, we are able to do our bit and contribute something back for the benefit of all.

As you can see, we've been busy. We've hopefully cleared some adoption blockers for some of our customers, done quite a few bug fixes and performance improvements and thrown in some new features along the way.  While the headline grabbing features of interest to most people are probably the offline support and the 64-bit support, I'm very proud of this as a solid "point" release and I would encourage everyone with a valid 3.0 license to upgrade.

» Coolest Team System Gadget contest

Many people know that Team System and Team Foundation Server are incredibly extensible platforms.  Mike Azocar (a fellow Team System MVP) has come up with a great idea to see up can come up with the coolest Team System add-on.  If you have an idea that you've been waiting on trying out then now might be a good time as you get the chance to win a one year Team Suite MSDN Subscription (worth over $10,000) among other valuable prizes and the exposure for your gadget on most of the world's leading Team System blogs.

Because I doubt I'm going to be able to do better than my robot rabbit TFS add-on, I'm going to help judge the competition.  I am really looking forward to seeing what folks can come up with.

For more information, see Mike's blog post.  Happy coding!

» 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.

» Infragistics use of Teamprise

Infragistics is the world's largest publisher of reusable presentation layer development tools for Windows Forms, ASP.NET, WPF, Tablet PC and Java (JSF) environments.  I think they can count most of the Fortune 2000 as customers of theirs.  They also happen to be a customer of ours. 

I was in an email discussion with fellow MVP Ed Blankenship, when he came out with the following quote which Infragistics have kindly given me permission to share.

“We completely use Microsoft® Team Foundation Server (with Teamprise) for the development of all of our products now.  This was especially challenging with bringing in our Java (JSF) development group into the same development process of our .NET product lines.  By leveraging the Teamprise Eclipse plug-in and the ANT Team Build tasks, we were able to ensure they were using the exact same systems as the other departments in Engineering.  So the JSF team now has access to the same build, version control, work item tracking, and other internal automated software solutions that the rest of our company uses.  Visual Studio® Team System has really enabled us to solidify our internal ALM process, metrics gathering, and reduce overhead from supporting different systems across product teams.”

Ed Blankenship
Infragistics

Thanks for sharing Ed!  On a personal note, I'm glad that the Ant integration is proving so useful to many companies and this is an area that we are going to continue investing in along with everything else.

August 11, 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.

June 17, 2008
» Coolest Team System Gadget contest

Many people know that Team System and Team Foundation Server are incredibly extensible platforms.  Mike Azocar (a fellow Team System MVP) has come up with a great idea to see up can come up with the coolest Team System add-on.  If you have an idea that you've been waiting on trying out then now might be a good time as you get the chance to win a one year Team Suite MSDN Subscription (worth over $10,000) among other valuable prizes and the exposure for your gadget on most of the world's leading Team System blogs.

Because I doubt I'm going to be able to do better than my robot rabbit TFS add-on, I'm going to help judge the competition.  I am really looking forward to seeing what folks can come up with.

For more information, see Mike's blog post.  Happy coding!

April 10, 2008
» Team System Web Access 2008 SP1 CTP and Work Item Web Access 2008 CTP are now available

Hakan has announced the availability of the new TSWA community technology preview (CTP) in his post, What's New in TSWA 2008 SP1.  Personally, I would say this release is beta quality or better, so don't let the CTP designation scare you too much.

Also released is the first CTP release of what we are calling Work Item Web Access (WIWA).  You may recall that we published a spec for it recently, referring to it as a "bug submission portal."  WIWA provides you with the ability to have folks create work items and view work items they have created without needing a client access license (CAL) for 2008.  This was a new condition that was added to the TFS 2008 license agreement.  Hakan has more details in his post on WIWA.

Both the CTP of TSWA and the CTP of WIWA have the same requirements as the previous release of TSWA 2008 (e.g., you must have Team Explorer 2008 installed as a prerequisite).

This release of TSWA has some really great new features.

  • Single instance with multiple languages
  • Support for specifying field values in the URL for creating new work items (works in both TSWA and WIWA)
  • Share ad-hoc work item queries
  • Shelveset viewer
  • Improved search support

I want to call out two features in particular that I really like.

Support for specifying field values in the URL for creating new work items (works in both TSWA and WIWA)

How often have you wanted users or testers to file bugs and needed to have them fill in certain fields with particular values so that the work item shows up in the correct area?  We now support providing field values in the new work item URL.  Here's the example that Hakan provided.

http://<server>/wi.aspx?pname=MyProject&wit=Bug&[Title]=Bug Bash&[AssignedTo]=Hakan Eskici&[Iteration Path]=MyProject\Iteration2&[FoundIn]=9.0.30304

This will open a new work item editor window with the following initial values:

  • Team Project = MyProject
  • Work Item Type = Bug
  • Title = Bug Bash
  • Assigned To = Hakan Eskici
  • Iteration Path = MyProject\Iteration2
  • Found in Build = 9.0.30304

Now you can start sending your users and testers a link with all of this already filled in!

Improved search support

Have you ever wanted to search for bugs assigned to someone in particular or in a particular area without writing a query?  In the past, you could only search the Title and Description fields in a work item, which I described here.  Now you can enter the following into the search box in TSWA to find any bug assigned to me that also has the word "exception" in the Title or Description.

exception a="Buck Hodges"

The core fields have shortcuts.  Any field can be used by specifying the reference name for the field.  Here's the equivalent without using the shortcut.

exception System.AssignedTo="Buck Hodges"

Here are the shortcuts for the core fields.

  • A: Assigned To
  • C: Created By
  • S: State
  • T: Work Item Type

You can use TFS macros, such as @me, in search.  For example, find all work items containing "watson" in the Title or Description that are assigned to me that are in the Resolved state and are work items of type Bug.

watson a=@me s=Resolved t=Bug

Now, if you really want to do something cool, there are the "contains" and "not" operations.  The "=" operator matches exact phrases, whereas the ":" operator is used for "contains" clauses.  The following search looks for bugs assigned to Active (i.e., not assigned to any particular person yet) where the word "repro" is contained in the History field.

a=Active History:repro

This example illustrates the difference between the two operators.  The first example finds all work items where the Title is exactly "Bug Bash" with no other words or characters in it.  The second example, which uses the contains operator (colon) rather than the exact match operator (equals), finds all bugs where the Title contains the phrase "Bug Bash" along with any other words or characters.

  • Title="Bug Bash"
  • Title:"Bug Bash"

Personally, I find myself almost always using the contains operator.

Finally, you need to be able to exclude certain things from your search.  For that, there is the not operator, which is represented by the hyphen ("-").  The following example finds all work items with "watson" in the Title or Description fields that are not assigned to me and that are not closed.

watson –a=@me –s=closed

The not operator only works with field references, so you can’t use the following to find all work items containing "watson" but not containing "repro" in the Title and Description fields.

watson –repro

However, you can accomplish this by specifying the Title field explicitly with the not operator.

watson –Title:repro

Please send us your feedback on both the new features and Work Item Web Access!

March 31, 2008
» New Team System 2008 Virtual PC to Download

UPDATE: Just heard from Brian Randell that the VPC is now ready to download.  Updated links are below.

Anthony Borton just pointed out to me that the new version of the Team System evaluation VPC is available.  The Virtual PC is the best way to easily take Team System for a quick spin, as it comes with everything installed.  This release also contains 38 hands-on labs WITH sample data - awesome work.

I am downloading it right now.  For those folks who are fans of the Free Download Manager, here is a list of URL's that you will need to download the Virtual PC.

http://download.microsoft.com/download/d/7/3/d73b91d4-6daa-4da6-8635-3f10a1b918db/en_visual_studio_team_system_2008_team_suite_and_tfs_rtm_vpc_march2008.part0001.exe
http://download.microsoft.com/download/d/7/3/d73b91d4-6daa-4da6-8635-3f10a1b918db/en_visual_studio_team_system_2008_team_suite_and_tfs_rtm_vpc_march2008.part0002.rar 
http://download.microsoft.com/download/d/7/3/d73b91d4-6daa-4da6-8635-3f10a1b918db/en_visual_studio_team_system_2008_team_suite_and_tfs_rtm_vpc_march2008.part0003.rar 
http://download.microsoft.com/download/d/7/3/d73b91d4-6daa-4da6-8635-3f10a1b918db/en_visual_studio_team_system_2008_team_suite_and_tfs_rtm_vpc_march2008.part0004.rar 
http://download.microsoft.com/download/d/7/3/d73b91d4-6daa-4da6-8635-3f10a1b918db/en_visual_studio_team_system_2008_team_suite_and_tfs_rtm_vpc_march2008.part0005.rar 
http://download.microsoft.com/download/d/7/3/d73b91d4-6daa-4da6-8635-3f10a1b918db/en_visual_studio_team_system_2008_team_suite_and_tfs_rtm_vpc_march2008.part0006.rar 
http://download.microsoft.com/download/d/7/3/d73b91d4-6daa-4da6-8635-3f10a1b918db/en_visual_studio_team_system_2008_team_suite_and_tfs_rtm_vpc_march2008.part0007.rar 
http://download.microsoft.com/download/d/7/3/d73b91d4-6daa-4da6-8635-3f10a1b918db/en_visual_studio_team_system_2008_team_suite_and_tfs_rtm_vpc_march2008.part0008.rar 
http://download.microsoft.com/download/d/7/3/d73b91d4-6daa-4da6-8635-3f10a1b918db/en_visual_studio_team_system_2008_team_suite_and_tfs_rtm_vpc_march2008.part0009.rar 
http://download.microsoft.com/download/d/7/3/d73b91d4-6daa-4da6-8635-3f10a1b918db/VSTS 2008 Hands-on Labs March 2008 Release.msi

Or you can simply visit the download page and download them in your browser if you prefer

http://www.microsoft.com/downloads/details.aspx?FamilyID=c7a809d8-8c9f-439f-8147-948bc6957812&DisplayLang=en

March 27, 2008
» Team System Chat - April 9th

The Team System Chat's are a great way for you to talk direct to very influential members of the product group - the people that actually write the code behind team system.  If you have a query or there is a feature that you would really like then this is a great way of talking to the people direct and getting your feedback heard.

So, join members of the Visual Studio Team System product group to discuss features available in Team Foundation Server, Team Suite, Architecture Edition, Development Edition, Database Edition, and Test Edition. In addition, discuss what's new for these editions for Visual Studio 2008.

Add to Calendar

April 9, 2008, 10am Pacific, 6pm BST
Additional Time Zones