Customizing and extending tfs l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 37

Customizing and extending TFS PowerPoint PPT Presentation


  • 100 Views
  • Uploaded on
  • Presentation posted in: General

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.

Download Presentation

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Customizing and extending tfs l.jpg

Customizing and extending TFS

Michael JuřekSoftware Architect

Microsoft s.r.o.


Agenda l.jpg

Agenda

  • Team Foundation Architecture

  • Process Templates

  • Work Item Types

  • Source Code Control

  • Build

  • Portal and reports


Team foundation server l.jpg

Work Item Tracking

Version Control

Reporting

Project

Portal

Build Automation

Team Foundation Server

Integrated Platform for Collaborating on Software Development Projects.


Team logical architecture l.jpg

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


Customization points l.jpg

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


Extension points l.jpg

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


Slide7 l.jpg

TFS Administration Toolhttp://www.codeplex.com/Wiki/View.aspx?ProjectName=TFSAdminPolicy Override Notification Toolhttp://members.chello.nl/m.dekunst/SubScribeToPolicyViolation.zip


Agenda8 l.jpg

Agenda

  • Team Foundation Architecture

  • Process Templates

  • Work Item Types

  • Source Code Control

  • Build

  • Portal and reports


Process templates l.jpg

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


Anatomy of a process template l.jpg

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


Process template l.jpg

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


Process template editor l.jpg

Process Template Editor

  • http://www.imaginets.com/Default.aspx?tabid=133


Process template editor http www imaginets com default aspx tabid 133 l.jpg

Process Template Editorhttp://www.imaginets.com/Default.aspx?tabid=133


Agenda14 l.jpg

Agenda

  • Team Foundation Architecture

  • Process Templates

  • Work Item Types

  • Source Code Control

  • Build

  • Portal and reports


Wit customization l.jpg

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


Customizing work item types l.jpg

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


Work item type definition l.jpg

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


Work item type fields l.jpg

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


Example wi state diagram l.jpg

Example WI State Diagram


W itexport exe witimport exe l.jpg

witexport.exe /witimport.exe


Wit security in tfs 2005 l.jpg

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


Agenda22 l.jpg

Agenda

  • Team Foundation Architecture

  • Process Templates

  • Work Item Types

  • Source Code Control

  • Build

  • Portal and reports


Source control gotchas l.jpg

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


Missing vss features l.jpg

“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.)


Check in policies l.jpg

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


Slide26 l.jpg

Team Foundation Power Toyshttp://www.microsoft.com/downloads/details.aspx?FamilyId=3F21144A-4E98-4CE0-830F-D1F3E8AC9D67&displaylang=enForbidden Patterns PolicyVisual Studio 2005 SDK


Agenda27 l.jpg

Agenda

  • Team Foundation Architecture

  • Process Templates

  • Work Item Types

  • Source Code Control

  • Build

  • Portal and reports


Typical team build l.jpg

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


Customizing tfs builds l.jpg

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


Slide30 l.jpg

Custom Build TaskMSBuild Sidekickhttp://www.attrice.info/msbuild/index.htmTeam Build Sidekickhttp://www.attrice.info/cm/tfs/TeamBuildAddin.htm


Agenda31 l.jpg

Agenda

  • Team Foundation Architecture

  • Process Templates

  • Work Item Types

  • Source Code Control

  • Build

  • Portal and reports


Project portal l.jpg

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


Reporting high level architecture l.jpg

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


Integrated reporting l.jpg

*

*

Project

Structure

Iteration

Structure

*

*

Build

*

*

Work

Item

*

*

Test

Result

*

*

*

*

*

Latest

Item

Version

Changeset

Label

Versioned

Item

Integrated Reporting


Custom report in ms excel l.jpg

Custom Report in MS Excel


Summary l.jpg

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


Questions l.jpg

Questions???


  • Login