07 March 2007

VS 2005 SP 1 Update for Windows Vista Released

If you've been developing on Windows Vista using Visual Studio 2005 then you've no doubt become all too familiar with the warning dialog that pops up every time you start Visual Studio (assuming you haven't disabled it). This dialog lets you know that your version of Visual Studio may not work as excepted while developing on Vista and that you should install the Visual Studio 2005 Service Pack 1 Update for Windows Vista.

Since the release of Visual Studio 2005 Service Pack 1, this update was available only as a beta release. Microsoft has now released the non-beta version of this update which can be downloaded here.

Check out the following links if you're curious about what issues exist with Visual Studio 2005 and Windows Vista:

03 March 2007

Outlook Add-In for Team Foundation Server

I came across a (free!) add-in a while back that provides integration of TFS Work Items with Microsoft Outlook 2003.  This add-in provides the following features:

  • Create work items directly from e-mail messages.
  • Submit and edit work items.
  • Execute stored queries.
  • Find work items by ID.
  • Export stored query results.
  • Send work item data and query results by e-mail.
  • Does not require Team Explorer to be installed (although you still need to maintain the required end-user CALs).
  • If you have business owners, testers, quality assurance users, etc. that would like to be able to create and/or manage work items within TFS without having to install Team Explorer (or some other 3rd party interface) then check out this add-in.  It's definitely worth a look.

    The current version supports only Microsoft Outlook 2003 but a version for Microsoft Office Outlook 2007 is in the works and planned to be released soon.

    Read more about it here and/or download the add-in here.

    02 March 2007

    New Orcas Features

    Eric Lee has a nice post on some of the new features found in the current Orcas release. There is some really nice stuff coming out with Orcas, especially in the area of Team Foundation Server. Some of these features include:
    • Code Metrics - view various metrics about your source code.
    • Annotation View for Files under Version Control - lets you see who changed what & when?
    • Team Foundation Server Build Definition Editor - quit messing around in all that XML!
    • Build Retention Policy - automatically remove build files from your drop location.
    • Continuous Builds - finally! :-)
    • Build Queues - lets you queue up builds.
    • Folder Differencing - allows you to compare everything within folders.
    • Runtime Control of a Performance Session - control your performance session as it runs.
    • Query View in Performance Reports - construct queries to sort through your performance data.
    • Integration with Work Item Tracking - right-click to directly create a work item within the Performance Explorer.
    • Performance Report Comparison - compares two performance files.

    These improvements alone make for a nice upgrade (in my opinion) but these don't even include the new advancements made in the new .NET Framework.

    Scott Guthrie has also posted on some of the new web development features found in the current Orcas release. Looks like some really nice features for richer HTML/CSS development, better data querying (via LINQ), etc.. Take a look at Scott's presentation slidedeck for more information.

    The Orcas VPCs can be downloaded from here:

    25 February 2007

    Running FitNesse Tests from your Team Build Script

    For anyone using FitNesse you may have the need (or just plain desire) to run your FitNesse tests from within your Team Build scripts.  This is a need that we have on a project I'm currently working on so I investigated the various options for implementing the tests within our automated build process.

    In the end, I ended up creating a custom build task that allows you to run FitNesse tests as part of your build.  The build task currently supports FitNesse but will also support tsqlunit tests (another testing framework we use) in the near future.

    I've placed the custom task on CodePlex here in case anyone else is interested in making use of it.  You can download the installation file here if you're not interested in the source code and just want to install the build task.

    The build task works by running the FitNesse test just as you would through a browser - i.e. it makes a request to the specific test page's (or suite's) URL and parsing the resulting HTML to determine the outcome of the test(s).  The advantage to this approach (rather than using the TestRunner.exe application) is that it does not require any FitNesse components to be installed on the build machine.

    If you have any suggestions and/or comments, please post them on-line here.  Click here to see an example of how to call the build task.

    24 February 2007

    Beta Exam 71-510: Study Links

    Like several others out there, I am planning on taking the Beta 71-510 exam next week.  Being that this is the first time this test has existed, it is difficult to figure out what to study and where to find study materials (other than the obvious - experience with TFS itself).  I've put together a few links that I've been using while studying for the exam so I thought I'd post them here in case anyone else finds them useful.

    02 February 2007

    Beta Exam 71-510: TS: Visual Studio 2005 Team Foundation Server

    I just saw this post on Rob Caron's blog.  Registration for the 71-510 Beta Exam is now open.  The exam can be taken between February 20th and March 5th.  There are a limited number of slots available on a first-come, first-served basis so sign up quickly!  I signed up this evening without any problems.

    Use the promotion code TSVS510 when registering to cover the cost of the exam.

    There is a preparation guide available here.  The list of topics is quite length so I'll definitely be spending some time brushing up on a few areas.

    See Rob's post for more details.

    Displaying Team System reports in the Team Portal

    One of the nicest features of the TFS SharePoint site (in my opinion) is the ability to display various reports on the portal's home page.  We currently display a build report as well as a defect report.  To do this, I've always used the default Page Viewer web part and manually set the URL to the desired report.

    However, today I noticed a post from Jeff Atwood describing a different approach.  He explains how to install the SQL Server 2005 Reporting Services web parts (which already exist on your TFS server - they just need to be setup).

    There are two web parts that get installed - a Report Explorer and a Report Viewer.  The Report Explorer lists each report in a tabular format whereas the Report Viewer gives you more control over how your report is ran and displayed.

    Check out his post for more information.

    TFS Bug Item Synchronizer 1.1 for Mercury Quality Center - Part 2

    A couple of months ago I posted about a utility I happed across that synchronizes Team Foundation Server bugs with Mercury's Quality Center/Test Director product.  At that time I hadn't yet had the opportunity to try the utility out.  This past week I finally planned some time into my iteration to setup the utility and try it out.

    Our development team currently uses Visual Studio Team System for development whereas our testers are currently using Mercury Quality Center to track defects.  On past projects I've actually went through the trouble of manually synchronizing defects in both systems (luckily we didn't write too many bugs :-)).  However, even with relatively low defect rates, it still took a good amount of time to keep the two systems in sync.  So, we thought we'd give this new utility a try.

    When I first read the setup and configuration help file I was a little overwhelmed at the number of steps it took to complete the installation.  Some of the steps were pretty straightforward and simple - for example, turning on ASP.NET and allowing web services to be called.  Since I was installing this utility on our TFS build machine, these services were already setup and configured.

    Next, I ran an MSI installer package that installed the utility's files.  However, even after running the installation, I still had to manually "install" three separate Windows services (via the InstallUtil utility).  It seems to me that this step could have been handle via the MSI package.

    Once the services have been installed there is quite a bit of configuration to be setup.  For example, you need to specify your TFS server address and port number, the Quality Center URL, LDAP server (if used), and many others.  You then have to specify which fields map to each other between TFS and Quality Center.  This mapping is handled within XML files and is relatively easy to modify.  I did find that some of the documentation was out of date with what was actually expected in the configuration files but that wasn't too difficult to get around.

    The synchronization utility does ship with an administrative tool to aid in the setup and configuration of the various files but there are still a few quirks that need to be ironed out (e.g. the "Defect ID" field not showing up in the TFS list of fields on the mapping tab - you could specify it directly in the XML file but I couldn't find it anywhere in the UI).

    Although I ran into a few issues along the way and had several questions related to configuration and processes, I received very prompt and directed assistance (via e-mail) from the main developer of the tool (thanks Ilpo!).  We probably went through no less than 15 e-mail exchanges over the course of 24 hours.  However, at the end of that exchange, I had my Team Foundation Server synchronizing defects with Quality Center.  I was even able to get a few new features added in along the way (I believe two or three new builds were released during that two-day period as well).

    So, as of right now, I'm pretty happy with the outcome.  We haven't really had a chance to fully put it through it's paces, but based on what I've seen so far it appears to solve our needs.

    Given all that, I'd say the utility works very well but still needs some work on the installation and configuration process.

    Click here for more information or click here for pricing.

    23 January 2007

    TFSBuildManager

    For anyone managing multiple build types within Team Foundation Server's Team Build service, you've probably come to realize there are several shortcomings in v1.0.  For example, there's nothing in the IDE that lets you stop a running build for delete completed builds.

    Although I've built a couple of utilities on my own to alleviate some of these issues there is now a project on CodePlex which handles these issues very nicely (and looks way cooler than anything I've written for these tasks :-) - TFSBuildManager.

    TFSBuildManager has the following features:

    • Start, stop a build
    • Change build/s quality
    • Delete, backup build/s
    • Edit build type

    The project is in it's first release but is still very useful.  Click here for some screen shots.

    03 January 2007

    AssemblyInfoTask Fix for Year 2007

    For anyone using the AssemblyInfoTask custom build task you may have noticed that it does not work (using default settings) when performing a build in the new year (2007). This is due to a restriction within Microsoft's version number scheme (i.e. it uses 16 bit numbers).

    The AssemblyInfoTask home page suggests a work around by modifying the Microsoft.VersionNumber.targets file (on the build server) and changing all occurrences (there's two of them) of "yyMMdd" to "01MMdd". This will work for the remainder of the year, at which point you'll need to change the format to "02MMdd" for 2008.

    If you are like most products and have multiple releases every year then you can leave off the beginning number and use the format "MMdd" (this is what we have chosen to do). The assumption here is that the major and/or minor version number will be incremented long before you reach "1231" at which point it will start over again.