Microsoft Ireland Team Blog

June, 2007

  • Microsoft Ireland Blog

    TFS Migration / Integration / Extensibility


    In my experience, people tend to like TFS when they see it and a typical next question is "How can I start using it with my existing systems?"

    Unless you're starting from scratch, what this typically boils down to is a question of once-off migration vs. integration. Migrating from Visual SourceSafe is an example of the former, where you take your existing codebase and transfer it to Team Foundation source control, preserving version history / labels etc. in the process. That's a pretty clear-cut scenario - and let's face it, after using TFS version control you're unlikely to revert to SourceSafe, so it's a uni-directional and once-off task per project.

    Less clear-cut, however, is the situation where you may have a bespoke tool for requirements management, with bugzilla for bug tracking and so on. How you can migrate to TFS to take advantage of its ALCM features and have it co-exist with some of your legacy systems? How can you fit these systems into the workflow that TFS enables? For example, if someone updates a bug in bugzilla how does that change may its way into my list of bugs in Team Explorer in Visual Studio? Then when I mark that bug as closed how is that change propagated back to bugzilla?

    This is where the TFS Migration and Synchronization Toolkit can help. As the name suggests it's aimed at building tools for migration and synchronization with other version control and work-item tracking systems. Essentially it allows you to hook up datasources to the synchronization engine which generates change lists. Included in the pre-release are two reference implementations, one for version control synchronization and one for work-item tracking synchronization.

    This is still early days for the toolkit - so here's the best bit: the Issues List allows you to enter and vote on what migration/sync tools you'd like to see the community develop. Take a look at the TFS Migration Blog for how they see this working.


    The Extensibility part of the title above refers to the Team Build Object Model in Visual Studio 2008 ("Orcas") Team Foundation Server, which is new. Using the object model you can programmatically

      • create build definitions
      • queue builds
      • kick off builds
      • query build details
      • manipulate build properties

    How you use this is up to you - but one suggestion I've seen is to incorporate automated builds into your workflow. You can get started with the object model in Orcas beta 1.

    Cross posted from ronang's blog
  • Microsoft Ireland Blog

    Continuous Integration with Visual Studio 2008 (“Orcas”) Team Foundation Server


    (Cross posted from ronang's blog)

    I first started using Continuous Integration (CI) in 2002 when my then company started eXtreme Programming – I found it great and subsequently introduced it at every opportunity using combinations of CruiseControl / scheduled tasks and so on.

    When I started using Team Foundation Server I was a little surprised(!) that CI wasn’t included in the box – it was extremely easy to create an automated build, but support for CI wasn’t included. However, this has been rectified in TFS “Orcas” and I’m glad to report that it’s a snap to set up CI. Here’s how.

    1) Create a new Build Definition from Team Explorer:

    This pops up the dialog below (note that items with missing info are highlighted e.g. Build Defaults below). Enter a build definition name – ACT2 below (stands for AJAX Control Toolkit build 2 in my case), and a description of your choice.

    2) Set up your working folders – i.e. what’s retrieved from source control , and where it’s put on disk. For example $/ACT below is the root of the AJAX Control Toolkit snapshot in my local TFS repository.

    3) Specify where in source control you want your TFSBuild.proj file to live – note that you have more leeway with Orcas than in Visual Studio 2005, where it had to live under $/Projectname/TeamBuildTypes

    4) Specify what to do with completed builds – this is a big improvement from 2005. For example, you don’t really want to hang on to all failed builds – maybe just the most recent 5 failed builds as shown below, others will be deleted from the system. This means that you’re not needlessly using up resources on the server for failed builds. Aside: note you can also delete builds from within the IDE now, another improvement from you can hide all the evidence of failed builds :-)

    5) Set up what build agent to be used and were to put the build after completion (a network share). If this is your first Build Definition on this server you’ll need to set up some Build Agent details - I just used the default port number and machine name OrcasBeta1TFSVSTSW which was the name of my virtual PC.

    6) Now the interesting bit – what kicks off a build? You have plenty of options here as shown in the dialog below:

    a. Check-ins do not trigger a new build – you may want to use this for a lightweight build definition which e.g. doesn’t gather coverage figures. Very useful for when you’ve just checked in a fix (remember you can have multiple build definitions, so another could be set up to do automated builds).

    b. Build each check-in – kick off a build as a result of each check-in, which is likely to result in a lot of builds. Personally I prefer

    c. Accumulate check-ins- e.g. do a build no more than every 60 minutes

    d. Build every week on the following days – a little like what you could do with TFS 2005 and a scheduled task, with the addition that...

    (as makes sense) all of the above apply only if there have been changes since the last build. Option c seems to me to be the best for CI.

    That’s it! You can add a new build to the queue by right clicking your build definition in Team Explorer which brings up the below menu, and selecting Queue New Build.

    One thing of interest here is that you can supply command line args to MSBuild. This could be used to include/exclude certain long-running tests...

    So that’s the support for CI from TFS Orcas. Of course just because something builds successfully doesn’t mean it won’t fall over the first time you run it...So you really need to ramp up your testing so that you can have a measure of confidence that when your build passes that the codebase is in good shape.

    Also, your team need to buy into the mentality that breaking the build makes them persona non grata on the team...All of this will be familiar to those of you using agile methods. I’ve found the following sequence to be useful:

    1) Accept a given work item

    2) Get Latest Version of source code to your disk

    3) Make sure it builds locally (and that tests pass – worth checking did the last automated build pass)

    4) Start writing tests/production code

    5) When ready to check-in, do another Get Latest Version to pick up recent check-ins, merge as necessary and make sure all tests still pass locally.

    6) Check in

    7) The CI build will kick off a build e.g. in the next 60 minutes and run all tests...

    8) Rinse and repeat.

  • Microsoft Ireland Blog



    I went to the VSTO: Roadmap to the Future talk by Mike Hernandez last night organised by the MTUG in Dublin. VSTO will be in the box with Orcas (as opposed to being a separate download as has previously been the case), so in Orcas if e.g. you go to File->New Project you'll see the option to create app level add-ins for Excel, Outlook etc. in the same way that you see ASP.NET Web Site as a project type.  There'll be visual designers for customising the Office 2007 Ribbon, custom task panes, Outlook Form regions etc. ...and it turns out you can use WPF controls in the VSTO designers as well - should make for some interesting add-ins.

    Also the deployment and security model have been improved - ClickOnce deployment now for your OBAs. In the meantime until Orcas arrives you can use VSTO 2005 SE to target the 2007 Office System.


    Cross posted from ronang's blog

  • Microsoft Ireland Blog

    IMTC Pictures posted!


    I posted a few pictures from IMTC here: - enjoy!



  • Microsoft Ireland Blog

    Team Development with Visual Studio Team Foundation Guide - Beta 1



    My first post on this blog! Hope that cross posting to works :-)

    Take a look at the Team Development with Visual Studio Team Foundation Guide which is now available for download.

    If you're already using or just looking at TFS, then this guide will show you how you can get the most out of Visual Studio Team Foundation Server.

    Lots of useful tips, patterns & how to''s the 20,000ft view:

    Part I, Fundamentals
    Part II, Source Control
    Part III, Builds
    Part IV, Large Project Considerations
    Part V, Project Management
    Part VI, Process Guidance
    Part VII, Reporting
    Part VIII, Setting Up and Maintaining the Team Environment

    For example, it covers how to set up a Continuous Integration build with Team Foundation Server 2005 (provides a webservice which can initiate a build whenever a checkin happens for example).

    Of course CI is in the box with TFS "Orcas" which is nice :-) I'll cover that in a later blog post.


    Cross posted from ronang's blog
  • Microsoft Ireland Blog

    Ireland's Call on Guitar Hero X-Plorer for the PC and XBox 360


    Hiya!  Rob here, just popping in on the team's new blog for a quick sec before I head off to Canada.

    If you have the Guitar Hero X-Plorer controller for the XBox360, here's the XNA application that will let you play Ireland's Call (a.k.a. "The Rugby Song") on your PC or XBox360. This was my finale at Rob's Last Stand last week.

    This game is a bit more "free form" than the real Guitar Hero, in that you aren't prompted visually with when you should play each chord. Instead, as you play, fireworks go off in sync with the music that match the colours of the notes you're playing.

    I wrote this in XNA by starting with the Particle3D sample found at the XNA Creators Club. It was fun tweaking the High-Level Shader Language used for the fireworks. I must also say, I now have immense respect for the people responsible for producing the audio for the real Guitar Hero games.

    I've included playing instructions on my blog for your jamming pleasure. 

    And I've commented and posted the code as well. 

    Rock on!

    Ireland's Call

  • Microsoft Ireland Blog

    CTP of SQL Server 2008 available for download




    Figure the below are going to be pretty handy ;-)

    • ADO.NET Entity Framework
    • Occasionally Connected Systems - new synchronization services
    • Storing any type of data
    • ...and more

    Take a look at the Product Overview :

  • Microsoft Ireland Blog

    Visual Studio Team Foundation Server – Project Server 2007 Connector



    Visual Studio Team Foundation Server – Project Server 2007 Connector is now available at

    Future versions of Team System will have native integration with Project Server, in the meantime this Connector solution is the best way to integrate the two  products.

    The connector synchronizes Project, Resource and Task data between TFS and Project Server 2007. Updates to work items in TFS are automatically applied to the corresponding assignments and tasks in Project Server and vice versa - nice! Also helps with resource management across multiple projects and program-level reporting.


  • Microsoft Ireland Blog

    IMTC 2007!


    IMTC 2007For those of you who were not at IMTC yesterday at Cineworld Dublin, you missed a fantastic event!!  We had a great turnout and some really amazing talks and demos.  We will be working on getting videos and pictures online soon.

    For those of you who were there - thanks very much for coming!  We hope you enjoyed it and learned a lot.  Feel free to e-mail us with comments or questions, and keep an eye on this space for updates on where to find content from the event as well as other upcoming events in the near future!

    Thanks to all the speakers who did a tremendous job educating people on the latest and greatest.  And also thanks to MTUG, our sponsors, and everyone else who worked so hard to make this event such a success. 

Page 1 of 1 (9 items)