Getting Started with the TFS Object Model7 October 2011Jeff BramwellEnterprise Applications Architectjbramwell@gmail.comtwitter.com/jbramwell devmatter.blogspot.com
Please Be Courteous!
Who Am I?Jeff BramwellEnterprise Applications ArchitectFarm Credit Services of AmericaLeader, Omaha Team System User GroupMicrosoft MVP – Visual Studio ALMMCSD.NET, MCTS: TFS
What are we covering?TFS ArchitectureGeneral Process (for using the APIs)Demos
TFS ArchitectureClient TierVisual StudioOffice(Plug-ins)Command LineOther/Custom ToolsInternet ExplorerTeam Foundation Client API (Object Model)Application TierWSSASP.NETTeam Foundation Server Web Services APITeam Project PortalWeb PartsTeam Foundation Integration ServicesTeam Foundation Data ServicesEvent Notification ServicesLinking ServiceWork Item ServiceRegistration ServiceSource Code Control ServiceBuild Data ServicesSSRSReportsSQL ServerData TierWork ItemsBuild DataData WarehouseSourceRepository
Where to ExtendWeb services – Not SupportedDatabase – Not SupportedReports (via Warehouse)Custom Check-in PoliciesSharePoint web partsWork item typesProcess templatesCustom work item form controlsTFS Object Model
General ProcessConnect to TFS Configuration Server/TPCIdentify desired servicesInstantiate and interact with services
TFS Configuration Server vs. TPCTFS Application InstanceDefault CollectionTeam Project 1
Team Project 2Playground CollectionTeam Project A
Team Project BConnection ClassesBoth classes offer similar methodsChoose class based on scope of data/servicesAbstract Class
Connection OptionsSeveral options:Connect via URIConnect via RegisteredConfigurationServerConnect with custom credentialsConnect on behalf of another userConnect using TfsConfigurationFactoryProvide a connection dialog via TeamProjectPicker
DEMO
Identify TFS Services
List Team ProjectsMultiple approachesVersionControlServerCommonStructureServiceICatalogService
DEMO
More informationMy Blog http://devmatter.blogspot.comVisual Studio Bloghttp://blogs.msdn.com/b/visualstudio/Visual Studio vNext Forumshttp://social.msdn.microsoft.com/Forums/en-US/category/vsvnextExtending Team Foundationhttp://msdn.microsoft.com/en-us/library/bb130146.aspx

Getting Started With the TFS Object Model

  • 1.
    Getting Started withthe TFS Object Model7 October 2011Jeff BramwellEnterprise Applications [email protected]/jbramwell devmatter.blogspot.com
  • 2.
  • 3.
    Who Am I?JeffBramwellEnterprise Applications ArchitectFarm Credit Services of AmericaLeader, Omaha Team System User GroupMicrosoft MVP – Visual Studio ALMMCSD.NET, MCTS: TFS
  • 4.
    What are wecovering?TFS ArchitectureGeneral Process (for using the APIs)Demos
  • 5.
    TFS ArchitectureClient TierVisualStudioOffice(Plug-ins)Command LineOther/Custom ToolsInternet ExplorerTeam Foundation Client API (Object Model)Application TierWSSASP.NETTeam Foundation Server Web Services APITeam Project PortalWeb PartsTeam Foundation Integration ServicesTeam Foundation Data ServicesEvent Notification ServicesLinking ServiceWork Item ServiceRegistration ServiceSource Code Control ServiceBuild Data ServicesSSRSReportsSQL ServerData TierWork ItemsBuild DataData WarehouseSourceRepository
  • 6.
    Where to ExtendWebservices – Not SupportedDatabase – Not SupportedReports (via Warehouse)Custom Check-in PoliciesSharePoint web partsWork item typesProcess templatesCustom work item form controlsTFS Object Model
  • 7.
    General ProcessConnect toTFS Configuration Server/TPCIdentify desired servicesInstantiate and interact with services
  • 8.
    TFS Configuration Servervs. TPCTFS Application InstanceDefault CollectionTeam Project 1
  • 9.
    Team Project 2PlaygroundCollectionTeam Project A
  • 10.
    Team Project BConnectionClassesBoth classes offer similar methodsChoose class based on scope of data/servicesAbstract Class
  • 11.
    Connection OptionsSeveral options:Connectvia URIConnect via RegisteredConfigurationServerConnect with custom credentialsConnect on behalf of another userConnect using TfsConfigurationFactoryProvide a connection dialog via TeamProjectPicker
  • 12.
  • 13.
  • 14.
    List Team ProjectsMultipleapproachesVersionControlServerCommonStructureServiceICatalogService
  • 15.
  • 16.
    More informationMy Bloghttp://devmatter.blogspot.comVisual Studio Bloghttp://blogs.msdn.com/b/visualstudio/Visual Studio vNext Forumshttp://social.msdn.microsoft.com/Forums/en-US/category/vsvnextExtending Team Foundationhttp://msdn.microsoft.com/en-us/library/bb130146.aspx