OData Service for Team Foundation Server 2010 - v1

January 7 2013 Update: v2 of this service is now in beta. It still supports Team Foundation Server 2010, and it adds support for Team Foundation Server 2012 as well as a few new APIs and bug fixes.

*****************************************

A few months ago we released the beta of the OData Service for Team Foundation Server 2010. Today, I am pleased to announce that v1 of this service is now available and you can download it here.

What the heck is an OData Service for Team Foundation Server 2010?
I’m glad you asked. The purpose of this project is to help developers work with data from Team Foundation Server on multiple device types (such as smartphones and tablets) and operating systems. OData provides a great solution for this goal, and has been embraced by numerous developers for building great device-specific applications. OData is accessible from any device and application stack which supports HTTP requests. This OData service interacts directly with the TFS client object model.

What is OData? OData exposes a way to work with data over the web. If you’re new to OData, I suggest spending a few minutes at https://www.odata.org/ reading about this evolving standard. It uses interfaces similar to REST, so that you can programmatically consume and manipulate data from any device or application stack which supports HTTP requests. DPE has been working with several organizations (such as PayPal, Facebook, and Netflix) and product groups to enable OData where it makes sense to do so. Team Foundation Server was an obvious choice since it not only allows developers to extend TFS in new and interesting ways, but it also allows us to further showcase support for this evolving standard with the developer community at large.

Can I see a demo?
Of course! I filmed a video for Channel 9 which shows you how to get started using this service. When you’re ready to get started, just download the release which includes full documentation. The service can be easily hosted in Windows Azure to front-end your own Team Foundation Server instance, or if you want to use this with CodePlex we’ve already hosted this service for you at https://codeplexodata.cloudapp.net/. As long as you have contributor rights on any CodePlex project backed by Team Foundation Server 2010 you can start making OData calls immediately. We also have included a sample Windows Phone 7 application, and WebMatrix Helpers, which show you how to get started building applications which consume this service.

You can also find a few great projects from people in the community who have been using this during the beta to build some great applications, such as TFS on the Road (a TFS app for Windows Phone) and a few other examples here.

(this is a video I filmed during the beta so you'll hear me refer to this as a beta, but the concepts are the same for the v1 release)

What’s new in v1?
Since the beta, we have invested heavily in better documentation and a better installation experience. We have also made a few bug fixes and added support for a few operations, mainly around build definitions. Everything we have done since the beta has been based on direct customer feedback. Thanks to everybody who has contributed by evaluating the beta and helping to make this a great release!

So this is v1 – what is your roadmap for future releases? Is this supported?
I would like to continue to iterate on this and add value over time. I should make it clear, however, that this is not an official release from the TFS engineering team. The TFS engineering team has reviewed the service and approved of the approach we are taking, but there is no official support for this service. That said, all of the source code is provided for you, the license permits you to use it and extend it for your own purposes, and we are interested in (but not committed to) continuing to add capabilities over time. Personally, I’d love to get this working with the Team Foundation Service, but since it’s only in a “preview” mode at the moment it’s a bit too early to be building extensions for it.

If I build an application using this service, will users need client access licenses (CAL’s)?
In most cases, they will. Connecting to Team Foundation Server via OData has the same licensing implications as connecting via Team Explorer, the web, or any other client. But there are a few exceptions where users working with Team Foundation Server don’t need CAL’s. Please refer to the Visual Studio 2010 licensing whitepaper for all of the details.

I hope you enjoy this – if you build something interesting please be sure to drop us a line and let us know!