1 / 37

Customizing and extending TFS

Customizing and extending TFS. Michael Juřek Software Architect Microsoft s.r.o. Agenda. Team Foundation Architecture Process Templates Work Item Types Source Code Control Build Portal and reports. Work Item Tracking. Version Control. Reporting. Project Portal. Build Automation.

zev
Télécharger la présentation

Customizing and extending TFS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Customizing and extending TFS Michael JuřekSoftware Architect Microsoft s.r.o.

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

  3. Work Item Tracking Version Control Reporting Project Portal Build Automation Team Foundation Server Integrated Platform for Collaborating on Software Development Projects.

  4. Team Foundation Client Tier Version Control Proxy Build Machine Visual Studio Packages MS Project Plug-in Internet Explorer MS Excel Plug-in SQL RS Proxies WSS Proxies Team Foundation Object Model Report Client Custom reporting tools SQL Reporting Services Windows SharePoint Services Work Item Tracking Service Version Control Service Team Build Service Core Services Adapters MS Exce MS Projectl SQL Reporting Services Windows SharePoint Services Work Items Version Control Team Build Data Core Data Warehouse Team Logical Architecture Version Control Proxy Service Build Process Team Foundation App Tier Team Foundation Data Tier

  5. 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 Customization Points

  6. 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 Extension Points

  7. TFS Administration Toolhttp://www.codeplex.com/Wiki/View.aspx?ProjectName=TFSAdminPolicy Override Notification Toolhttp://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 • 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. XML XML XML XML XML XML RDL 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 • Classifications: Areas and Iterations • Source Control Settings

  12. Process Template Editor • http://www.imaginets.com/Default.aspx?tabid=133

  13. Process Template Editorhttp://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. Customizing Work Item Types Notepad, Process Template Editor, … Work Item Type XML Visual Studio c:\ witexport c:\ witimport /v c:\ witimport WIT XSD Work Item Object Model Export Validate Import Work Item Store

  17. Work Item Type Definition <WITD application="my editor" version="1.0"> <WORKITEMTYPE name="Custom Code Defect"> <FIELDS> <FIELD name="Severity" refname="Custom.Severity" type="Integer"> <HELPTEXT>How severe the code defect is</HELPTEXT> <REQUIRED /> </FIELD> </FIELDS> <WORKFLOW> <STATES> <STATE value="Active" /> </STATES> <TRANSITIONS> <TRANSITION from="" to="Active"> <REASONS> <DEFAULTREASON value="New" /> </REASONS> </TRANSITION> </TRANSITIONS> </WORKFLOW> <FORM> <Layout> <Control Type="FieldControl" FieldName="Custom.Severity" Label="Severity" LabelPosition="Left" /> </Layout> </FORM> </WORKITEMTYPE> </WITD> • 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 • 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.com/downloads/details.aspx?FamilyId=3F21144A-4E98-4CE0-830F-D1F3E8AC9D67&displaylang=enForbidden Patterns PolicyVisual Studio 2005 SDK

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

  28. Initialization Build ServerPreparation Source CodeSynch. Code Churn Calculation Report Generation Publishing Work Items Update Code Coverage Calculation Unit Tests Compilation,Static Analysis 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/ms243778.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 TaskMSBuild Sidekickhttp://www.attrice.info/msbuild/index.htmTeam Build Sidekickhttp://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 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 Common Structures Work Item Tracking Version Control TeamBuild TeamTest 3rd PartyData Sources

  34. * * Project Structure Iteration Structure * * Build * * Work Item * * Test Result * * * * * Latest Item Version Changeset Label Versioned Item 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???

More Related