Welcome to the TFS Integration Platform!
The TFS Integration Platform is a project developed by the Team Foundation Server (TFS) product group and the
Visual Studio ALM Rangers to facilitate the development of tools that integrate TFS with other systems. Currently, the scope of this project is to enable TFS to integrate with other version control and work-item/bug tracking systems, but the eventual goal of this project is to enable integration with a broader range of tools/systems (i.e. build). This platform enables the development of two major classifications of tools: tools that move data unidirectionally into TFS, and tools that synchronize data bidirectionally.
Prior to this project, we had a similar effort called the TFS Migration and Synchronization Toolkit. This platform is designed to replace that project. You can find the archived wiki content for that project on the
Archive page, and the releases are still available on the Downloads tab.
Interested in contributing? Visit the page on
Contributing for more information. Check out these
Community developed migration/integration projects.
Migration Guidance
If you’re thinking about migrating to TFS, but don’t know where to start, then check out the
Migration Guidance Document. This document outlines many of the common scenarios for migrating data into TFS, and it provides recommended options for each scenario.
If you’re looking for migration tools or partner services, please also see the TFS Migration and Integration Solutions page on MSDN
http://msdn.microsoft.com/en-us/teamsystem/bb840033.aspx.
Upgrade vs. Migration
One common area of confusion is around the definition of "migration", especially as to how it compares with the term "upgrade". Below is an explanation of how these concepts differ (also see the aforementioned
Migration Guidance Document).
- Migration - For this project, and for TFS in general, we use the term "migration" to refer to moving data between two TFS server instances. Migration is done through the APIs of TFS by using external tools, and is a lossy data transfer (see the Limitations page for details).
- Upgrade - We would define "upgrade" as the fully supported, in-the-box process of changing to the next version of TFS (e.g. upgrading from TFS 2005 to TFS 2008). Upgrades are done at the database level, and are full fidelity, meaning there is no data loss.
Scope
TFS is currently comprised of several major feature areas, including, version control, work item tracking, build automation, reporting, and SharePoint. At this point in time, the TFS Integration Platform is scoped to only support a the following TFS features:
- Version Control - This includes the migration of all files and folders, and support for preserving changeset contents. The following changetypes are currently supported: add, edit, rename, delete, branch, merge, and type.
- Work Item Tracking - This includes the migration of all work item revisions, fields, in-use areas and iterations, and links (including links to changesets).
Vision
The TFS Integration Platform is a development platform for partners and customers who are interested in building bridges from other systems to TFS. One goal of the project is to make it simple to write a simple adapter for connecting such systems. We intend to continue to invest in raising the level of abstraction for those interested in building solutions by providing a common host UI and eventually wiring in features like offline and more natural cross-domain support into the platform.
Through the development of solutions built on top of this platform by our team, and by our partners, we plan to drive features back into the platform. Feedback from end users of those solutions will also be critical to prioritizing the right areas of investment, so please help us by sharing your experiences and feedback in our
forum.
Limitations
Please also be aware of the
Limitations that exist for this platform. Not all scenarios are currently able to be supported due to limitations of TFS, and not all features of TFS are in scope for this project.
Alpha Release
Goals of the Alpha Release
For different software projects, terms like "Alpha" and "Beta" often have different meanings. For this project, the intent of the Alpha release is as follows:
- Serve as the initial effort to begin sharing the development of the new Integration Platform with the community. In the past, we received feedback that members of the community want transparency, so we're trying to provide that transparency with this release.
- Provide an opportunity for developers in the community to provide feedback early in the development cycle. Gathering feedback while it is early enough to make a difference is important, and an Alpha release is an appropriate release vehicle to accomplish this goal.
- Not a platform that should be used to build tools that will be in a production environment. While we're very happy with the stability of this platform, there are still many changes coming, and many important features missing. As this release is aimed at developers, we're trying to give developers a chance to familiarize themselves with our new platform.
- Serve as an alpha release of the TFS adapters that will be a part of the TFS to TFS Connector solution (to replace the TFS to TFS migration tool). These adapters can be used in non-production settings where TFS to TFS migration tools are needed.
Getting Started
If you're a developer and you're looking to get started building an adapter, the best resource for you is the
Custom Adapter Proof of Concept (POC) built by the Rangers. This release contains a document that walks through the setup of a development environment for the TFS Integration Platform, and contains a guided tour of a proof of concept (POC) adapter. The document was written with the purpose of helping adapter developers understand the key concepts for building adapters on the platform. Accompanying this document is the actual POC adapter source code, which is also available on the downloads page.
If you're looking to learn more details about the platform, the core architecture, and the included TFS adapters, check out the
Migration Guidance Document release.
Developers looking to start building adapters will also need the installable
TFS Integration Platform (installer). This release contains the binaries for the platform as well as the TFS adapters.
For those developers that want to see the latest source code for this project, please go to the Source Code tab.
Future Plans
In the coming months, we plan to release a Beta which will be followed by a full RTW release. As those milestones near, this page will be updated with the latest status for the project.
Visual Studio ALM Rangers
The
Visual Studio ALM Rangers are delivering guidance to this initiative with support from Microsoft software engineers, Microsoft Most Valued Professionals (MVPs) and technical specialists from technology communities around the globe, giving you a real-world view from the field, where the technology has been tested and used.
Team Members' Blogs
Links