Upload
marjorie-haynes
View
226
Download
8
Embed Size (px)
Citation preview
DEV463DEV463Microsoft Visual Studio 2005 Team Microsoft Visual Studio 2005 Team System: Maximizing Collaboration System: Maximizing Collaboration with Team Foundation Serverwith Team Foundation Server
Dennis MiniumDennis MiniumProgram ManagerProgram ManagerVisual Studio Team SystemVisual Studio Team SystemMicrosoft CorporationMicrosoft Corporation
TopicsTopics
Team Foundation TourTeam Foundation Tour
Technical ArchitectureTechnical Architecture
Conceptual ArchitectureConceptual Architecture
Extending Team FoundationExtending Team Foundation
Visual Studio Team FoundationVisual Studio Team Foundation
Change Management
Work Item Tracking
Reporting
Project Portal
Visual StudioTeam Foundation Server Integration Services
Project Management
Pro
cess
an
d A
rch
itect
ure
Pro
cess
an
d A
rch
itect
ure
G
uid
an
ceG
uid
an
ce
Dynamic Code Analyzer
Visual Studio Team Edition
Software Architects
Static Code Analyzer
Code Profiler
Unit Testing
Code Coverage
Visual Studio Professional Edition
Load Testing
Manual Testing
Test Case Management
Application Designer
System Designer
Logical Datacenter Designer
Visual Studio Team Edition
Software DevelopersVisual Studio Team Edition
Software Testers
Vis
ual S
tud
io In
du
stry
V
isu
al S
tud
io In
du
stry
Part
ners
Part
ners
Team Build
Class Designer (in Visual Studio Standard Edition and higher)
Deployment Designer
Visio for Enterprise Architects (in MSDN Premium Subscription)
Team Explorer (includes Team Foundation Server CAL)
Build Build AutomationAutomation
Team Foundation TourTeam Foundation Tour
Integrated Platform for Collaborating on Software Integrated Platform for Collaborating on Software Development Projects.Development Projects.
Version Version ControlControl
Work Item Work Item TrackingTracking
Project Project ManagementManagement
ReportingReporting
Team Foundation TourTeam Foundation Tour
Version Version ControlControl
Work Item Work Item TrackingTracking
Build Build AutomationAutomation
Project Project ManagementManagement
ReportingReporting
Project PortalProject Portal
Work Item Tracking andWork Item Tracking andOffice IntegrationOffice Integration
Dramatis PersonaeDramatis Personae
DarrenDarren – A – A DeveloperDeveloper
a keen mind but slightly a keen mind but slightly confusedconfused
DarrylDarryl – – A Business AnalystA Business Analyst
shrewd but well-meaningshrewd but well-meaning
DariusDarius – – A Development ManagerA Development Manager
gruff but lovablegruff but lovable
Team Foundation TourTeam Foundation Tour
Version Version ControlControl
Work Item Work Item TrackingTracking
Build Build AutomationAutomation
Project Project ManagementManagement
ReportingReporting
Source Control and Work Item Source Control and Work Item TrackingTracking
Team Foundation TourTeam Foundation Tour
Version Version ControlControl
Work Item Work Item TrackingTracking
Build Build AutomationAutomation
Project Project ManagementManagement
ReportingReporting
TopicsTopics
Team Foundation TourTeam Foundation Tour
Technical ArchitectureTechnical Architecture
Conceptual Architecture Conceptual Architecture
Extending Team FoundationExtending Team Foundation
Technical ArchitectureTechnical Architecture
Win 2000 (>=SP4)Win 2000 (>=SP4)Win XP (>=SP2)Win XP (>=SP2)Win 2003 Server (>=SP1)Win 2003 Server (>=SP1)
.Net FX 2.0.Net FX 2.0Microsoft Office 11 – SP1Microsoft Office 11 – SP1MDAC 9.0MDAC 9.0Internet Explorer 6.0 – SP1Internet Explorer 6.0 – SP1Visual Studio 2005 Team ExplorerVisual Studio 2005 Team Explorer
Win 2003 ServerWin 2003 ServerASP.Net / IIS 6.0ASP.Net / IIS 6.0
Win 2003 ServerWin 2003 ServerSQL Server 2005SQL Server 2005
Win XP (>=SP2)Win XP (>=SP2)Win 2003 Server (>=SP1)Win 2003 Server (>=SP1)
.Net FX 2.0.Net FX 2.0
MDACMDAC
Win 2003 ServerWin 2003 ServerASP.Net / IIS 6.0ASP.Net / IIS 6.0
Maximally factored configurationMaximally factored configuration
Custom reportingCustom reportingtoolstools
MS ExcelMS Excel
Technical ArchitectureTechnical Architecture
Team Foundation Data Tier
Team Foundation App Tier
Version ControlProxy
Report Client
Team Foundation Client Tier
CoreCoreDataData
VersionVersionControlControlWork ItemsWork Items Team Build Team Build
DataData
SQLSQLReportingReportingServicesServices
WindowsWindowsSharePointSharePoint
ServicesServices
SQLSQLReportingReportingServicesServices
WindowsWindowsSharePointSharePoint
ServicesServices
Work ItemWork ItemTrackingTrackingServiceService
VersionVersionControlControlServiceService
TeamTeamBuildBuild
ServiceService
CoreCoreServicesServices
WarehouseWarehouse
AdaptersAdapters
Team Foundation App Tier
WSS WSS ProxiesProxies
SQL RS SQL RS ProxiesProxies
Team Foundation Object ModelTeam Foundation Object Model
MS ExcelMS ExcelPlug-InPlug-In
MS ProjectMS ProjectPlug-InPlug-InVisual Studio PackagesVisual Studio Packages
Internet ExplorerInternet Explorer
BuildBuildProcessProcess
VersionVersionControlControlProxyProxy
ServiceService
VSTFVSTFClients of VSTFClients of VSTFVSTF AdjunctsVSTF Adjuncts
Build Machine
Basic ConfigurationsBasic Configurations
Dual ServerDual ServerLarge TeamLarge Team
ClientClient
Data TierData Tier
App TierApp Tier
Requires Active DirectoryRequires Active Directory(2003 or 2000)(2003 or 2000)
BuildBuildMachineMachine
VersionVersionControlControlProxyProxy
1 machine1 machineDemo/EvaluationDemo/Evaluation
• ClientClient• BuildBuild• App TierApp Tier• Data TierData Tier
1 user 1 user 50 - 500 users 50 - 500 users
Single ServerSingle ServerSmall TeamSmall Team
Supports:Supports:• WorkgroupWorkgroup• Active DirectoryActive Directory
(2003 or 2000)(2003 or 2000)
• ClientClient• Build (opt)Build (opt)
• App TierApp Tier• Data TierData Tier• Build (opt)Build (opt)
2 - 50 users 2 - 50 users
Administrative FeaturesAdministrative Features
Compatibility verificationCompatibility verificationDatabases match?Databases match?
Web services match databases?Web services match databases?
Clients match Web services?Clients match Web services?
All SQL server All SQL server SQL backup/restoreSQL backup/restore
DB MirroringDB Mirroring
Failover clusteringFailover clustering
App tier standby serverApp tier standby server
Convenience utilitiesConvenience utilities
TopicsTopics
Team Foundation TourTeam Foundation Tour
Technical ArchitectureTechnical Architecture
Conceptual ArchitectureConceptual Architecture
Extending Team FoundationExtending Team Foundation
Meta Data RepositoriesMeta Data Repositories
Work Work ItemsItemsWork Work ItemsItems TestsTestsTestsTests
SourceSourceCodeCode
SourceSourceCodeCode
BuildBuildConfigsConfigs
BuildBuildConfigsConfigs
ThirdThirdPartyPartyToolTool
ThirdThirdPartyPartyToolTool
FRAGILE
FRAGILE
ProjectProjectStructureStructure
ProjectProjectStructureStructureIterationIteration
StructureStructure
IterationIterationStructureStructure
TestTestResultsResults
TestTestResultsResults
BuildBuildBuildBuildLabelLabelLabelLabelVersionedVersionedItemItem
VersionedVersionedItemItem
LatestLatestItemItem
VersionVersion
LatestLatestItemItem
VersionVersionChangesetChangesetChangesetChangesetWorkWork
ItemItem
WorkWorkItemItem
TFS “Virtual Repository”TFS “Virtual Repository”
Version ControlVersion ControlVersion ControlVersion Control Core DataCore DataCore DataCore DataWork ItemsWork ItemsWork ItemsWork Items Team Build Team Build Team Build Team Build
TFS EnablementTFS EnablementTFS EnablementTFS Enablement TFS EnablementTFS EnablementTFS EnablementTFS Enablement TFS EnablementTFS EnablementTFS EnablementTFS Enablement TFS EnablementTFS EnablementTFS EnablementTFS Enablement
**
** **
** **
** ** ** **
**
** **
**
ProjectProjectStructureStructure
ProjectProjectStructureStructure
IterationIterationStructureStructure
IterationIterationStructureStructure
WorkWorkItemItem
WorkWorkItemItem
LabelLabelLabelLabel VersionedVersionedItemItem
VersionedVersionedItemItem
LatestLatestItemItem
VersionVersion
LatestLatestItemItem
VersionVersionChangesetChangesetChangesetChangeset
BuildBuildBuildBuild TestTestResultResult
TestTestResultResult
TeamTeamFoundationFoundation
ServerServer
TeamTeamFoundation Foundation CoreCoreServicesServices
How It Happens:How It Happens:Team foundation core servicesTeam foundation core services
VersionVersionControlControl
Inte
gra
tio
nIn
teg
rati
on
Inte
rfa
ce
Inte
rfa
ce
Team Foundation Object ModelTeam Foundation Object Model
Visual Visual Studio Studio IDEIDE
External toolExternal tool(Partner or MS)(Partner or MS)
WorkWorkItemsItems
Inte
gra
tio
nIn
teg
rati
on
Inte
rfa
ce
Inte
rfa
ce
TeamTeamBuild Build
Inte
gra
tio
nIn
teg
rati
on
Inte
rfa
ce
Inte
rfa
ce
TeamTeamFoundationFoundation
ServerServer
TeamTeamFoundation Foundation CoreCoreServicesServices
How It Happens:How It Happens:Team foundation core servicesTeam foundation core services
LinkingLinkingServiceService
UserUserGroupsGroupsServiceService
NotificationNotificationServiceService
RegistrationRegistrationServiceService
CommonCommonStructureStructureServiceService
Team Foundation Object ModelTeam Foundation Object Model
Visual Visual Studio Studio IDEIDE
External toolExternal tool(Partner or MS)(Partner or MS)
VersionVersionControlControl
Inte
gra
tio
nIn
teg
rati
on
Inte
rfa
ce
Inte
rfa
ce
WorkWorkItemsItems
Inte
gra
tio
nIn
teg
rati
on
Inte
rfa
ce
Inte
rfa
ce
TeamTeamBuild Build
Inte
gra
tio
nIn
teg
rati
on
Inte
rfa
ce
Inte
rfa
ce
Work ItemWork ItemTrackingTracking
Work ItemWork ItemTrackingTracking
Reporting WarehouseReporting Warehouse0
50100150200250300350400450
0%10%20%30%40%50%60%70%80%90%
Defects OpenTest Cases RunDefects/TC
Defect Trends
Weekly Executive Summary
MyHICPortal - Microsoft Internet Explorer
http://humongous/myprojectportal/default.aspx
Home Project Counsel Discussions Documents Policy
Project Portal
Home
Modify My Page
Home
Create New Project
Documents
Create a new report
Standard Reports
Reports
Workflow
Project Schedule
Roles Manager
Project Portal web site provides role-based views of the development project. In addition to providing usefulinformation directly (such as the plan of record, defect trends, and other reports), it also serves as a launchingpoint for various other tools.
Links
Project Management Console
Defect Tracking Tool
MSWord Requirements Template
Humongous Project Guidelines
Add New Link
Projects Status
Contacts
Jacqueline Ackerman - Project Manager
Endicott Smith - VP Sales, Project Sponsor
Anna Jones - Business Analyst
Bert Lewis - Development Manager
Barbara Baker - Test Manager
Add New Link
Envisioning
Planning
FX Hander
FX Ticker
Transfer ASP
Specs Defects Issues Risks Due Date Signoff
4 / 4 1 /12 / 2 6/5/03 Yes
7/15/03 No
7/25/03 No
8/1/03 No
0
Developing 9/1/03 No
Stabilizing No
Deploying No
10/1/03
11/1/03
Recently updated Documents
Name
Vision Document
Business Requirements
MyHIC Functional Requirements
Customer Interviews
Modified By
Fiona
Betty
Paula
Betty
Type
Add New Document
PortalSearch -- select from list --I need to...
Qu
ick
La
un
ch
Project X
Standard Forms
Vision Document
Business Requirements
Feature Specifications
Status Reporting
Create a new Form
Functional Requirements
Public Reports
Status ReportsPresentations
Requirements
4 of 12 7 of 83 of 3
21 of 55
9 of 92 of 4
5 of 7
1 of 10
9 of 10
8 of 9 8 of 1017 of 20
0 of 0 0 of 00 of 06 of 7
2 of 2
3 of 3
3 of 4
1 of 9
6 of 7
3 of 3
12 of 15
8 of 8
Projects Overview
Over the past few weeks, teams have done extraordinary work getting bugs resolved, triaging hard, andconsistently getting closer and closer to meeting our milestone exit criteria. Ask mode has helped in keeping thebuilds working, and we're ready to start group checkins, after the mass integration last week (Lab21, Lab22 andLab25 RI'ed in one day!). However, this is about a week and a half behind the original schedule.
Given our active bug count and incoming rates, it's become apparent that we are not ready to start our final testpass today (6/16). Therefore, our new M2 exit path is as follows:
M2 Fork: TBD (see below) Final test pass start: 6/30 (see below) Sign off: 7/11
Team
Alias
Members
Communications
Subscription
Status reports
SQL ServerSQL ServerReportingReportingServicesServices
SQL ServerSQL ServerReportingReportingServicesServices
Source CodeSource CodeControlControl
Source CodeSource CodeControlControl
Work Item Work Item AdapterAdapter
Work Item Work Item AdapterAdapter
Source CodeSource CodeAdapterAdapter
Source CodeSource CodeAdapterAdapter
Partner ToolPartner ToolAA
Partner ToolPartner ToolAA
Add-onAdd-onAdapterAdapterAdd-onAdd-onAdapterAdapter
Reporting WarehouseReporting WarehouseObject ModelObject Model
ExcelExcelExcelExcel
CustomCustomReportingReportingCustomCustom
ReportingReporting
BuildBuildDatabaseDatabase
BuildBuildDatabaseDatabase
Test/BuildTest/BuildAdapterAdapter
Test/BuildTest/BuildAdapterAdapter
TopicsTopics
Team Foundation TourTeam Foundation Tour
Technical ArchitectureTechnical Architecture
Conceptual Architecture Conceptual Architecture
Extending Team FoundationExtending Team Foundation
Customization vs. ExtensionCustomization vs. Extension
Customization:Customization:What?What? Tailor Team Foundation to your Tailor Team Foundation to your
environmentenvironmentWho? Who? End users, project managersEnd users, project managersWhy?Why? Adjust basic Team Foundation Adjust basic Team Foundation
capabilities to your needscapabilities to your needsHow?How? Config through UI, author XML, Config through UI, author XML, maybe maybe
some automationsome automation
Extension/IntegrationExtension/IntegrationWhat?What? Add new functionality to Team Add new functionality to Team
FoundationFoundationWho?Who? Partners, internal IT orgsPartners, internal IT orgsWhy?Why? Deeply integrate complementary Deeply integrate complementary features features into the Team Foundation platforminto the Team Foundation platformHow?How? WS development, database WS development, database development, development,
VSIP integration, etc.VSIP integration, etc.
Example CustomizationsExample Customizations
Process TemplateProcess TemplateModify / clone oursModify / clone ours
Build your ownBuild your own
Work Item TypesWork Item TypesModify oursModify ours
Build your ownBuild your own
Automate using Automate using WIOMWIOM
Source Code Source Code ControlControl
Select policies to Select policies to enforceenforce
ReportingReportingModify our SQL RS Modify our SQL RS reportsreports
Add your own SQL Add your own SQL RS reportsRS reports
Use a different Use a different reporting tool reporting tool (Excel, OWC, …)(Excel, OWC, …)
Project PortalProject PortalCustomize the Customize the templatetemplate
Add your own Add your own librarieslibraries
Example ExtensionsExample Extensions
Core servicesCore servicesAdd a new tool with new Add a new tool with new artifact types, link types, artifact types, link types, database, WS’sdatabase, WS’s
Link to other tools’ Link to other tools’ artifactsartifacts
Raise, subscribe to Raise, subscribe to eventsevents
Integrate into Team Integrate into Team ExplorerExplorer
Add pages to Project Add pages to Project Creation WizardCreation Wizard
Work Item TrackingWork Item TrackingWrite against OMWrite against OM
Respond to eventsRespond to events
Link to Work ItemsLink to Work Items
Integrate with WI PickerIntegrate with WI Picker
Source ControlSource ControlWrite against OMWrite against OM
Add new file type Add new file type support (keyword support (keyword expansion, diff/merge)expansion, diff/merge)
Participate in integrated Participate in integrated check-incheck-in
Define new policieDefine new policie
Respond to eventsRespond to events
ReportingReportingExtend warehouseExtend warehouse
PortalPortalBuild new web partsBuild new web parts
BuildBuildAdd new Build tasksAdd new Build tasks
Visual StudioVisual Studio
Data TierData Tier
Application TierApplication Tier
TF DataTF Data Your DataYour Data
ReportingWarehouse
Version Control ServiceVersion Control Service
Warehouse AdapterWarehouse Adapter
Changeset / Source FileChangeset / Source File
Work Item Tracking SvcWork Item Tracking Svc
Warehouse AdapterWarehouse Adapter
Work ItemWork Item
Team Build ServiceTeam Build Service
Warehouse AdapterWarehouse Adapter
BuildBuild
Your ServiceYour Service
Warehouse AdapterWarehouse Adapter
Your ArtifactsYour Artifacts
Your VSIP PackageYour VSIP Package
Your TE NodeYour TE Node
Your PCW plug inYour PCW plug in
Version Control OMVersion Control OM
Team Foundation OMTeam Foundation OM
Work Item OMWork Item OM
YourYour.NET App.NET App
ClientClient
Team Foundation ExtensibilityTeam Foundation Extensibility
Policy FrameworkPolicy Framework Eventing Service ProxyEventing Service Proxy
Registration Svc ProxyRegistration Svc Proxy
Security Service ProxySecurity Service Proxy
Classification Svc ProxyClassification Svc Proxy
Linking Service ProxyLinking Service Proxy
Eventing ServiceEventing Service Security ServiceSecurity ServiceLinking ServiceLinking Service Classification ServiceClassification ServiceRegistration ServiceRegistration Service
TF FactsTF FactsYour FactsYour Facts
TF FactsTF Facts
Common ControlsCommon Controls
Example Partner IntegrationExample Partner IntegrationDo you use Automated Build Studio?Do you use Automated Build Studio?
AutomatedQA’s Automated Build Studio is a powerful build and AutomatedQA’s Automated Build Studio is a powerful build and release management system. release management system.
It provides an easy way to automate and simplify the whole It provides an easy way to automate and simplify the whole cycle of build, test, delivery and deployment.cycle of build, test, delivery and deployment.
On the client, ABS is integrated with Visual Studio .Net.On the client, ABS is integrated with Visual Studio .Net.
ABS will integrate with Visual Studio 2005 Team System.ABS will integrate with Visual Studio 2005 Team System.
Example IntegrationExample IntegrationAutomated QA’s Automated Build System (ABS)Automated QA’s Automated Build System (ABS)
ABS integrates with:ABS integrates with:Team Foundation Version ControlTeam Foundation Version ControlTeam Foundation Work Item TrackingTeam Foundation Work Item Tracking
Mechanism for integration:Mechanism for integration:Web servicesWeb servicesCommand line scriptingCommand line scripting
AutomatedQA’s Test Complete product AutomatedQA’s Test Complete product integrates with Team Test tools, toointegrates with Team Test tools, tooVisit AutomatedQA at Visit AutomatedQA at booth 1044.booth 1044.
The Extensibility Kit SampleThe Extensibility Kit Sample
Example “tool” – Example “tool” – CollectiblesCollectibles
One One collectorcollector can point to other artifacts can point to other artifacts via a via a holdsholds relationship relationship
via a via a points topoints to relationship relationship
A user can subscribe to receive e-mails A user can subscribe to receive e-mails when a when a collectorcollector changes changes
CollectorsCollectors are organized by team project are organized by team project
RegistrationRegistrationServiceService
RegistrationRegistrationServiceService
Work ItemWork ItemPickerPicker
Work ItemWork ItemPickerPicker
ClassificationClassificationServiceService
ClassificationClassificationServiceService
RegistrationRegistrationServiceService
RegistrationRegistrationServiceService
LinkingLinkingServiceService
LinkingLinkingServiceService
EventingEventingServiceService
EventingEventingServiceService
ProjectProjectPickerPicker
ProjectProjectPickerPicker
Visual StudioVisual Studio
Data TierData Tier
Application TierApplication Tier
TF DataTF Data Your DataYour Data
ReportingWarehouse
Version Control ServiceVersion Control Service
Warehouse AdapterWarehouse Adapter
Changeset / Source FileChangeset / Source File
Work Item Tracking SvcWork Item Tracking Svc
Warehouse AdapterWarehouse Adapter
Work ItemWork Item
Team Build ServiceTeam Build Service
Warehouse AdapterWarehouse Adapter
BuildBuild
Your ServiceYour Service
Warehouse AdapterWarehouse Adapter
Your ArtifactsYour Artifacts
Your VSIP PackageYour VSIP Package
Your TE NodeYour TE Node
Your PCW plug inYour PCW plug in YourYour.NET App.NET App
ClientClient
The Extensibility Kit SampleThe Extensibility Kit Sample
Eventing ServiceEventing Service Security ServiceSecurity ServiceLinking ServiceLinking Service Classification ServiceClassification ServiceRegistration ServiceRegistration Service
TF FactsTF FactsYour FactsYour Facts
TF FactsTF Facts
CollectiblesCollectiblesClientClient
Collectibles Collectibles Web SvcWeb Svc
Collector Collector ArtifactArtifact
CollectiblesCollectiblesDBDB
Version Control OMVersion Control OM
Team Foundation OMTeam Foundation OM
Work Item OMWork Item OM
Policy FrameworkPolicy Framework Eventing Service ProxyEventing Service Proxy
Registration Svc ProxyRegistration Svc Proxy
Security Service ProxySecurity Service Proxy
Classification Svc ProxyClassification Svc Proxy
Linking Service ProxyLinking Service Proxy
Common ControlsCommon Controls
ScenarioScenarioTake OrderTake Order
A more realistic sampleA more realistic sampleWork item spawningWork item spawning TaskTask
Take Order:Take Order:Write SpecWrite Spec
TaskTaskTake Order:Take Order:
Test PlanTest Plan
TaskTaskTake Order:Take Order:
UI DesignUI Design
TaskTaskTake Order:Take Order:Dev ScheduleDev Schedule
Example ExtensionsExample Extensions
Core servicesCore servicesAdd a new tool with new Add a new tool with new artifact types, link types, artifact types, link types, database, WS’sdatabase, WS’s
Link to other tools’ Link to other tools’ artifactsartifacts
Raise, subscribe to Raise, subscribe to eventsevents
Integrate into Team Integrate into Team ExplorerExplorer
Add pages to Project Add pages to Project Creation WizardCreation Wizard
Work Item TrackingWork Item TrackingWrite against OMWrite against OM
Respond to eventsRespond to events
Link to Work ItemsLink to Work Items
Integrate with WI PickerIntegrate with WI Picker
Source ControlSource ControlWrite against OMWrite against OM
Add new file type Add new file type support (keyword support (keyword expansion, diff/merge)expansion, diff/merge)
Participate in integrated Participate in integrated check-incheck-in
Define new policiesDefine new policies
Respond to eventsRespond to events
ReportingReportingExtend warehouseExtend warehouse
PortalPortalBuild new web partsBuild new web parts
BuildBuildAdd new Build tasksAdd new Build tasks
A more realistic sampleA more realistic sampleWork item spawningWork item spawning
ScenarioScenarioTake OrderTake Order
TaskTaskTake Order:Take Order:Write SpecWrite Spec
TaskTaskTake Order:Take Order:
Test PlanTest Plan
TaskTaskTake Order:Take Order:
UI DesignUI Design
TaskTaskTake Order:Take Order:Dev ScheduleDev Schedule
• Listen for WorkItemChanged Listen for WorkItemChanged event for new Scenario.event for new Scenario.
• Use work item object model to Use work item object model to create new Taskscreate new Tasks
• Use work item object model to Use work item object model to link new Tasks to original link new Tasks to original ScenarioScenario
• Listen for WorkItemChanged Listen for WorkItemChanged event for new Scenario.event for new Scenario.
• Use work item object model to Use work item object model to create new Taskscreate new Tasks
• Use work item object model to Use work item object model to link new Tasks to original link new Tasks to original ScenarioScenario
• Listen for WorkItemChanged Listen for WorkItemChanged event for Completed Task.event for Completed Task.
• Use work item object model to Use work item object model to update parent Scenarioupdate parent Scenario
• Listen for WorkItemChanged Listen for WorkItemChanged event for Completed Task.event for Completed Task.
• Use work item object model to Use work item object model to update parent Scenarioupdate parent Scenario
Async CommunicationAsync CommunicationTFS eventing serviceTFS eventing service
Web services-based pub/subWeb services-based pub/sub
Tools register event typesTools register event types
Send SOAP messages to interested Send SOAP messages to interested subscriber servicessubscriber services
Send e-mail messages to interested Send e-mail messages to interested peoplepeople
Registering and SubscribingRegistering and Subscribing
RegistrationRegistrationAPIAPI
RegistrationRegistrationAPIAPI
SubscriptionSubscriptionAPIAPI
SubscriptionSubscriptionAPIAPI
At setup time, a tool registers the At setup time, a tool registers the types of events it will raise.types of events it will raise.TFS Work Item Tracking raises TFS Work Item Tracking raises a WorkItemChanged Eventa WorkItemChanged Event
Another tool may subscribe to Another tool may subscribe to receive events of that type when receive events of that type when they are raised.they are raised.We’ll use a utility that is We’ll use a utility that is delivered with Team delivered with Team Foundation.Foundation.
Through UI (purpose-built or Through UI (purpose-built or general) a person can subscribe to general) a person can subscribe to receive e-mail notifications.receive e-mail notifications.Not used in this demoNot used in this demo
• subscribesubscribe• unsubscribeunsubscribe
TFSTFSWork ItemWork ItemTrackingTracking
TFSTFSWork ItemWork ItemTrackingTracking
Work ItemWork ItemSpawnSpawnDemoDemo
Work ItemWork ItemSpawnSpawnDemoDemo
EventEventTypesTypesEventEventTypesTypes
SubsSubsSubsSubs
Raising an EventRaising an Event
EventEventTypesTypesEventEventTypesTypes SubsSubs
TFS Event EngineTFS Event EngineTFS Event EngineTFS Event Engine
SubsSubsSubsSubs
Events matched to subscriptionsEvents matched to subscriptionsNote: Server-side sinks only in V1.Demo “WorkItemSpawn” WS Demo “WorkItemSpawn” WS invoked.invoked.
Notifications Notifications delivered through delivered through
e-maile-mail
TFS Event TFS Event ClientClient
TFS Event TFS Event ClientClient
• fireAsyncEventfireAsyncEvent • callback method callback method specified in specified in subscribe subscribe callcall
Rules Rules ProcessorProcessor
Rules Rules ProcessorProcessor
Events matched to subscriptionsEvents matched to subscriptionsTFS Work Item Tracking raises a TFS Work Item Tracking raises a WorkItemChanged EventWorkItemChanged Event
TFSTFSWork ItemWork ItemTrackingTracking
TFSTFSWork ItemWork ItemTrackingTracking Work ItemWork Item
SpawnSpawnDemoDemo
Work ItemWork ItemSpawnSpawnDemoDemo
Dramatis PersonaeDramatis Personae
DarrenDarren – A – A DeveloperDevelopera keen mind but slightly a keen mind but slightly
confusedconfused
DarrylDarryl – – A Business AnalystA Business Analystshrewd but well-meaningshrewd but well-meaning
DariusDarius – – A Development ManagerA Development Managergruff but lovablegruff but lovable
DenisDenis – – Process Expert / Programmer Process Expert / Programmer ExtraordinaireExtraordinaire
Work Item SpawningWork Item Spawning
Artifacts and LinksArtifacts and Links
ArtifactsArtifacts
Artifact Identifiers (URIs):Artifact Identifiers (URIs): vstfs:///<toolType>/<artifactType>/<toolSpecificID> vstfs:///<toolType>/<artifactType>/<toolSpecificID>
Example: vstfs:///WorkItemTracking/WorkItem/16723Example: vstfs:///WorkItemTracking/WorkItem/16723
The target of a link can be ignorant of any The target of a link can be ignorant of any sources that point to itsources that point to it
For intimate collaboration, tight coupling For intimate collaboration, tight coupling is supportedis supported
Each ArtifactType and (outbound) LinkType Each ArtifactType and (outbound) LinkType managed by a tool are registered to the managed by a tool are registered to the Registration serviceRegistration service
Linking APILinking API
You supply:You supply:Artifacts[] yourService.GetArtifactsArtifacts[] yourService.GetArtifacts
(string[] artifactUris)(string[] artifactUris)
Artifacts[] yourService.GetReferencingArtifactsArtifacts[] yourService.GetReferencingArtifacts(string[] artifactUris)(string[] artifactUris)
void ExecuteDefaultActionvoid ExecuteDefaultAction
(string artifactUri, string contextinfo)(string artifactUri, string contextinfo)
We supply:We supply:Artifacts[] ILinking.GetArtifactsArtifacts[] ILinking.GetArtifacts
(string[] artifactUris)(string[] artifactUris)
Artifacts[] ILinking.GetReferencingArtifactsArtifacts[] ILinking.GetReferencingArtifacts(string[] artifactUris)(string[] artifactUris)
Helper methods:Helper methods: EncodeUri, DecodeUri, ExtractLinks, EncodeUri, DecodeUri, ExtractLinks, GetArtifactUrl, GetArtifactUriGetArtifactUrl, GetArtifactUri
(unt
yped
)
found in
checkin
1.1. Call Call GetArtifactsGetArtifacts with Uri for with Uri for WorkItem 107462WorkItem 107462
2. 2. Call Call GetArtifactsGetArtifacts with Uris with Uris for:for:
• ChangeSet 142562ChangeSet 142562• Doc “WhatHappened.Doc”Doc “WhatHappened.Doc”• Build 20031012.352Build 20031012.352
Work ItemWork Item107462107462
Work ItemWork Item107462107462
Attached DocumentAttached DocumentWhatHappened.doc?WhatHappened.doc?
Attached DocumentAttached DocumentWhatHappened.doc?WhatHappened.doc?
Build Build 20031012.35220031012.352
Build Build 20031012.35220031012.352
Change SetChange Set142562: Lollipop Fix142562: Lollipop Fix
Change SetChange Set142562: Lollipop Fix142562: Lollipop Fix
Work ItemWork Item170472170472
<artifactData><artifactData><links><links>
Work ItemWork Item170472170472
<artifactData><artifactData><links><links>
Test PassTest Pass20031014.805420031014.8054
<artifactData><artifactData><links><links>
Test PassTest Pass20031014.805420031014.8054
<artifactData><artifactData><links><links>
3.3. Call Call GetReferencingArtifactsGetReferencingArtifacts with Uri for with Uri for WorkItem 107462WorkItem 107462
Work ItemWork Item107462107462
<artifactData><artifactData>
Work ItemWork Item107462107462
<artifactData><artifactData>
ChangesetChangeset142562: Lollipop Fix142562: Lollipop Fix
<artifactData><artifactData><links><links>
ChangesetChangeset142562: Lollipop Fix142562: Lollipop Fix
<artifactData><artifactData><links><links>
Build Build 20031012.35220031012.352
<artifactData><artifactData><links><links>
Build Build 20031012.35220031012.352
<artifactData><artifactData><links><links>
Attached DocumentAttached DocumentWhatHappened.doc?WhatHappened.doc?
<artifactData><artifactData><links><links>
Attached DocumentAttached DocumentWhatHappened.doc?WhatHappened.doc?
<artifactData><artifactData><links><links>
related to
tested by
(unt
yped
)
found in
checkin
1.1. Call Call GetArtifactsGetArtifacts with Uri for with Uri for WorkItem 107462WorkItem 107462
2. 2. Call Call GetArtifactsGetArtifacts with Uris with Uris for:for:
• ChangeSet 142562ChangeSet 142562• Doc “WhatHappened.Doc”Doc “WhatHappened.Doc”• Build 20031012.352Build 20031012.352
Work ItemWork Item107462107462
Work ItemWork Item107462107462
Attached DocumentAttached DocumentWhatHappened.doc?WhatHappened.doc?
Attached DocumentAttached DocumentWhatHappened.doc?WhatHappened.doc?
Build Build 20031012.35220031012.352
Build Build 20031012.35220031012.352
Change SetChange Set142562: Lollipop Fix142562: Lollipop Fix
Change SetChange Set142562: Lollipop Fix142562: Lollipop Fix
Work ItemWork Item170472170472
<artifactData><artifactData><links><links>
Work ItemWork Item170472170472
<artifactData><artifactData><links><links>
Test PassTest Pass20031014.805420031014.8054
<artifactData><artifactData><links><links>
Test PassTest Pass20031014.805420031014.8054
<artifactData><artifactData><links><links>
3.3. Call Call GetReferencingArtifactsGetReferencingArtifacts with Uri for with Uri for WorkItem 107462WorkItem 107462
Work ItemWork Item107462107462
<artifactData><artifactData>
Work ItemWork Item107462107462
<artifactData><artifactData>
ChangesetChangeset142562: Lollipop Fix142562: Lollipop Fix
<artifactData><artifactData><links><links>
ChangesetChangeset142562: Lollipop Fix142562: Lollipop Fix
<artifactData><artifactData><links><links>
Build Build 20031012.35220031012.352
<artifactData><artifactData><links><links>
Build Build 20031012.35220031012.352
<artifactData><artifactData><links><links>
Attached DocumentAttached DocumentWhatHappened.doc?WhatHappened.doc?
<artifactData><artifactData><links><links>
Attached DocumentAttached DocumentWhatHappened.doc?WhatHappened.doc?
<artifactData><artifactData><links><links>
related to
tested by
found in
checkin
Relationship Item type Item Modified By
Work Item 107462 is involved in these relationships:
checkin changeset 142562: Lollipop fix 10/15/2003 6:42pm dev1
tested by test pass 20031014.8054 10/14/2003 2:15am qa1
related to Work Item 170472 10/5/2003 3:13pm gematthew
found in build 20031012.352 10/12/2003 9:52pm qa1
involves attachment WhatHappened.doc 10/13/2003 10:00am pm1
Permissions in TFSPermissions in TFS
Group ServicesGroup ServicesLightweight user groups / roles for security Lightweight user groups / roles for security and policyand policy
Default groups for common rolesDefault groups for common roles
Group resolution includes AD groups, local Group resolution includes AD groups, local SAM groups and TFS groupsSAM groups and TFS groups
TFS-Enabled tools include these user groups TFS-Enabled tools include these user groups when they perform authorizationwhen they perform authorization
Authorization servicesAuthorization servicesTool-specific object classes and permissionsTool-specific object classes and permissions
Register objects, ACEs at run timeRegister objects, ACEs at run time
Inheritable permissionsInheritable permissions
SummarySummary
Rich feature setRich feature setWork item trackingWork item tracking
Version controlVersion control
Team buildTeam build
Warehouse and reportingWarehouse and reporting
Extensibility and integration from the Extensibility and integration from the ground upground up
Object modelsObject models
Web servicesWeb services
Core integration servicesCore integration services
You can use what we useYou can use what we use
ResourcesResources
Team System Extensibility Kit: http://www.vsipdev.com/downloads/
General Team System Info: http://msdn.microsoft.com/teamsystem
More into on AutomatedQA’s products:http://www.automatedqa.com/
Your FeedbackYour Feedbackis Important!is Important!Please Fill Out a Survey forPlease Fill Out a Survey forThis Session on CommNetThis Session on CommNet
© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.