Presentation is loading. Please wait.

Presentation is loading. Please wait.

Customizing and extending TFS Michael Juřek Software Architect Microsoft s.r.o.

Similar presentations


Presentation on theme: "Customizing and extending TFS Michael Juřek Software Architect Microsoft s.r.o."— Presentation transcript:

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???


Download ppt "Customizing and extending TFS Michael Juřek Software Architect Microsoft s.r.o."

Similar presentations


Ads by Google