Sunday, November 25, 2012

Implementing ALM Rangers Branching by right clicking

Last week we shipped one of the ALM Rangers projects I’ve been working for the last months, and that hopefully could ease the implementation of branching in TFS for a lot of people, especially now that we implemented a Visual Studio Extension.

ALM Rangers Branch Tool Visual Studio Extension
What we now released is a tool for standardized and automated implantation of branching strategies, and we put it right there you want it, on the context menu in source control explorer. By right clicking in your source tree, you can now implement the branching strategy of your choice in an easy, standardized and automated process.  This is done by right click and select the ALM Rangers Branching Tooling menu.

The first step is to simply select your branch plan. The TFS Branch Tool present a list of available branch plans and provides a short description of them. Then you select a branch plan you get prompted for the parameters needed to implement the selected operation.

Once selected and all parameters is provided you can implement the action by clicking ok, sit back and enjoy while your branching operation is applied.

Customizable and extendable
But the best part is that you can both customize and extend the functionality. The Visual Studio extension relies on .branchplans files to define what operations to perform. The .branchplans files is xml based and can easily so you can easily edit the files to add commands or modify the branching operations.

Adding a ServicePack-Release branch plan
Creating an initial structure is a good thing, but that’s only done once. Hopefully you’re doing releases more often, and if you have a more advanced strategy for releases, it can be a lot of work to handle manually.

By creating a new branch plan for your release strategy you can use the tool to have that work automated.  The tool will automatically pick up and adopt to your new branch plan and display your customized information as well as any arguments you defined for your branch plan.

It will then execute the actions you defined in your branch plan. 

And provide you with the desired result in source control.

Monday, November 12, 2012

TFS Administrators Toolkit now on CodePlex

The last weekend I finally got around to publish the TFS Administrators toolkit on CodePlex. The new home for the source and backlog is now

Cleanup and improved features in progress Since last release I’ve been giving the source a much needed StyleCop run through. I’ve also done some refactoring mainly of the UI for progress indication.
In terms of new or improved features I’m currently improving the Find in files feature, making it accessible directly from Source Control Explorer using a context menu, added capability to search any set of folders, and not limiting it to one Team project as of today.
I’m also in progress of improving the UI for Test Attachment Sizes, and adding the capability to break down test attachment sizes over time.

Future plans My current plan is to use the CodePlex site as home of the source and backlog, and even make beta or experimental releases on the CodePlex site. I will still continue to push more stable releases of primarily the Vs2012 VS Extension on VisualStudioGallery.

Sunday, October 14, 2012

TFS Administrators Toolkit 1.1 for VS 2012

It’s been a while since the last update, but yesterday I released an update of the TFS Administrators Toolkit. Most of the new features was implemented months ago, and the source has been available in the CodePlex project,  Before I published a new release of the tool on the VS Gallery, I wanted to fix some bugs and try to address some of the feedback I got.

Find In Files integrated in source control explorer
One of the improvements I’ve made is to integrate the Find In Files feature into Source Control Explorer by adding a context menu. Now you can right click on any folder and Select Find In Files to do a recursive search in that folder. I’ve also, hopefully, fixed some bugs reported.

Improvements for Test Attachments Sizes
I made some UI improvements, like encapsulating the display of Total test attachments sizes in an expandable section. I’ve also added support for the 2012 version of TestAttachmentCleaner, as well as some other minor improvements.

Update Reports and Portals
The Update Reports features has been updated and is now called Update Reports and Portals. In the new implantation you can now select if you want to either update reports, portals or both for existing team projects. I also improved the logging features by parsing the log file for pushing new reports or portals and offers a way to easy open the logfiles.

Sunday, October 7, 2012

Updates to TFS Administrators Toolkit for VS2010

A couple of days ago, I released an update for the TFS Administrators Toolkit for vs2010, it contains the following features and updates.

You can now easily view your event subscriptions, server wide, by using the new Subscriptions window. The window offers a set of filters (EventType, DeleveryType, Address, Filter (Condition) ) for you to find individual subscriptions, and even a way to remove subscriptions by unsubscribing to them.

Updates to test attachment sizesUpon request I updated the Test attachment sizes feature so you now can select what project to process, instead of having to analyze all projects in the solution.

Sunday, September 30, 2012

Minor updates to TFS 2012 Community Team Tools

Two weeks ago I got great feedback in the form of an email with a screencast from a user having a hard time to get the TFS 2012 Community Team Tools to work.  Not only was we able to figure out a solution to the original problem, he also managed to help me make the Community Team Tools better, and not only the Team Tools, the improvements and fixes was quickly incorporated into other projects I’m currently working on.

A new release
The result is the release 1.0.1 of TFS 2012 Community Team Tools. It contains minor bug fixes and improvements, such as:
•    Added a /? Option
•    Added warning message if a non-recognized command was passed.
•    Help text didn’t match parameters name.
The new release can be found at and

Friday, September 21, 2012

Sogeti Sweden Visual Studio 2012 Roadshow

During August and September my life has been somewhat hectic with a lot of WORK to be done. Except for the ramp up of client upgrades, I’ve also been planning and putting together a VS2012 Roadshow targeting 11 cities across Sweden together with my colleagues at Sogeti.

The rest of this post is information in Swedish about the Roadshow:
Tillsammans med Microsoft genomför Sogeti en nationell roadshow. På elva orter kommer vi att visa upp nyheterna i Visual Studio 2012 och Team Foundation Server 2012 med fokus på agilt arbetssätt, utvecklareffektivitet och kvalitet. Den nya Visual Studio-versionen ger stöd genom hela livscykeln, från kommunikation med beställare, till daglig drift av det färdiga systemet.

Inplanerade orter och datum

Karlstad 10/10
Borlänge 18/10
Västerås 30/10
Örebro 31/10
Jönköping 1/11
Sandviken 7/11
Umeå 8/11
Sundsvall 9/11
Linköping 15/11Stockholm 23/11
Malmö 29/11

Seminariet riktar sig till alla som är involverade i utvecklingsprojekt: kravställare, utvecklare, testare, arkitekter, scrum masters, projektledare och chefer.

För att synliggöra nyheterna så konkret som möjligt följer vi ett agilt projekt från krav till drift. Detta så att du får en inblick i kommande möjligheter och utmaningar för dig. Kom och inspireras av hur nya Visual Studio kan hjälpa dig att hantera ditt projekt.

• Agil kravhantering
• Stöd för Agila team (Scrum & Kanban)
• Prototyping i PowerPoint
• Nyheter för utvecklare (kodgranskning, enhetstester, m.m.)
• Exploratory Testing för kvalitetssäkring
• Feedback från beställare
• Samarbete utveckling/drift i produktion


Wednesday, September 5, 2012

Find in Files : New feature of TFS Administrators Toolkit

The other day I was asked if it was possible to find out if a specific string ever had occurred in the source files of a specific project. As this is not possible in TFS out of the box today I said that it could probably be done in a couple of hours if needed.

Creating a search function    
Quite soon I was asked to put my money where my mouth was:) So I developed an Visual Studio Extension that, using the tfs api, would loop through each file and each file revision. As this would be a quite intense operation I placed it as a new feature in the TFS administrators Toolkit. I have some ideas to make it available as a standalone VS extension, extending source control explorer with a Find in File context menu, but at the moment it’s a TFS Administrators toolkit feature only.

Find in Files window
The result of my effort is the new Find in Files window in TFS Administrators Toolkit.  It enables you to search for text in the content of source controlled files.  Amongst its features is
•    Search files in source control matching selected wildcards
•    Option to search in History, searching through each file revision.
•    Option to search case sensitive or not
•    Option to search using Regular Expressions

Update!!! The Find in Files feature is availble in both VS 2010 and 2012. The 2012 version is updated with more features, as Search result prview, Source Control Explorer integration and more...

You can download the TFS Adminsitrators Toolkit from Visual Studio Gallery at

VS 2012
VS 2010

Friday, August 17, 2012

TFS Adminsitrators Toolkit released for VS2012

I have recently upgraded the TFS Administrators Toolkit to Visual Studio 2012. It's now released at Visual Studio Gallery under the exiting name TFS Administrators Toolkit for VS2012.
Technical update 
The Visual Studio 2012 version uses the TFS 2012 object model and integrates directly into the new Team Explorer and in the "new" Team Explorer Home dropdown.
Apart from the technical modifications there is no new functionality in this release. The 2010 version remains unchanged .

You can find the different versions at
I also done experimental work with a stand-alone version, but I don't plan to make a public release of it to Visual Studio Gallery. 

Friday, July 27, 2012

Mockups for Test Plan Builder

Working with customers and real life projects with Microsoft Test Manager sometimes exposes you to situations where everything is not so clear and simple as you’re used to. The ALM Rangers Test Tooling and Test Release Management guidance tries to address some of those situations.

Tooling for Test Release Management
But even if there is guidance, it only tells you what you need to do , it doesn’t do it for you, and today it’s can be a lot of repetitive manual work doing Test Release Management.  Building the PoC for a UI for Deep Copy test suites I started to think about what kind of tooling would be needed to ease or remove some of the pain points and manual work related to MTM and Test Release Management

Mockups for Test Plan Builder
With some Ideas for what’s missing then building a new test plan in one hand, and a bunch of code and “tools” used in different situations in the other hand I started to think about putting them all together.  To figure out how, and what’s missing I made a mockup using the new PowerPoint mockup features of VS 2012. After trying out some ideas I ended up with something like this. If you have any feedback thoughts or comments, I would love to hear them …

TFS Test Plan Builder project 
As a first step towards realizing the Test Plan Builder I’ve started a codeplex project, TFS Test Plan Builder and started to put together the basic parts. It's still a long way to go before it will be ready for release.

Sunday, July 15, 2012

Proof of Concept for a UI for Deep Copy test suites

Microsoft introduced a new feature in Microsoft Test Manager (MTM) 2012 – Deep Copy of test suites. Unfortunately it’s not accessible through the MTM user interface, instead it’s only available through a command line utility. It’s not the best of user experiences..

The new Deep Copy feature
There is a Copy Test Suite feature in MTM 2010 , but it only copies a test suite so the new test suite links to the same test cases. The new Deep Copy feature in MTM 2012 copy test suites also, but it also creates copies of every test case and re-link all links in the suite. This is a great feature if you need to preserve the state of your test cases or create a baseline.

Deep copy exposed through the TFS API
Luckily the TFS API exposes methods for the new deep copy feature. The API version is, as well as the command line implementation, asynchronous. Using the API to do a deep copy is quite simple if you have the Id’s for everything. It’s actually more work building an user Interface to present a test plan and making it possible to view and select the test suites in the test plan.

An embryo for future tooling
Building the UI for the Deep Copy PoC got me thinking. There is a lot of manual work involved then building a new test plan then moving from one sprint to another, or then moving to a new release. Building the UI for the Deep Copy PoC soon got me thinking about adding other features to improve the experience of building a Test Plan.

The source
This PoC is build against the Release Candidate of VS and TFS. As usually I’ve zipped and uploaded the PoC source to my sky drive. You will find it here:

Thursday, June 28, 2012

Community TFS Team Tools released at CodePlex

I’ve  just pushed the button and released the Community TFS Team Tools Codeplex project, and the binaries is now packaged and downloadable from Visual Studio Gallery as Community Tfs Team Command line utility. All in effort to make the tools and source code easily available.

Links and locations
You will find the Community Tfs Team Tools codeplex project at and the latest stable binaries at

Based on the ALM Rangers Quick Response Code sample
The Community TFS Team Tools project is based on the ALM Rangers Quick Response Code Sample, and extended with more features. If you want to know more about the ALM Rangers or the Quick Response Sample that started it all, please read the following posts

Future plans
Jason Stangroome did a PowerShell Quick Response sample based on the rangers Quick Response Sample ;) ,  you can find it at This got me thinking about exposing the commands as PowerShell Commandlets, preferable without duplicating the code. So if I find a way, or hopefully get pointed at it,  it might be the next feature.

Monday, June 18, 2012

TfsTeam command line utility

Last week I did a quick job to unblock a rangers project and create a command line tool for managing team and team members.  Although the tool released quickly unblocked the rangers project, the feature set was far from complete, so why leave it half done?

Short recap
In the beginning of June my fellow rangers discovered a missing feature, there was no tooling to enable automation of managing the new features of teams and team members in TFS 2012 RC. A day later we had a working solution with the basic feature set (List teams, create team, add user to team) that after reviews got published as a code sample. For those more interested you can read more about it the following posts  and

Completing the feature set
After a short brainstorming exercise I came up with the following basic features ListTeams, GetDefaultTeam, SetDefaultTeam, CreateTeam, DeleteTeam,RenameTeam, ListTeamMembers, addUser, RemoveUser as a suitable feature set for a first release. As I got most things setup and figured out already it didn’t take long to implement the complete feature set.

The resulting exe and source code can now be downloaded from my skydrive until I can get an official place to put it to.


Next step
The next step is most likely to release it on codeplex and Visual Studio Gallery as a community tool. And then start building a backlog, witch at the moment contains a couple of minor fixes and perhaps looking to add PowerShell Commandlets to it.

Thursday, June 7, 2012

Generate accumulated Release Notes in TFS build, part II

By using the  BuildReport and CompareLabel activities we can create a build report, but can it be transformed into a release notes document ?
This post continues the previous post Generate accumulated Release Notes in TFS build

The out of the box report
By default the build report activity generates a report that is "changesets" centric, It lists all changesets the files and associated work items of each changesets. This might be good for a build report, but if you want a release note report, you probably would want it "work item centric", listing associated work item first and maybe list changesets without work item as Undocumented changes.

Changing the output
Luckily for us, we have the option to change the output. The BuildReport activity creates a xml file with the report data and then creates a html report by applying a xslt transformation. By supplying our own xslt file we can customize the output to suite us better, with some libations as we're bound to the data in the xml file.

The customized report
Even though the xml data isn't structured in the way we would prefer for our needs, actually the row xml data is also kind of changesets centric. But by using xslt it's still possible to extract a list of work items. By applying this xslt file!1058, the resulting report looks something like this.

Tuesday, May 22, 2012

Community TFS Build Manager – Change Drop Location Preview

A couple of weeks ago I was faced with a sudden replacement of the server hosting the drop file share for a collection hosting 150+ builds. Even though it didn’t’ please some of the builds admins, I remained calm and promised them I could easily change drop locations for all builds with the Community TFS Build Manger. I was quite sure the Build Manager had a feature to batch change the drop location of selected builds.

But I was wrong
Much to my surprise I couldn’t find any way to change the drop location using the Community Build Manager.  I can say I looked for more than a while, as I was quite sure it was possible, but at last I had to surrender to the state that it wasn’t possible using tfs build manager.  Somehow I must have mixed up the feature set with my own hacks or simply assumed it would be included. 

No need to panic  ;)
I knew I had implemeted a similuar feature a long time ago, After a short diging I found what I was looking for. I had implemented a Change Drop Location feature back in 2009 in a tool/hack TfsBuildAdmin and I could probably use it or rewrite it again. It turned out that the 2009 TfsBuildAdmin tool was against the old build API and I had already rewritten the Change Drop Location feature against the new tfs2010 build API. This meant that I had a solution to batch update 150 build drop locations. First problem solved!

A promise is a promise
But I still had a problem; I kind of had promised that the Change Drop Location feature was included in the Community TFS build Manger. And of course it would be best to have such features integrated in a common tool like Build Manager.  So I simply emailed Jakob Ehn and Michael Fourie and described the problem, the solution and offered to assist in developing the feature set.

Build Manager Change Drop Location feature
This is the result so far, then selecting (multiple) builds and right clicking you get a new menu item Change Drop Location. Once selected it presents you a form to select update method. You can do both search and Replace updates and force a standard drop location for all build definitions using a couple of macros such as $(TeamProject)  and $(BuildServer)
You also have an option to update drop locations for existing builds (to ensure that the link in the build reports works for existing or old builds)

Preview download available
If you can’t wait until the next release of Tfs Community Build Manager I have put together a preview of the standalone application with the Change Drop Location feature enabled. You can download it from my SkyDrive!1052&id=5D46CAE8C0008CF0!1052

Update 2012-06-02 This code is now committed to the main branch for Tfs Build Community extensions and can be downloaded and built using the following changeset