locked
TFS Integration adapters RRS feed

  • Question

  • There's mention in the Team Foundation Server Extensibility documentation of "integration adapters" with an example of a help desk application that synchronizes help desk requests are synchronized with work items.

    But, that's about as much detail on "integration adapters" that I could find in the extensibility documentation.

    I recall mention that one benefit of the TFS architecture is that a SQL Server instance is available for use to store extension-/application-specific data.

    Is there a recommended architecture and process for this type of integration?  Specifically, if data-centric extensions or linked applications are expected to use the TFS SQL Server instance is there a client-side property or method for getting a connection string to the SQL Server?  On a single-instance install this is pretty easy, since the server name of TFS is known; but it's not so easy if the data tier has been deployed to its own server.

    Is there any recommended schema design principles?  For example, if and application has a logical many-to-one relationship with a work item should a foreign key be created and optionally the triggers to deal with propagation of deletes?

    Thursday, November 16, 2006 12:50 AM

Answers

  • You are right... TFS was designed to allow the addition of tools with application specific data stored alongside TFS information.  The same set of core services that are used to weave together Team Build, Work Item Tracking, Version Control and other parts of TFS can be used by any tool provider.  When integrating a new tool into the suite, a tool provider will be adding information into TFS registration data that includes DB connection information along with service interface definitions, artifact and event type definitions and possibly some application specific settings.  The application tier components will discover the DB connection string using the TFS registration interface and client side components would get the fully qualified path to the application tier services for the tool in the same way.  There is a sample in the SDK called Collectibles (Extending Team Foundation Sample) that shows how the core services can be leveraged to extend TFS in this way.  Unfortunately, the sample is pretty large and was not updated after the Beta 2 release of TFS, so it is tough to follow.  We are working on an updated version of this sample for an upcoming DevLab.  I am not sure when we will be able to release an update to the SDK, but I am happy to take direct questions on integration into the TFS platform in the meantime.  You can contact me at the e-mail address listed in my profile (display e-mail with nospam removed). 

    Monday, November 20, 2006 4:29 PM

All replies

  • You are right... TFS was designed to allow the addition of tools with application specific data stored alongside TFS information.  The same set of core services that are used to weave together Team Build, Work Item Tracking, Version Control and other parts of TFS can be used by any tool provider.  When integrating a new tool into the suite, a tool provider will be adding information into TFS registration data that includes DB connection information along with service interface definitions, artifact and event type definitions and possibly some application specific settings.  The application tier components will discover the DB connection string using the TFS registration interface and client side components would get the fully qualified path to the application tier services for the tool in the same way.  There is a sample in the SDK called Collectibles (Extending Team Foundation Sample) that shows how the core services can be leveraged to extend TFS in this way.  Unfortunately, the sample is pretty large and was not updated after the Beta 2 release of TFS, so it is tough to follow.  We are working on an updated version of this sample for an upcoming DevLab.  I am not sure when we will be able to release an update to the SDK, but I am happy to take direct questions on integration into the TFS platform in the meantime.  You can contact me at the e-mail address listed in my profile (display e-mail with nospam removed). 

    Monday, November 20, 2006 4:29 PM
  • Bill thanks a lot, I was looking for this kind of information too, I will check out the sample.

    John

     

    Monday, November 20, 2006 4:37 PM