Tuesday, July 31, 2007

TFS Now! A Hosting service of TFS announced...

Just saw a blog by Mitch Denny that Readify a aussie based consulting company with a strong presence in the TFS community has announce a service called TFS Now!

You can find out more here in the posting our surf to
www.tfsnow.com for more details about costs and such.

I personally think this is a great initiative since there are many smaller players that want/need to use TFS but simply don't have the resources to make it happen, now they can get all the benefits but none of the headaches. Some of you might say, but what about codeplex? Well the difference is that you don't have to make your projects public.

Monday, July 23, 2007

TfsBuildLab goes Beta 1

Finally it's released download beta 1 from here ... I started this project together with with Mathias Olausson in the begining of april and now it's finally time to release the first public beta version :)

What is TfsBuildLab then? It's and extention for Microsoft Team Foundation Server to provide additional functionallity to simplify day to day operations such as:

  • Continous Integration
  • Automatic Build Cleanup
  • Build Scheaduling
  • Build Queueing

It's loosley based on the Orcas continous integration specs which will easy the transition to use the native functionality once it's there and we will provide a migration tool once Orcas gets closer to being released.

We have been dog fooding this codebase in production since 2007-04-24 on a several projects the largest of them consisting of 5 parallel development branches each containing aproximately 10 000 source files.

Some statistics since the start:

  • 1251 Automatic cleanups
  • 551 Scheduled builds
  • 597 Continous integration builds
You can also examine these statistics over time in the followin diagram:

If there is anything you want to know about this project get in touch with us, any feedback is wecome.

Sunday, July 22, 2007

Naked conversations... fun reading for people begining to explore the blogosphere


Naked Conversations: How Blogs are Changing the Way Businesses Talk with Customers by Robert Scoble & Shel Israel

Finnished reading this one the boat back home from my vacation, it was kind of a long read since it never grabbed my attention and made me read from cover to cover.

Never the less it is a good read and in talks about some intressting topics on blogging and how it can change the way businesses interact with their customers. The book is build around lots of interviews with prominent bloggers around the world and is built around blog postings so it feels more like reading a blog than a book.

It also gives a bit of background on where blogging comes from, all in all it's a good read for anyone intressted in blogging.

Saturday, July 21, 2007

Limitations using XPath and BisSubscribe

First of all sorry for being quite for the last few months but after all it's summer and vaction times. I've been enjoying such activities as island hopping in Greece with the family, renovating the house (which mostely sucks) and the occasional spare hour of programming on my pet project TfsBuildLab (which I hope will get it's first public release this weekend).

Anyway, from now on I'll try to be more regular in my postings, I'll start with finnishing of a few that has been laying around in draft mode for awhile now :)

First out as the title states is a smaller limitation I bumped into when trying to setup email notfications using the built in functionality in TFS (namely BisSubscribe.exe which you can read more about in my previous posts here and here).

Imagine that you need to setup a notification whenever a checkin occurs on a particular file extension and prefer to use xpath over regexp. The following two xpath expressions as both legal xpath examples for this but only the first will work:

Artifacts/Artifact[contains(@ServerItem, ".cls")] <> null

count(Artifacts/Artifact[contains(@ServerItem, ".cls")]) > 1

The reason for this is the fact (which is illustrated by viewing the error message recieved when the notification filter is applied at runtime) TFS will append the filter you pass in to BusSubscribe with /CheckinEvent/ effectivly already positioning us in the document and we need to compensate for this.

TF53010: An unexpected condition has occurred in a Team
Foundation component. The information contained here should be made available to
your site administrative staff.
Technical Information (for the
administrative staff):
Date (UTC): 2007-04-05 10:25:08
Machine:
[SERVERNAME]
Application Domain:
/LM/W3SVC/3/Root/services-2-128202238136148894
Assembly:
Microsoft.TeamFoundation.Server, Version=8.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a; v2.0.50727
Process Details:
Process
Name: w3wp
Process Id: 6176
Thread Id: 784
Account name:
[DOMAIN]\[ACCOUNT]

Detailed Message: TF50285: Exception matching
subscription: Microsoft.TeamFoundation.Server.SubscriptionOnServer:
System.Xml.XPath.XPathException:
'/CheckinEvent/count(Artifacts/Artifact[contains(@Folder, ".idl")])' has an
invalid token.