Customizing and extending TFS - PowerPoint PPT Presentation

1 / 37
About This Presentation
Title:

Customizing and extending TFS

Description:

Add a new tool with new artifact types, link types, database, WS's ... Modify ours, handcraft your own, or buy. Process Template. ProcessTemplate.xml. Reports ... – PowerPoint PPT presentation

Number of Views:512
Avg rating:3.0/5.0
Slides: 38
Provided by: kevin455
Category:

less

Transcript and Presenter's Notes

Title: Customizing and extending TFS


1
Customizing and extending TFS
  • Michael JurekSoftware Architect
  • Microsoft s.r.o.

2
Agenda
  • Team Foundation Architecture
  • Process Templates
  • Work Item Types
  • Source Code Control
  • Build
  • Portal and reports

3
Team Foundation Server
Integrated Platform for Collaborating on Software
Development Projects.
4
Team Logical Architecture
Build Process
Version Control Proxy Service
Team Foundation App Tier
Team Foundation Data Tier
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
  • 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
  • Core services
  • Add a new tool with new artifact types, link
    types, database, WSs
  • 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

7
TFS Administration Toolhttp//www.codeplex.com/Wi
ki/View.aspx?ProjectNameTFSAdminPolicy
Override Notification Toolhttp//members.chello.n
l/m.dekunst/SubScribeToPolicyViolation.zip
8
Agenda
  • Team Foundation Architecture
  • Process Templates
  • Work Item Types
  • Source Code Control
  • Build
  • Portal and reports

9
Process Templates
  • 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
Anatomy of a Process Template
Template Definition
ProcessTemplate.xml
Reports
Reports.xml
Process Group References
BugTrends.rdl
Work Items
WorkItems.xml
Process Template
Bug.xml
CustomWIType.xml
Version Control
VersionControl.xml
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

12
Process Template Editor
  • http//www.imaginets.com/Default.aspx?tabid133

13
Process Template Editorhttp//www.imaginets.com/D
efault.aspx?tabid133
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
Customizing Work Item Types
Work Item Type XML
Notepad, Process Template Editor,
Visual Studio
c\ witimport
c\ witexport
c\ witimport /v
WIT XSD
Work Item Object Model
Validate
Import
Export
Work Item Store
17
Work Item Type Definition
ltWITD application"my editor" version"1.0"gt
ltWORKITEMTYPE name"Custom Code Defect"gt
ltFIELDSgt ltFIELD name"Severity"
refname"Custom.Severity" type"Integer"gt
ltHELPTEXTgtHow severe the code defect
islt/HELPTEXTgt ltREQUIRED /gt lt/FIELDgt
lt/FIELDSgt ltWORKFLOWgt
ltSTATESgt ltSTATE value"Active" /gt
lt/STATESgt ltTRANSITIONSgt ltTRANSITION
from"" to"Active"gt ltREASONSgt
ltDEFAULTREASON value"New" /gt
lt/REASONSgt lt/TRANSITIONgt
lt/TRANSITIONSgt lt/WORKFLOWgt ltFORMgt
ltLayoutgt ltControl Type"FieldControl"
FieldName"Custom.Severity"
Label"Severity" LabelPosition"Left" /gt
lt/Layoutgt lt/FORMgt lt/WORKITEMTYPEgt lt/WITDgt
  • 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.Fo
    obar
  • System. reserved
  • Field friendly names
  • Think column alias
  • Use in your queries
  • Server scope
  • Can be renamed, Title-gtIssue 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 cant
  • 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 users 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
  • 3rd 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 Toyshttp//www.microsoft.co
m/downloads/details.aspx?FamilyId3F21144A-4E98-4C
E0-830F-D1F3E8AC9D67displaylangenForbidden
Patterns PolicyVisual Studio 2005 SDK
27
Agenda
  • Team Foundation Architecture
  • Process Templates
  • Work Item Types
  • Source Code Control
  • Build
  • Portal and reports

28
Typical team build
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
  • TFS - http//msdn2.microsoft.com/en-us/library/ms2
    43778.aspx
  • Third-party (mostly freeware)
  • See 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 Sidekickhttp//www.at
trice.info/msbuild/index.htmTeam Build
Sidekickhttp//www.attrice.info/cm/tfs/TeamBuildA
ddin.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
ExcelReports
Report Builder Reports
Report Designer Reports
Team Foundation OLAP Warehouse
Report Designer Precision Layout, Developer-built
OLAPSemantic Model
Report Builder End-user ad-hoc charts and lists
with drill-through
Team Foundation Relational Warehouse
Excel Portable, familiar, exploratory analytical
reports
Adapter
Adapter
Adapter
Adapter
Adapter
Adapter
Work Item Tracking
Version Control
TeamBuild
TeamTest
3rd PartyData Sources
Common Structures
34
Integrated Reporting
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 3rd party tools
  • http//accentient.com/widgets.aspx

37
Questions???
Write a Comment
User Comments (0)
About PowerShow.com