For the past 6 or 9 months we've been working on something we call the Migration & Synchronization toolkit.  It is a framework for building tools that either convert from other systems to TFS or synchronize other systems with TFS.  We frequently think about it as a platform for building tools to migrate from alternative tools - competitors, open source tools, internal tools, etc.  But it can also be used to synchronize TFS with other data stores that you have no intention of moving off of.  Examples include Project Server, Sharepoint document libraries and lists, Help desk systems, Financial systems for time tracking and more...

We've just released a "preview" version of the migration toolkit on Codeplex.  We are providing in it source code form to make it as easy as possible for 3rd parties, the community and customers to write tools that will integrate TFS with other data stores.  However, for now, this is not a collaborative community project - we don't currently plan to take submissions from the community, although we certainly want feedback.  We are providing the code primarily to make it easy for people to debug and extend it.

This is not a final release.  Think of it as a "Beta".  We plan on releasing a final "V1" of the toolkit in a few of months.  Based on the feedback we get, we'll figure out where to go from there.

We plan to build or to work with 3rd parties to build integration between TFS and a variety of other systems.  In the toolkit, you'll find initial samples for synchronizing TFS with Sharepoint (both documents and work items/lists).  Ideas we are pursuing include:

  • Sharepoint synchronization - Allows you to leverage TFS's branching, merging, unified backup, etc while exposing all of your data through Sharepoint in a clean way.
  • TFS <-> TFS migration/synchronization - Enables a variety of scenarios, including a poor man's project move, multi-master replication for distributed teams who want local copies of all of the data and more...
  • Project Server synchronization - Making it easier to keep TFS and project plans in sync.
  • ClearCase migration/synchronization - Enabling the two systems to coexist nicely when needed.
  • And more...

We did an initial trial where MCS (Microsoft Consulting Services) used the toolkit to help a customer bridge to an existing version control system.  The feedback we got from them was very positive.  In addition to some good suggestions for improvements, the MCS team said that the toolkit made the job surprisingly easy.  Building their migration tool was intuitive and required less work than they expected.  We hope others will find the same experience.

We're interested in your feedback on what the top priorities for migration/synchronization tools are.  We're interested in fostering 3rd party or community projects using the toolkit.  We're interested in your feedback on the toolkit.

Please let us know what you think,

Brian