# Thursday, January 17, 2008

I spent quite a bit of time answering some customer questions on TFS today so it would be a shame not to share the answers.

What options are the for migrating from Subversion to TFS?

Currently there is a proposed feature for the TFS Migration and Sync Toolkit but no work has taken place on it - you can vote on the feature to increase its priority.

Alternatively, I found a couple of 3rd party tools from ComponentSoftware and Kyrosoft that claim to do the job at but I don't personally know anyone who has used them successfully.

What is the availability of TFS for Volume License Customers?

I'm still trying to find an answer to this one although I see it is possible to install the trial version and at a later date just re-apply your VL key without having to reinstall. See Brian Harry's blog for more details.

What TFS licenses are required for the sync tools e.g. TFS Migration and Sync Toolkit?

I'm still looking for an answer on this one.

What is the support situation for TFS running on VMWare?

I'm still looking for an answer on this one.

Can you create sub-folders in the team query areas of the Team Explorer?

Currently not possible. The two closest options are to either prepend a common string to query names to ensure they sort together or copy them to your favourites folder and organise them there.

How can you define different check-in policies depending on which folder path you are checking into?

This functionality isn't available out of the box but the TFS Power Tools have a "Custom Path Policy" which works with existing Team Foundation Server check-in policies. It provides a mechanism that lets you specify the source control path or paths upon which a particular policy acts. This initiates a scenario where you can enforce a different sets of rules for different source control folders. For example, one folder can have more stringent code analysis policy rules applied than another folder.

How do you configure an e-mail to be automatically sent on policy override?

You have a couple of routes for this but they all end up doing the same thing - subscribing to a TFS event. One of my colleagues wrote a piece on this a while ago. You can read it at Darren's blog.

Alternatively others have already gone to the trouble of coding it up. The first tool is probably the best (and more powerful), the second just a simple tool for managers ;-)

Can builds be restricted to security groups?

Yes,  the permissions you need to look at are:

  • Administer a build (allows users to create new build types)
  • Check-in (allows the user to check-in the build scripts)
  • Start a build (allows the user to run a build)

There is a more complete description at IT Architect.

by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Thursday, January 17, 2008 6:13:48 PM (GMT Standard Time, UTC+00:00)  #    Comments [0] Trackback
# Friday, November 02, 2007

I've been having a quick look at Google's Open Social... They really need to get better documentation so I'm not exactly sure about the fine detail. There are a few bits on developing widgets but nothing at all on hosting them which is a big chunk to be missing in my opinion. Maybe they are holding off publishing to stop a proliferation of social sites popping up and competing with their "launch partners"?

Some other random thoughts:

  • You need to implement your widgets as Google gadgets
  • All the samples are based on Orkut so it's not clear if a Google account is required - if it is then that's bad
  • There doesn't seem to be any sort of download available, probably as the JavaScript is hosted by the Google gadget system

They have been quite clever calling it "Open" Social instead of "Google" Social but it still sounds like a lock-in to the Google gadget system.

The API is really about building widgets to host in existing social web sites - in all not that exciting. What I would prefer to see is a system that allows me to access my social data from anywhere in applications I write - e.g. my blog, Outlook and my phone...

[Edit: having read around a little, Dare Obasanjo says much the same thing but slightly more coherently.]

by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Friday, November 02, 2007 5:27:27 PM (GMT Standard Time, UTC+00:00)  #    Comments [0] Trackback
# Monday, October 08, 2007

Claire and I are just back from a week in the Red Sea scuba diving. We had a fantastic time diving wrecks such as the Thistlegorm and the multitude of reefs around Sharm el-Sheikh. We even had a close encounter with a school of hammerhead sharks. I completed my PADI Advanced Diver qualification.

The full set of photos are on Flickr as usual but I also managed to take a little underwater footage below. Not the most exciting piece of video ever but it's a start.



Video: Red Sea Scuba

[Edit: Google Reader won't allow soapbox embeds so I've added a link to the video.]

by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Monday, October 08, 2007 4:53:22 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] Trackback
# Thursday, August 02, 2007

I have 6 invites to Pownce too. If you want one then leave your e-mail attached to a comment and I'll forward one on.

by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Thursday, August 02, 2007 9:21:54 AM (GMT Daylight Time, UTC+01:00)  #    Comments [0] Trackback
# Wednesday, August 01, 2007

TechReady 5 It's been a few weeks since my last post and I've been busy with customers and Outlook add-ins. Last week, however, I was at Microsoft's internal conference. It's like a TechEd proving ground where presenters get to try out their talks on an internal audience. There is some amazing stuff coming down the line in Windows Server, Visual Studio and SQL Server. I'm really pleased about the data warehousing enhancements across the SQL Server product line.

Way back in 2004 I went to TechEd and blogged a series of articles about new features that would arrive in SQL Server 2005. I plan to do a similar series for SQL Server 2008 but since a lot of stuff we saw last week is still internal I'll only blog about bits in publicly released CTP's.

duck Finally, the Popfly mashup site is now allowing invitations so the first five people to leave a comment telling me what you plan to do with your mashup gets an invite. You need to leave me your e-mail address as well.

by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Wednesday, August 01, 2007 1:33:24 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] Trackback
# Wednesday, July 18, 2007

I’ve recently done some research into .NET WinForms testing on behalf of a customer and there are several different levels which we can attack this. Each is of different complexity and cost.

Simulate Mouse Clicks and Keyboard Presses

This method has been around since Windows 3.1 days and involves heavy use of SendKeys and SendMessage to manipulate Window message queue to send mouse and keyboard events directly. An old but pretty good sample is at http://msdn.microsoft.com/msdnmag/issues/02/03/Bugslayer/.

Drive Forms Controls Directly

The next simplest method is to get hold of Windows forms controls directly so you can call methods and set properties using code. This method usually involves running the target forms within your own process. The following two MSDN magazine articles describe the steps:

The second one looks at how to cancel message boxes etc by sending messages directly to the window. Both articles describe the method but they are not very user friendly and you will have to write a fair amount of code. Fortunately there is a library available that hooks into the NUnit testing framework at http://nunitforms.sourceforge.net/. Still lots of code but you get to write higher level stuff such as:

ButtonTester button = new ButtonTester("nameOfSomeButton");
button.Click();
Assert.Equals(“Clicked!”,  button.Text);

The only problem I can see with this is maybe development has stopped as the last full release was in November 2004 with a few alphas up until May 2006. Still you can grab the source and start hacking away if there are any problems.

Using Active Accessibility 2.0

This API has been around for a few years and is a standard way of controlling all Windows controls. The trouble is though that it’s a COM API and somewhat complex to master. I’ve seen anecdotes on the Internet talking about the test code being more complex than the application code when using this. For completeness the API is documented at http://msdn2.microsoft.com/en-us/library/ms697707.aspx though the following section has a more modern way of doing this. A walkthrough is available showing how to make a .NET application accessible at http://msdn2.microsoft.com/en-us/library/cb35a5fw(vs.80).aspx.

Using UI Automation

UI Automation is the successor to Active Accessibility and, unlike Active Accessibility, was specifically designed with automation in mind. It’s described in more detail at http://msdn2.microsoft.com/en-us/library/aa348551.aspx with a complete walkthrough and sample code at http://msdn.microsoft.com/msdnmag/issues/07/03/Bugslayer/default.aspx. One thing to note though – the UI Automation bits are only available on computers with .NET 3.0 installed – i.e. Vista, Windows XP and Windows Server 2003.

There is also a very useful library available to help with the code at http://www.codeplex.com/uapp.

Third Party Tools

This wouldn’t be complete without a nod to some of the commercial offerings out there. I haven’t used any since Rational Test many years ago which was next to useless but I hear reasonably good things about Mercury QuickTest Professional though I have no idea how much it costs. There is even a virtual lab available on Automating Testing of Windows Forms Application with TestComplete and Visual Studio 2005 Team System.

Conclusions

To summarize, I would recommend trying NUnitForms and UI Automation to see how you get on with both of them and making a choice between the two. QuickTest Professional will probably be too costly and the other two technologies are a lot of work and too old to consider for all your testing – they may have tactical uses though.

by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Wednesday, July 18, 2007 7:52:52 AM (GMT Daylight Time, UTC+01:00)  #    Comments [1] Trackback
# Sunday, July 08, 2007
Monowall
Monowall, uploaded to Flickr by James Snape.

Canon 400D, Canon 24-105 f/4L IS lens - 1/60 second, f/4, ISO 100

by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Sunday, July 08, 2007 3:27:19 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] Trackback
# Saturday, July 07, 2007
Blue Crossing
Blue Crossing, uploaded to Flickr by James Snape.

Canon 400D, Canon 24-105 f/4L IS lens - 1/10 second, f/11, ISO 100

by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Saturday, July 07, 2007 3:24:06 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] Trackback
# Friday, July 06, 2007
Red Limit
Red Limit, uploaded to Flickr by James Snape.

Canon 400D, Canon 24-105 f/4L IS lens - 1/30 second, f/4, ISO 100

by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Friday, July 06, 2007 3:20:52 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] Trackback
# Thursday, July 05, 2007
Red Collection
Red Collection, uploaded to Flickr by James Snape.

Canon 400D, Canon 24-105 f/4L IS lens - 1/60 second, f/4, ISO 100

by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Thursday, July 05, 2007 3:17:00 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] Trackback
# Wednesday, July 04, 2007
Tony Blair takes residence in Connaught Square
Tony Blair takes residence in Connaught Square, uploaded to Flickr by James Snape.

This is the moment that Tony Blair moved into Connaught Square at the weekend during our engagement party. Unfortunately I didn't have a paparazzi style long lens on the camera so couldn't get a really tight shot.

Canon 400D, Canon 24-105 f/4L IS lens - 1/250 second, f/4, ISO 400

by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Wednesday, July 04, 2007 1:22:08 PM (GMT Daylight Time, UTC+01:00)  #    Comments [1] Trackback
# Wednesday, June 27, 2007

As everyone knows Tony Blair resigned as Prime Minister and member of parliament today.

He'll be moving into his new house soon and turned up to the residents garden party. My sister lives in the same square and the Daily Mail managed catch her in the background when snapping pictures of him.

by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Wednesday, June 27, 2007 10:53:13 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] Trackback