Download presentation
Presentation is loading. Please wait.
Published byJohn Francis Modified over 9 years ago
1
Customizing and extending TFS Michael Juřek Software Architect Microsoft s.r.o.
2
Agenda Team Foundation Architecture Process Templates Work Item Types Source Code Control Build Portal and reports
3
Integrated Platform for Collaborating on Software Development Projects. Version Control Work Item Tracking Build Automation ProjectPortal Reporting Team Foundation Server
4
Team Logical Architecture Custom reporting tools MS Exce MS Projectl Team Foundation Data Tier Version Control Proxy Report Client Team Foundation Client Tier Core Data Version Control Work Items Team Build Data SQL Reporting Services Windows SharePoint Services SQL Reporting Services Windows SharePoint Services Work Item Tracking Service Version Control Service Team Build Service Core Services Warehouse Adapters Team Foundation App Tier WSS Proxies SQL RS Proxies Team Foundation Object Model MS Excel Plug-in MS Project Plug-in Visual Studio Packages Internet Explorer Build Process Version Control Proxy Service Build Machine
5
Customization Points Process Template Modify, build, or buy Work Item Types Modify or build Checkin Policy Modify or build Reporting Modify, build, or connect different report builders Project Portal Modify Sharepoint template Extend library folder structure, change or add doc templates
6
Extension Points Core services Add a new tool with new artifact types, link types, database, WS’s Link to other tools’ artifacts Raise, subscribe to events Integrate into Team Explorer Extend the Project Creation Wizard Work Item Tracking Write against OM Respond to events Link to Work Items Integrate with WI Picker Integrate with WI Form Support for custom controls in SP1 Source Control Write against OM Add new file type support Participate in integrated check-in Define new policy Respond to events Reporting Extend warehouse with your own data Build Add new Build tasks Create a checkin validation system
7
TFS Administration Tool http://www.codeplex.com/Wiki/View.aspx?ProjectName=TFSAdmin Policy Override Notification Tool http://members.chello.nl/m.dekunst/SubScribeToPolicyViolation.zip
8
Agenda Team Foundation Architecture Process Templates Work Item Types Source Code Control Build Portal and reports
9
Process Templates Project process blueprint Package of tool settings and templates Two included with Team Foundation Server MSF for Agile Software Development MSF for CMMI® Process Improvement Modify ours, handcraft your own, or buy
10
Process Template ProcessTemplate.xml Reports Work Items WorkItems.xml Bug.xml Template Definition Version Control VersionControl.xml Reports.xml BugTrends.rdl CustomWIType.xml Process Group References Anatomy of a Process Template
11
Process Template Project Lifecycle Phases and Iterations Exit Criteria Process Guidance Document Templates Work Item Types and Rules Bug, Task, Risk Work Packages (Scenario, Feature, Requirement) Work items Work Item Types (such as Defect, Requirement, Issue, Task, etc) Queries Work Item Instances/starter tasks Windows SharePoint Services Process guidance WSS Site Template WSS Library & Folder Structure Document templates and all files stored on the Project Portal Reports and their folder structure Default groups and their permissions Classifications: Areas and Iterations Source Control Settings
12
Process Template Editor http://www.imaginets.com/Default.aspx?tabid=133
13
Process Template Editor http://www.imaginets.com/Default.aspx?tabid=133
14
Agenda Team Foundation Architecture Process Templates Work Item Types Source Code Control Build Portal and reports
15
WIT customization Work Item Type Definition Fields, form, state transitions Found in two places: Process Template “Live” Team Project Scenarios Add enterprise specific work item types Modify existing work item type forms and rules TFS ships with pre-defined types TIP: Use as blueprint
16
Work Item Store Work Item Object Model WITXSD Work Item Type XML c:\ witimport c:\ witexport c:\ witimport /v Validate Notepad, Process Template Editor, … ImportExport VisualStudio Customizing Work Item Types
17
How severe the code defect is How severe the code defect is </WITD> Work Item Type Definition Name Fields Field Rules Work Flow States Transitions Field Rules Form
18
Work Item Type Fields Field reference names Think “column name” Use in your tooling Server scope Follow domain name convention Microsoft.TeamFoundationServer.WorkItemTracking.Foobar System.* reserved Field friendly names Think “column alias” Use in your queries Server scope Can be renamed, Title->Issue for example Field labels Appear on WI forms Localizable
19
Example WI State Diagram
20
witexport.exe / witimport.exe
21
WIT Security in TFS 2005 You can: Set permissions by project areas (in UI) Set permissions for a state transition of WI type (in WI type definition) Creating WI is also transition You can’t: Have item-level permissions Have field-level permissions
22
Agenda Team Foundation Architecture Process Templates Work Item Types Source Code Control Build Portal and reports
23
Source Control Gotchas Sharing and pinning are not supported Concurrent check-out by default Limited offline support No Get Latest on check-out Features only in command line Undo another user’s changes Features only in TFS Power Toys Rollback (but actually „Compensate“) Annotate (also in VS UI) TreeDiff (also in VS UI) Merge on Unshelve
24
“Missing” VSS features Branching and Merging is the recommended way but it is not direct equivalent Isolation between possibly breaking changes Mastering branching and merging is crucial Pinning Branching and merging enables any and all of the following scenarios: Promotion modeling, Pinning, Frequent Releases, Service Packs, etc. Sharing For VSS-style sharing, put common files in a common directory and use ‘Add as Link’ References with relative paths If shared files change often, share source code If shared files are DLLs, consider NOT sharing automatically 3 rd party products – e.g. TFSLinks (ComponentSoftware Inc.)
25
Check-in policies In the TFS box Work Items, Tests, Code Analysis Work Items highly recommended, others are usually impractically restrictive Custom: Easy - just derive from PolicyBase Warnings: Run on client, not server Easy to hack by a malicious user Collaboration tool, not security measure Only type names and parameters on server Need to deploy manually to clients
26
Team Foundation Power Toys http://www.microsoft.com/downloads/details.aspx?FamilyId=3F21144A-4E98-4CE0-830F-D1F3E8AC9D67&displaylang=en Forbidden Patterns Policy Visual Studio 2005 SDK http://www.microsoft.com/downloads/details.aspx?FamilyId=3F21144A-4E98-4CE0-830F-D1F3E8AC9D67&displaylang=en
27
Agenda Team Foundation Architecture Process Templates Work Item Types Source Code Control Build Portal and reports
28
Typical team build Initialization Build Server Preparation Source Code Synch. Code Churn Calculation Report Generation Publishing Work Items Update Code Coverage Calculation Compilation, Static Analysis Unit Tests
29
Customizing TFS Builds See walkthrough: http://msdn2.microsoft.com/en-us/library/ms400767.aspx Find the right task: MSBuild - http://msdn2.microsoft.com/en- us/library/7z253716.aspx http://msdn2.microsoft.com/en- us/library/7z253716.aspx TFS - http://msdn2.microsoft.com/en- us/library/ms243778.aspx http://msdn2.microsoft.com/en- us/library/ms243778.aspx Third-party (mostly freeware) See http://msbuildtasks.tigris.org/http://msbuildtasks.tigris.org/ Build your own Find the right target (17 out of 35 provided): http://msdn2.microsoft.com/en-us/library/aa337604.aspx
30
Custom Build Task MSBuild Sidekick http://www.attrice.info/msbuild/index.htm Team Build Sidekick http://www.attrice.info/cm/tfs/TeamBuildAddin.htm
31
Agenda Team Foundation Architecture Process Templates Work Item Types Source Code Control Build Portal and reports
32
Project Portal Dependency on WSS: WSS must be installed before TFS installation You can remove WSS site creation from process template WSS Site per project New web parts can be added to the gallery Sharepoint templates can be modified or extended Initial content in Process Template You will typically see bug Q915746 Contact local MS Support Services for fix
33
Reporting - High Level Architecture Adapter Work Item Tracking Version Control Team Build Team Test 3 rd Party Data Sources Adapter Team Foundation Relational Warehouse Team Foundation OLAP Warehouse OLAP Semantic Model Adapter Common Structures Report Builder Reports Report Designer Reports Excel Reports Report Designer: Precision Layout, Developer-built Report Builder: End-user ad-hoc charts and lists with drill-through Excel: Portable, familiar, exploratory analytical reports
34
Integrated Reporting * ******** * * * * ProjectStructureProjectStructureIterationStructureIterationStructure WorkItemWorkItem LabelLabelVersionedItemVersionedItem LatestItemVersionLatestItemVersionChangesetChangeset BuildBuildTestResultTestResult
35
Custom Report in MS Excel
36
Summary TFS is highly customizable and extensible products MSDN and Visual Studio 2005 SDK are your primary resources Many free and commercial 3 rd party tools http://accentient.com/widgets.aspx
37
Questions???
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.