Sie sind auf Seite 1von 400

MCT USE ONLY.

STUDENT USE PROHIBITED

OFFICIAL

MICROSOFT

LEARNING

PRODUCT

6215A
Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

Be sure to access the extended learning content on your Course Companion CD enclosed on the back cover of the book.

ii

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Information in this document, including URL and other Internet Web site references, is subject to change without notice. Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, e-mail address, logo, person, place or event is intended or should be inferred. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. The names of manufacturers, products, or URLs are provided for informational purposes only and Microsoft makes no representations and warranties, either expressed, implied, or statutory, regarding these manufacturers or the use of the products with any Microsoft technologies. The inclusion of a manufacturer or product does not imply endorsement of Microsoft of the manufacturer or product. Links may be provided to third party sites. Such sites are not under the control of Microsoft and Microsoft is not responsible for the contents of any linked site or any link contained in a linked site, or any changes or updates to such sites. Microsoft is not responsible for webcasting or any other form of transmission received from any linked site. Microsoft is providing these links to you only as a convenience, and the inclusion of any link does not imply endorsement of Microsoft of the site or the products contained therein. 2008 Microsoft Corporation. All rights reserved. Microsoft, Active Directory, Internet Explorer, SharePoint, SQL Server, Visual SourceSafe, Visual Studio, Visual Studio Team System, and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. All other trademarks are property of their respective owners.

Product Number: 6215A Part Number C90-06023 Released: 01/2009

MICROSOFT LICENSE TERMS OFFICIAL MICROSOFT LEARNING PRODUCTS TRAINER EDITION Pre-Release and Final Release Versions
These license terms are an agreement between Microsoft Corporation and you. Please read them. They apply to the Licensed Content named above, which includes the media on which you received it, if any. The terms also apply to any Microsoft updates, supplements, Internet-based services, and support services

for this Licensed Content, unless other terms accompany those items. If so, those terms apply. By using the Licensed Content, you accept these terms. If you do not accept them, do not use the Licensed Content. If you comply with these license terms, you have the rights below.

1. DEFINITIONS. a. Academic Materials means the printed or electronic documentation such as


manuals, workbooks, white papers, press releases, datasheets, and FAQs which may be included in the Licensed Content. Learning Solutions location, an IT Academy location, or such other entity as Microsoft may designate from time to time.

b. Authorized Learning Center(s) means a Microsoft Certified Partner for

c. Authorized Training Session(s) means those training sessions authorized by

Microsoft and conducted at or through Authorized Learning Centers by a Trainer providing training to Students solely on Official Microsoft Learning Products (formerly known as Microsoft Official Curriculum or MOC) and Microsoft Dynamics Learning Products (formerly know as Microsoft Business Solutions Courseware). Each Authorized Training Session will provide training on the subject matter of one (1) Course. Authorized Learning Center during an Authorized Training Session, each of which provides training on a particular Microsoft technology subject matter.

d. Course means one of the courses using Licensed Content offered by an

e. Device(s) means a single computer, device, workstation, terminal, or other


digital electronic or analog device.

f.

Licensed Content means the materials accompanying these license terms. The Licensed Content may include, but is not limited to, the following elements: (i) Trainer Content, (ii) Student Content, (iii) classroom setup guide, and (iv) Software. There are different and separate components of the Licensed Content for each Course. Software means the Virtual Machines and Virtual Hard Disks, or other software applications that may be included with the Licensed Content. your location.

g.

h. Student(s) means a student duly enrolled for an Authorized Training Session at i.


Student Content means the learning materials accompanying these license terms that are for use by Students and Trainers during an Authorized Training Session. Student Content may include labs, simulations, and courseware files for a Course. Trainer(s) means a) a person who is duly certified by Microsoft as a Microsoft Certified Trainer and b) such other individual as authorized in writing by Microsoft and has been engaged by an Authorized Learning Center to teach or instruct an Authorized Training Session to Students on its behalf. are for use by Trainers and Students, as applicable, solely during an Authorized Training Session. Trainer Content may include Virtual Machines, Virtual Hard Disks, Microsoft PowerPoint files, instructor notes, and demonstration guides and script files for a Course. Virtual Hard Disks means Microsoft Software that is comprised of virtualized hard disks (such as a base virtual hard disk or differencing disks) for a Virtual Machine that can be loaded onto a single computer or other device in order to allow end-users to run multiple operating systems concurrently. For the purposes of these license terms, Virtual Hard Disks will be considered Trainer Content. accessed using Microsoft Virtual PC or Microsoft Virtual Server software that consists of a virtualized hardware environment, one or more Virtual Hard Disks, and a configuration file setting the parameters of the virtualized hardware environment (e.g., RAM). For the purposes of these license terms, Virtual Hard Disks will be considered Trainer Content. you means the Authorized Learning Center or Trainer, as applicable, that has agreed to these license terms.

j.

k. Trainer Content means the materials accompanying these license terms that

l.

m. Virtual Machine means a virtualized computing experience, created and

n.

2. OVERVIEW.
Licensed Content. The Licensed Content includes Software, Academic Materials (online and electronic), Trainer Content, Student Content, classroom setup guide, and associated media. License Model. The Licensed Content is licensed on a per copy per Authorized Learning Center location or per Trainer basis.

3. INSTALLATION AND USE RIGHTS. a. Authorized Learning Centers and Trainers: For each Authorized Training
Session, you may: i. either install individual copies of the relevant Licensed Content on classroom Devices only for use by Students enrolled in and the Trainer delivering the Authorized Training Session, provided that the number of copies in use does not exceed the number of Students enrolled in and the Trainer delivering the Authorized Training Session, OR

ii. install one copy of the relevant Licensed Content on a network server only for access by classroom Devices and only for use by Students enrolled in and the Trainer delivering the Authorized Training Session, provided that the number of Devices accessing the Licensed Content on such server does not exceed the number of Students enrolled in and the Trainer delivering the Authorized Training Session. iii. and allow the Students enrolled in and the Trainer delivering the Authorized Training Session to use the Licensed Content that you install in accordance with (ii) or (ii) above during such Authorized Training Session in accordance with these license terms. iv. Separation of Components. The components of the Licensed Content are licensed as a single unit. You may not separate the components and install them on different Devices. v. Third Party Programs. The Licensed Content may contain third party programs. These license terms will apply to the use of those third party programs, unless other terms accompany those programs.

b. Trainers:
i. Trainers may Use the Licensed Content that you install or that is installed by an Authorized Learning Center on a classroom Device to deliver an Authorized Training Session.

ii. Trainers may also Use a copy of the Licensed Content as follows:

A. Licensed Device. The licensed Device is the Device on which you Use the
Licensed Content. You may install and Use one copy of the Licensed Content on the licensed Device solely for your own personal training Use and for preparation of an Authorized Training Session. for your own personal training Use and for preparation of an Authorized Training Session.

B. Portable Device. You may install another copy on a portable device solely

4. PRE-RELEASE VERSIONS. If this is a pre-release (beta) version, in addition to the


other provisions in this agreement, these terms also apply:

a. Pre-Release Licensed Content. This Licensed Content is a pre-release version.

It may not contain the same information and/or work the way a final version of the Licensed Content will. We may change it for the final, commercial version. We also may not release a commercial version. You will clearly and conspicuously inform any Students who participate in each Authorized Training Session of the foregoing; and, that you or Microsoft are under no obligation to provide them with any further content, including but not limited to the final released version of the Licensed Content for the Course.

b. Feedback. If you agree to give feedback about the Licensed Content to Microsoft,
you give to Microsoft, without charge, the right to use, share and commercialize your feedback in any way and for any purpose. You also give to third parties, without charge, any patent rights needed for their products, technologies and services to use or interface with any specific parts of a Microsoft software, Licensed Content, or service that includes the feedback. You will not give feedback that is subject to a license that requires Microsoft to license its software or documentation to third parties because we include your feedback in them. These rights survive this agreement. interface, features and documentation that may be included with the Licensed Content, is confidential and proprietary to Microsoft and its suppliers. i.

c. Confidential Information. The Licensed Content, including any viewer, user

Use. For five years after installation of the Licensed Content or its commercial release, whichever is first, you may not disclose confidential information to third parties. You may disclose confidential information only to your employees and consultants who need to know the information. You must have written agreements with them that protect the confidential information at least as much as this agreement. Survival. Your duty to protect confidential information survives this agreement.

ii.

iii. Exclusions. You may disclose confidential information in response to a judicial or governmental order. You must first give written notice to Microsoft to allow it to seek a protective order or otherwise protect the information. Confidential information does not include information that d. becomes publicly known through no wrongful act; you received from a third party who did not breach confidentiality obligations to Microsoft or its suppliers; or you developed independently.

Term. The term of this agreement for pre-release versions is (i) the date which Microsoft informs you is the end date for using the beta version, or (ii) the commercial release of the final release version of the Licensed Content, whichever is first (beta term). Use. You will cease using all copies of the beta version upon expiration or termination of the beta term, and will destroy all copies of same in the possession or under your control and/or in the possession or under the control of any Trainers who have received copies of the pre-released version. Copies. Microsoft will inform Authorized Learning Centers if they may make copies of the beta version (in either print and/or CD version) and distribute such copies to Students and/or Trainers. If Microsoft allows such distribution, you will follow any additional terms that Microsoft provides to you for such copies and distribution.

e.

f.

5. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS.


a. Authorized Learning Centers and Trainers: i. Software. Virtual Hard Disks. The Licensed Content may contain versions of Microsoft XP, Microsoft Windows Vista, Windows Server 2003, Windows Server 2008, and Windows 2000 Advanced Server and/or other Microsoft products which are provided in Virtual Hard Disks. A. If the Virtual Hard Disks and the labs are launched through the Microsoft Learning Lab Launcher, then these terms apply: Time-Sensitive Software. If the Software is not reset, it will stop running based upon the time indicated on the install of the Virtual Machines (between 30 and 500 days after you install it). You will not receive notice before it stops running. You may not be able to access data used or information saved with the Virtual Machines when it stops running and may be forced to reset these Virtual Machines to their original state. You

must remove the Software from the Devices at the end of each Authorized Training Session and reinstall and launch it prior to the beginning of the next Authorized Training Session. B. If the Virtual Hard Disks require a product key to launch, then these terms apply: Microsoft will deactivate the operating system associated with each Virtual Hard Disk. Before installing any Virtual Hard Disks on classroom Devices for use during an Authorized Training Session, you will obtain from Microsoft a product key for the operating system software for the Virtual Hard Disks and will activate such Software with Microsoft using such product key. C. These terms apply to all Virtual Machines and Virtual Hard Disks: You may only use the Virtual Machines and Virtual Hard Disks if you comply with the terms and conditions of this agreement and the following security requirements: o o You may not install Virtual Machines and Virtual Hard Disks on portable Devices or Devices that are accessible to other networks. You must remove Virtual Machines and Virtual Hard Disks from all classroom Devices at the end of each Authorized Training Session, except those held at Microsoft Certified Partners for Learning Solutions locations. You must remove the differencing drive portions of the Virtual Hard Disks from all classroom Devices at the end of each Authorized Training Session at Microsoft Certified Partners for Learning Solutions locations. You will ensure that the Virtual Machines and Virtual Hard Disks are not copied or downloaded from Devices on which you installed them. You will strictly comply with all Microsoft instructions relating to installation, use, activation and deactivation, and security of Virtual Machines and Virtual Hard Disks. You may not modify the Virtual Machines and Virtual Hard Disks or any contents thereof. You may not reproduce or redistribute the Virtual Machines or Virtual Hard Disks.

o o

o o

ii. Classroom Setup Guide. You will assure any Licensed Content installed for
use during an Authorized Training Session will be done in accordance with the classroom set-up guide for the Course. iii. Media Elements and Templates. You may allow Trainers and Students to use images, clip art, animations, sounds, music, shapes, video clips and templates provided with the Licensed Content solely in an Authorized Training Session. If Trainers have their own copy of the Licensed Content, they may use Media Elements for their personal training use. iv Evaluation Software. Any Software that is included in the Student Content designated as Evaluation Software may be used by Students solely for their personal training outside of the Authorized Training Session.

b. Trainers Only:
i. Use of PowerPoint Slide Deck Templates. The Trainer Content may include Microsoft PowerPoint slide decks. Trainers may use, copy and modify the PowerPoint slide decks only for providing an Authorized Training Session. If you elect to exercise the foregoing, you will agree or ensure Trainer agrees: (a) that modification of the slide decks will not constitute creation of obscene or scandalous works, as defined by federal law at the time the work is created; and (b) to comply with all other terms and conditions of this agreement.

ii. Use of Instructional Components in Trainer Content. For each Authorized Training Session, Trainers may customize and reproduce, in accordance with the MCT Agreement, those portions of the Licensed Content that are logically associated with instruction of the Authorized Training Session. If you elect to exercise the foregoing rights, you agree or ensure the Trainer agrees: (a) that any of these customizations or reproductions will only be used for providing an Authorized Training Session and (b) to comply with all other terms and conditions of this agreement. iii. Academic Materials. If the Licensed Content contains Academic Materials, you may copy and use the Academic Materials. You may not make any modifications to the Academic Materials and you may not print any book (either electronic or print version) in its entirety. If you reproduce any Academic Materials, you agree that:

The use of the Academic Materials will be only for your personal reference or training use You will not republish or post the Academic Materials on any network computer or broadcast in any media; You will include the Academic Materials original copyright notice, or a copyright notice to Microsofts benefit in the format provided below:

Form of Notice: 2008 Reprinted for personal reference use only with permission by Microsoft Corporation. All rights reserved. Microsoft, Windows, and Windows Server are either registered trademarks or trademarks of Microsoft Corporation in the US and/or other countries. Other product and company names mentioned herein may be the trademarks of their respective owners.

6. INTERNET-BASED SERVICES. Microsoft may provide Internet-based services with


the Licensed Content. It may change or cancel them at any time. You may not use these services in any way that could harm them or impair anyone elses use of them. You may not use the services to try to gain unauthorized access to any service, data, account or network by any means.

7. SCOPE OF LICENSE. The Licensed Content is licensed, not sold. This agreement only
gives you some rights to use the Licensed Content. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the Licensed Content only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the Licensed Content that only allow you to use it in certain ways. You may not install more copies of the Licensed Content on classroom Devices than the number of Students and the Trainer in the Authorized Training Session; allow more classroom Devices to access the server than the number of Students enrolled in and the Trainer delivering the Authorized Training Session if the Licensed Content is installed on a network server; copy or reproduce the Licensed Content to any server or location for further reproduction or distribution; disclose the results of any benchmark tests of the Licensed Content to any third party without Microsofts prior written approval; work around any technical limitations in the Licensed Content; reverse engineer, decompile or disassemble the Licensed Content, except and only to the extent that applicable law expressly permits, despite this limitation; make more copies of the Licensed Content than specified in this agreement or allowed by applicable law, despite this limitation; publish the Licensed Content for others to copy; transfer the Licensed Content, in whole or in part, to a third party;

access or use any Licensed Content for which you (i) are not providing a Course and/or (ii) have not been authorized by Microsoft to access and use; rent, lease or lend the Licensed Content; or use the Licensed Content for commercial hosting services or general business purposes. Rights to access the server software that may be included with the Licensed Content, including the Virtual Hard Disks does not give you any right to implement Microsoft patents or other Microsoft intellectual property in software or devices that may access the server.

8. EXPORT RESTRICTIONS. The Licensed Content is subject to United States export

laws and regulations. You must comply with all domestic and international export laws and regulations that apply to the Licensed Content. These laws include restrictions on destinations, end users and end use. For additional information, see www.microsoft.com/exporting. or Licensed Content marked as NFR or Not for Resale.

9. NOT FOR RESALE SOFTWARE/LICENSED CONTENT. You may not sell software 10. ACADEMIC EDITION. You must be a Qualified Educational User to use Licensed

Content marked as Academic Edition or AE. If you do not know whether you are a Qualified Educational User, visit www.microsoft.com/education or contact the Microsoft affiliate serving your country. agreement if you fail to comply with the terms and conditions of these license terms. In the event your status as an Authorized Learning Center or Trainer a) expires, b) is voluntarily terminated by you, and/or c) is terminated by Microsoft, this agreement shall automatically terminate. Upon any termination of this agreement, you must destroy all copies of the Licensed Content and all of its component parts.

11. TERMINATION. Without prejudice to any other rights, Microsoft may terminate this

12. ENTIRE AGREEMENT. This agreement, and the terms for supplements,

updates, Internet-based services and support services that you use, are the entire agreement for the Licensed Content and support services.

13. APPLICABLE LAW. a. United States. If you acquired the Licensed Content in the United States,
Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws of the state where you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort. country, the laws of that country apply.

b. Outside the United States. If you acquired the Licensed Content in any other

14. LEGAL EFFECT. This agreement describes certain legal rights. You may have other

rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the Licensed Content. This agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so.

15. DISCLAIMER OF WARRANTY. The Licensed Content is licensed as-is. You


bear the risk of using it. Microsoft gives no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this agreement cannot change. To the extent permitted under your local laws, Microsoft excludes the implied warranties of merchantability, fitness for a particular purpose and non-infringement. RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. This limitation applies to anything related to the Licensed Content, software, services, content (including code) on third party Internet sites, or third party programs; and claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law.

16. LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. YOU CAN

It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages. Please note: As this Licensed Content is distributed in Quebec, Canada, some of the clauses in this agreement are provided below in French. Remarque : Ce le contenu sous licence tant distribu au Qubec, Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en franais. EXONRATION DE GARANTIE. Le contenu sous licence vis par une licence est offert tel quel . Toute utilisation de ce contenu sous licence est votre seule risque et pril. Microsoft naccorde aucune autre garantie expresse. Vous pouvez bnficier de droits additionnels en vertu du droit local sur la protection dues consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualit marchande, dadquation un usage particulier et dabsence de contrefaon sont exclues.

LIMITATION DES DOMMAGES-INTRTS ET EXCLUSION DE RESPONSABILIT POUR LES DOMMAGES. Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement hauteur de 5,00 $ US. Vous ne pouvez prtendre aucune indemnisation pour les autres dommages, y compris les dommages spciaux, indirects ou accessoires et pertes de bnfices. Cette limitation concerne: tout ce qui est reli au le contenu sous licence , aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers ; et les rclamations au titre de violation de contrat ou de garantie, ou au titre de responsabilit stricte, de ngligence ou dune autre faute dans la limite autorise par la loi en vigueur.

Elle sapplique galement, mme si Microsoft connaissait ou devrait connatre lventualit dun tel dommage. Si votre pays nautorise pas lexclusion ou la limitation de responsabilit pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou lexclusion ci-dessus ne sappliquera pas votre gard. EFFET JURIDIQUE. Le prsent contrat dcrit certains droits juridiques. Vous pourriez avoir dautres droits prvus par les lois de votre pays. Le prsent contrat ne modifie pas les droits que vous confrent les lois de votre pays si celles-ci ne le permettent pas.

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

iii

MCT USE ONLY. STUDENT USE PROHIBITED

Acknowledgement
Microsoft Learning would like to acknowledge and thank the following for their contribution towards developing this title. Their effort at various stages in the development has ensured that you have a good classroom experience.

Atuk Bhutia Content Developer


Atuk Bhutia started his career as a Content Developer and is presently working as an Instructional Designer with Aptara. He had the responsibility of developing this course and ensuring that it met the set standards. Atuk has worked on various WBT and ILT courses for different clients.

Casmil D'souza Content Developer


Casmil D'souza is a Sr. System Administrator at Aptara. Apart from the core responsibility of setting up the Virtual Machines for the lab environment, Casmil worked closely with Atuk to ensure that the labs were running smoothly.

Steven Borg - Subject Matter Expert


Steven Borg is the Visual Studio Team System Practice Lead at Northwest Cadence, a Microsoft Visual Studio Team System Inner Circle partner. Steven has helped several organizations improve their software development process, reducing costs, increasing quality and speeding delivery dates. In addition, he assists the Team System community as a Team System MVP, an author, and a speaker.

Shad Timm - Subject Matter Expert


Shad Timm is a Visual Studio Team System Consultant with Northwest Cadence and has extensive experience on various Team Foundation Server features. He has worked with several organizations to automate their build and deployment process, customize Team Foundation Server to gather specific metrics about their development process, and provide reports to facilitate process improvement.

James Yip Technical Reviewer


James Yip, PMP, MCT had been involved in this course as a technical reviewer. He is working as Managing Consultant for Eventus Limited, a Hong Kong based consultancy company that focuses on providing consultancy services on Microsoft products in Asia. He is playing a leading role in a number of Visual Studio Team Foundation deployment and consultation projects. James has also spent seven years delivering training on Microsoft Official Courseware.

MCT USE ONLY. STUDENT USE PROHIBITED

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Contents
Module 1: Installing and Configuring Microsoft Team Foundation Server
Lesson 1: Overview of Team Foundation Server Lesson 2: Planning a Team Foundation Server Deployment Lesson 3: Prerequisites for Deploying Team Foundation Server Lesson 4: Deploying Team Foundation Server Lesson 5: Installing Team Foundation Server Components Lesson 6: Monitoring Team Foundation Server Components Lab: Installing and Verifying Team Foundation Server Installation 1-3 1-7 1-16 1-22 1-28 1-37 1-44

Module 2: Administering Team Foundation Server Instances and Team Projects


Lesson 1: Managing a Team Foundation Server Instance Lesson 2: Managing Team Projects Lesson 3: Managing Security in Team Foundation Server Lesson 4: Managing Health and Availability Lesson 5: Managing Data-Tier and Application-Tier Servers Lesson 6: Managing Backup and Recovery Lab: Administering Team Foundation Server Instances and Team Projects 2-3 2-8 2-19 2-36 2-41 2-50 2-60

Module 3: Administering and Customizing Process Templates


Lesson 1: Managing Process Templates Lesson 2: Managing Process Guidance Lesson 3: Managing Team Projects Lesson 4: Creating Work Item Query Language (WIQL) Queries Lesson 5: Customizing Work Items Lab: Administering and Customizing Process Templates 3-3 3-12 3-20 3-27 3-31 3-40

Module 4: Administering Team Foundation Server Version Control


Lesson 1: Managing Team Foundation Server Version Control Lesson 2: Managing Team Foundation Proxy Server 4-3 4-15

vi

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 3: Advanced Functionality of Version Control Lesson 4: Migrating Team Foundation Server Version Control Lab: Administering Team Foundation Server Version Control

4-18 4-25 4-34

Module 5: Administering Team Foundation Build


Lesson 1: Introducing Team Build Lesson 2: Configuring Team Build Lesson 3: Running a Team Build Lesson 4: Extending Team Build Lab: Administering a Team Build 5-3 5-9 5-18 5-28 5-35

Module 6: Managing Team Foundation Reporting


Lesson 1: Overview of Reporting Lesson 2: Architectural Components of Reporting Lesson 3: Managing Reports Lesson 4: Creating Custom Team System Reports Lab: Customizing Team Foundation Server Reporting 6-3 6-6 6-16 6-22 6-28

Lab Answer Keys


Lab Answer Key 1: Installing and Verifying Team Foundation Server Lab Answer Key 2: Administering Team Foundation Server Instances and Team Projects Lab Answer Key 3: Administering and Customizing Process Templates Lab Answer Key 4: Administering Team Foundation Server Version Control Lab Answer Key 5: Administering a Team Build Lab Answer Key 6: Customizing Team Foundation Server Reporting L1-1 - L1-8 L2-9 - L2-18 L3-19 - L3-28 L4-29 - L4-38 L5-39 - L5-48 L6-49 - L6-56

About This Course

MCT USE ONLY. STUDENT USE PROHIBITED

About This Course


This section provides you with a brief description of the course, audience, suggested prerequisites, and course objectives.

Course Description
This course will help you in effectively manage and administer the components of Team Foundation Server. Guidance and insights are provided to create the instance and manage Team Foundation Server components.

Audience
This course is intended for experts who install, configure, and manage Microsoft Team Foundation Servers and Team System projects. They will work either as team leaders or server administrators in an enterprise development organization.

Student Prerequisites
This course requires that you meet the following prerequisites: VS 2008 Team System 200 level knowledge and skills. Familiarity with VSTS SKUs and basic features or with concepts taught in Course# 6214A. Experience using Virtual PC software, Visual Studio IDE, Windows SharePoint Services 2.0, and SQL Reporting Services. Proficiency using Microsoft Windows operating system. Experience with previous versions of Microsoft Visual Studio. Some experience with a .NET language (VB.NET/C#). Experience working in a software development team.

ii

About This Course

MCT USE ONLY. STUDENT USE PROHIBITED

Course Objectives
After completing this course, students will be able to: Install and configure Microsoft Team Foundation Server. Administer Team Foundation Server instances and team projects. Administer and customize process templates. Administer Team Foundation Server version control. Administer Team Foundation Build. Manage Team Foundation reporting.

Course Outline
This section provides an outline of the course: Module 1, "Installing and Configuring Microsoft Team Foundation Server" This module discusses the procedures for installing prerequisites for Team Foundation Server deployment, installing Team Foundation Server, and finally, monitoring this deployment. Module 2, "Administering Team Foundation Server Instances and Team Projects" This module talks about the best practices and useful, preventive strategies that you can adopt in order to avoid issues, such as configuration errors and system failures. Module 3, "Administering and Customizing Process Templates" This module provides you with a broad understanding of Team Foundation Server administration and management of team project using the process templates. Module 4, "Administering Team Foundation Server Version Control" This module provides you with a broad understanding of how to work with Team Foundation Version Control. Module 5, "Administering Team Foundation Build" This module explains how to create build definitions for a Team Build and talks about the default targets, tasks, and properties that can be modified to customize the build process. Module 6, "Managing Team Foundation Reporting" This module provides you with a broad understanding of the components of Team Foundation Reporting.

About This Course

iii

MCT USE ONLY. STUDENT USE PROHIBITED

Course Materials
The following materials are included with your kit: Course Handbook. A succinct classroom learning guide that provides all the critical technical information in a crisp, tightly-focused format, which is just right for an effective in-class learning experience. o o o o Lessons: Guide you through the learning objectives and provide the key points that are critical to the success of the in-class learning experience. Labs: Provide a real-world, hands-on platform for you to apply the knowledge and skills learned in the module. Module Reviews and Takeaways: Provide improved on-the-job reference material to boost knowledge and skills retention. Lab Answer Keys: Provide step-by-step lab solution guidance at your finger tips when its needed.

Course Companion CD. Searchable, easy-to-navigate digital content with integrated premium on-line resources designed to supplement the Course Handbook. o o o Lessons: Include detailed information for each topic, expanding on the content in the Course Handbook. Labs: Include complete lab exercise information and answer keys in digital form to use during lab time Resources: Include well-categorized additional resources that give you immediate access to the most up-to-date premium content on TechNet, MSDN, Microsoft Press Student Course Files: Include the Allfiles.exe, a self-extracting executable file that contains all the files required for the labs and demonstrations.

Note: To access the full course content, insert the Course Companion CD into the CDROM drive, and then in the root directory of the CD, double-click StartCD.exe.

Course evaluation. At the end of the course, you will have the opportunity to complete an online evaluation to provide feedback on the course, training facility, and instructor.

iv

About This Course

MCT USE ONLY. STUDENT USE PROHIBITED

To provide additional comments or feedback on the course, send e-mail to support@mscourseware.com. To inquire about the Microsoft Certification Program, send e-mail to mcphelp@microsoft.com.

Virtual Machine Environment


This section provides the information for setting up the classroom environment to support the business scenario of the course.

Virtual Machine Configuration


In this course, you will use Microsoft Virtual Server 2005 R2 to perform the labs.

Important: At the end of each lab, you must close the virtual machine and must not save any changes. To close a virtual machine without saving the changes, perform the following steps: 1. On the virtual machine, on the Action menu, click Close. 2. In the Close dialog box, in the What do you want the virtual machine to do? list, click Turn off and delete changes, and then click OK.

The following table shows the role of each virtual machine used in this course:
Virtual machine 6215A-PROSEWARE-DC1 6215A-PROSEWARE-TFS 6215A-PROSEWARE-CLI 6215A-PROSEWARE-TFSINSTALL Role Domain controller Visual Studio 2008 Team Foundation Server Windows Media client Visual Studio 2008 Team Foundation Server

Software Configuration
The following software is installed on each VM: Microsoft SQL Server 2005 Developer Edition Microsoft Visual Studio Team System 2008 Team Foundation Server Microsoft Visual Studio Team System 2008 Team Suite

About This Course

MCT USE ONLY. STUDENT USE PROHIBITED

Microsoft Office Enterprise 2007 Microsoft Visual SourceSafe 2005

Course Files
There are files associated with the labs in this course. The lab files are located in the folder E:\Labfiles on the student computers.

Classroom Setup
Each classroom computer will have the same virtual machine configured in the same way.

Course Hardware Level


To ensure a satisfactory student experience, Microsoft Learning requires a minimum equipment configuration for trainer and student computers in all Microsoft Certified Partner for Learning Solutions (CPLS) classrooms in which Official Microsoft Learning Product courseware are taught. This course requires a computer that meets or exceeds hardware level 6, which specifies an Intel Virtualization Technology (Intel VT) or AMD Virtualization (AMD-V) processor, at least 4 gigabytes (GB) of RAM, and dual 120 GB hard disks 7200 RM SATA or better.

MCT USE ONLY. STUDENT USE PROHIBITED

Installing and Configuring Microsoft Team Foundation Server

1-1

MCT USE ONLY. STUDENT USE PROHIBITED

Module 1
Installing and Configuring Microsoft Team Foundation Server
Contents:
Lesson 1: Overview of Team Foundation Server Lesson 2: Planning a Team Foundation Server Deployment Lesson 3: Prerequisites for Deploying Team Foundation Server Lesson 4: Deploying Team Foundation Server Lesson 5: Installing Team Foundation Server Components Lesson 6: Monitoring Team Foundation Server Components Lab: Installing and Verifying Team Foundation Server 1-3 1-7 1-16 1-22 1-28 1-37 1-44

1-2

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Module Overview

You must be familiar with the applications of Microsoft Visual Studio Team System, especially Team Foundation Server, as a collaborative agent for team development. Microsoft Visual Studio Team System uses a variety of existing technologies, such as SQL Server, Microsoft SharePoint Products and Technologies, and the .NET Framework, to provide a broad and extensible base from which multiple resources can collaborate and deliver quality software in optimal durations. This module discusses the procedures for installing prerequisites for Team Foundation Server deployment, installing Team Foundation Server, and finally, monitoring this deployment.

Installing and Configuring Microsoft Team Foundation Server

1-3

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 1

Overview of Team Foundation Server

Team Foundation Server provides you with a set of tools and technologies, which will help your team collaborate and coordinate the efforts on building a product or completing a project. In this lesson, you will review the architectural components of Microsoft Visual Studio Team System, and the differences between installation and deployment considerations for Team Foundation Server.

1-4

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Features and Functionalities of Team Foundation Server

Key Points
Team Foundation Server provides a set of tools and technologies that enables your team to collaborate and coordinate your work on completing a project or a product. Team Foundation Server comprises the data tier and the client tier. Team Foundation Server has a centralized source control for projects. Team Foundation Server secures valuable assets of the organization. Team Foundation Server helps bring teams together by creating a global, collaborative environment for the entire team. Team Foundation Server enables team communication by providing a central, authoritative repository for information.

Question: Why is team collaboration important?

Installing and Configuring Microsoft Team Foundation Server

1-5

MCT USE ONLY. STUDENT USE PROHIBITED

Team Foundation Server Components

Key Points
Team Foundation Server, a key component of Microsoft Visual Studio Team System must be installed before the other components. The application tier is the primary interface for Team Foundation Server clients. Team Explorer is part of the client tier that can be used as a stand-alone application or integrated with Visual Studio 2008. There are two options for the installation of SharePoint Products and TechnologiesInstall Windows SharePoint Services 3.0 on the application-tier server or install SharePoint Products and Technologies on a separate computer or use an existing deployment.

Question: Which of these components are required for a base Team Foundation Server installation?

1-6

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Planning a Deployment Vs. Planning an Installation

Key Points
Deployment planning is concerned with ensuring that the deployment meets the business needs of the organization. Installation planning involves planning the actual installation to meet the technical requirements. During deployment planning, you will be concerned with supporting a sufficient number of users, adequate response times, and reliability. Planning an installation is conducted after planning a deployment and is dependent on the resulting deployment plan.

Question: Have you been involved in a deployment planning before? If yes, has it helped in meeting the business needs of your organization?

Installing and Configuring Microsoft Team Foundation Server

1-7

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 2

Planning a Team Foundation Server Deployment

Planning a deployment is helpful for detailing the infrastructure required for deployment. The size of the team and the complexity of the project are the main factors affecting the choice between single server deployment and dual server deployment. This lesson provides you with details of the considerations that need to be taken into account for a healthy deployment.

1-8

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Deployment Models for Team Foundation Server

Key Points
Single server deployment and dual server deployment are the two recommended approaches to deploying Team Foundation Server. Single server deployment is the simplest approach and supports fewer than 450 users. To support more than 450 users, dual server deployment can be used. Multi-server deployment allows an organization to spread the application tier across a number of different computers. Dual-server deployment is the simplest of the multi-server deployments. In a dual server install, you install the application tier on a separate server node from the data tier.

Question: Why would you choose a multi-server deployment even if you have fewer than 450 users?

Installing and Configuring Microsoft Team Foundation Server

1-9

MCT USE ONLY. STUDENT USE PROHIBITED

Prerequisites for Team Foundation Server

Key Points
Though Team Foundation Server supports deploying Team Foundation Server without Active Directory domain, it is recommended that users have Active Directory. Both WSS and MOSS are supported but only WSS 3.0 is required for the functionalities in Team Foundation Server. IIS is used to handle the .Net projects, while SQL server is used for reporting and analyzing the project. SharePoint services are used to create project portals, while .NET Framework is used to create projects.

Question: Can SQL Server 2008 be used as the backend to Team Foundation Server?

1-10

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Considerations for Running Team Foundation Server on 64bit Windows

Key Points
Microsoft provides 64-bit versions of Windows for both workstation and server computers. 64-bit support is limited to selected components. The client components of Team Foundation Server are supported in a 64-bit environment. The Web services on the application tier can only be run in 32-bit, however, in a multi-server configuration some of the additional services on the application tier can be moved to 64-bit machines.

Question: What percentage of your current server infrastructure is running a 64bit OS?

Installing and Configuring Microsoft Team Foundation Server

1-11

MCT USE ONLY. STUDENT USE PROHIBITED

User Accounts Required for Team Foundation Server Installation

Key Points
You should install Team Foundation Server with your user account. Team Foundation Server Setup Account should have administrative permissions on the Team Foundation Server computers. Team Foundation Server Service Account must have Log on as service permission while Team Foundation Server Reporting Account must have the Allow log on locally permission. Windows SharePoint Service Account provides the identity for the SharePoint Central Administration application pool and Team Foundation Server Proxy Account allows the remote proxy to access and cache source control files.

Question: Do all user accounts need to be unique or can one service account be used?

1-12

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Considerations for Using Active Directory with Team Foundation Server

Key Points
Active Directory is the recommended approach in managing security for Team Foundation Server. Workgroups should only be used in a situation where there is a small team and a single server. All domains, which have Team Foundation Server components installed, should be trusted. The forest and domain types that are deployed in your companys network determine the types of trust that can be employed.

Question: Should a single server install use a workgroup, or can it be installed using Active Directory?

Installing and Configuring Microsoft Team Foundation Server

1-13

MCT USE ONLY. STUDENT USE PROHIBITED

Active Directory Domain Configuration

Key Points
Team Foundation Server supports only Windows 2000 native mode or higher domain functional levels. Windows 2000 mixed mode domains are not supported by Team Foundation Server. Domain configurations that support the functional modes of Windows NT Server 4.0 are unsupported. For security considerations, you should install Team Foundation Server in a Windows Server 2003 domain environment. It is a good practice to ban duplicate names and secure computer names by creator to avoid impersonation attacks.

Question: Can Team Foundation Server run on Windows Server 2008?

1-14

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Licensing for Team Foundation Server

Key Points
The Workgroup edition comes with the MSDN subscription and is available to all Microsoft partners. The workgroup edition supports up to five registered users who are maintained in a special Team Foundation Server group that restricts access to Team Foundation Server based on membership in that group. The Standard edition requires server and CAL licenses. Separate CALs are only required if a user does not use a Microsoft Visual Studio Team System edition as a client to connect to Team Foundation Server. When installed in a dual-machine configuration, you may need to purchase a server license for both the application tier and the data tier.

Question: What extension to Team Foundation Server supports allowing nonlicensed users to create and view their own work items?

Installing and Configuring Microsoft Team Foundation Server

1-15

MCT USE ONLY. STUDENT USE PROHIBITED

Preparation Checklist Before Team Foundation Server Deployment

Key Points
Read the installation guide prior to installing Team Foundation Server. Set up the required users for installation. Make good notes of both the user names and passwords of any accounts you create. Verify the hardware and software requirements. Ensure network communication between services. Note that you can change the default ports used by Team Foundation Server.

Question: Do any ports need to be opened to computers outside of the LAN or WAN?

1-16

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 3

Prerequisites for Deploying Team Foundation Server

To deploy a Team Foundation Server, you must first configure Microsoft SQL Server and SharePoint Product and Technologies on the machine. This lesson describes how to configure SQL server and SharePoint Products and Technologies, and also how to verify the configuration.

Installing and Configuring Microsoft Team Foundation Server

1-17

MCT USE ONLY. STUDENT USE PROHIBITED

How Team Foundation Server Is Deployed

Key Points
Configure Microsoft Internet Information Services (IIS) to support the Web sites and Web services used by Team Foundation Server. Deploy Microsoft SQL Server, SharePoint Product and Technologies, and then Team Foundation Server. Install Windows SharePoint Services or SharePoint Server 2007 to support the Web portal and Web collaboration features of Team Foundation Server. Verify Team Foundation Server Installation. An effective way to verify the installation is to create a new team project because this exercises nearly all of the services used by Team Foundation Server.

Question: How do you verify the Team Foundation Server installation?

1-18

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Considerations for Configuring SharePoint Products and Technologies

Key Points
Microsoft Visual Studio Team System 2008 supports Windows SharePoint Services 2.0 and 3.0 and Microsoft Office SharePoint Server 2007. You must install the Team Foundation Server SharePoint extensions to use SharePoint sites hosted on installations other than the application tier. Pointing to an existing instance of SharePoint allows the Team Project portal sites to participate in any existing backup and recovery program in place for the enterprise portal. Before specifying an existing installation, verify that it is configured correctly to work with Team Foundation Server.

Question: What is the port that you should use for SharePoint Products and Technologies?

Installing and Configuring Microsoft Team Foundation Server

1-19

MCT USE ONLY. STUDENT USE PROHIBITED

Verifying Installation of Microsoft SharePoint Products and Technologies

Key Points
Verify that the administration site, default Web site, and reporting site are running. Verify that the port numbers for SharePoint Products and Technologies and the SharePoint Central Administration site have been added to the firewall. Though you do not need to be able to access these ports from outside your external firewall, the ports must be open to the internal network. After you have verified your SharePoint installation, you can move forward with the rest of your Team Foundation Server installation.

Question: Can an installation of Microsoft Office SharePoint Server 2003 be used for the Team Foundation Server install?

1-20

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Considerations for Configuring Microsoft SQL Server for Team Foundation Server

Key Points
Configure authentication settings to support Windows Authentication. Supply answer files with Team Foundation Server media to simplify the installation of SQL server components. Deploy components into each tier. Install all the components into a single box if data and application tier are on the same box.

It is not necessary for all the components of SQL server to be installed on the data-tier server. SharePoint Server Reporting Services is an exception, which needs to be installed.

Question: Does using an answer file to install SQL Server have any advantages over simply walking through the installation wizard? If so, what are those advantages?

Installing and Configuring Microsoft Team Foundation Server

1-21

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Editing the SQL Server Installation Answer File

To edit the SQL server installation answer file: 1. 2. 3. 4. 5. From the root directory of the installation media for Team Foundation Server, copy the file SQL2005ForDT.ini to the local hard disk. Edit the answer file to update the account information. Edit the answer file to update the password information. To install to the default instance, continue to the next step without making further changes. To install to a named instance, change the line INSTANCENAME=MSSQLSERVER in the answer file to INSTANCENAME=<TFS SQL Instance Name>.

Question: Should the passwords be in clear text in the answer file?

1-22

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 4

Deploying Team Foundation Server

Even after you have installed the prerequisites for Team Foundation Server, that is, SQL Server and SharePoint Products and Technologies, you must still ensure that there will be no issues while installing Team Foundation Server. Microsoft Visual Studio Team System provides a setup wizard to simplify this process. Having verified the prerequisites, you can safely proceed with the Team Foundation Server installation.

Installing and Configuring Microsoft Team Foundation Server

1-23

MCT USE ONLY. STUDENT USE PROHIBITED

How Team Foundation Server Is Installed

Key Points
Log on to Windows by using the setup account. Run the setup file and start installation. Configure the Proxy and Build servers. For the Build server, additional components, programs, or dynamic link libraries (.dll) must be added manually.

Install Team Explorer by running Visual Studio 2008 Team Explorer Setup wizard.

Configuring the Proxy and Build servers and installing Team Explorer are optional steps.

Question: How long a duration should be allocated for a Team Foundation Server installation, including all of the prerequisites?

1-24

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Customizing Team Foundation Server Installation

To edit the SQL server installation answer file: 1. 2. 3. 4. Copy the contents of the installation media into a folder on a network drive. Open the appropriate msiproperty.ini file in a text-based editor. In the msiproperty.ini file, change the value of the property that you want to customize. Save the file and close the text-based editor.

Question: Why might you need to change the default installation of Team Foundation Server?

Installing and Configuring Microsoft Team Foundation Server

1-25

MCT USE ONLY. STUDENT USE PROHIBITED

Considerations for Upgrading Team Foundation Server

Key Points
Check the functioning of the Windows SharePoint Services and SQL Server Reporting Services. Record service accounts for team Foundation Server and SQL server. Remove mirroring of databases. Back up the databases for Team Foundation Server. Install the new versions of the components of Team Foundation Server after you upgrade to Team System 2008. Upgrade either to Windows SharePoint Services 3.0 or to Microsoft Office SharePoint Server 2007 to use the features in the newer versions of SharePoint Products and Technologies.

Question: When you uninstall Team Foundation Server 2005, you are given the option to delete all data stored in the database. Should you do so?

1-26

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

How to Verify a Team Foundation Server Install

Key Points
The simplest way to verify the successful installation of Team Foundation Server is to create a new team project. By creating a team project, you can verify that most of the critical services are working. You should run the Team Foundation Server Best Practices Analyzer after the installation. The Best Practice Analyzer finds subtle errors in your installation, such as incorrect permission settings, improperly configured services, and other critical problems.

Question: Why is it important to verify you have a correctly installed Team Foundation Server?

Installing and Configuring Microsoft Team Foundation Server

1-27

MCT USE ONLY. STUDENT USE PROHIBITED

How to Troubleshoot Team Foundation Server Installation

Key Points
Run the Team Foundation Server Best Practices Analyzer and check the installation log file. Install the Windows SharePoint Services Extensions for Team Foundation Server on the computer that is running SharePoint Products and Technologies. Ensure that collation settings are case insensitive and accent sensitive. If the documents and reports are unavailable in Team Explorer, you must add port 80 to the exception list for your firewall application. If you installed SharePoint Products and Technologies interactively and the Web browser cannot open the Configure Administrative Virtual Server page, you need to configure the component correctly.

Question: If you run the SQL Server with the answer file, is it likely youll have an incompatible SQL Server Collation setting?

1-28

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 5

Installing Team Foundation Server Components

After you have installed Team Foundation Server, the next step is to install other Team Foundation servers, such as Team Build and Team Foundation Server Proxy, and Team Foundation Server clients, such as Team Explorer and Team System Web Access.

Installing and Configuring Microsoft Team Foundation Server

1-29

MCT USE ONLY. STUDENT USE PROHIBITED

Team Build System Requirements

Key Points
Team Build works well on the client version of Operating System. A domain or workgroup account is required to run the Team Foundation Server build service. You need to set a firewall exception rule for the executable tfsbuildservice and port 9191 for .NET Remoting. Team Builds are requested by a user by triggering a Team Build on the application tier, which communicates with the build machine to request a new build. The build machine executes the build and drops it in a file share.

Question: What permissions does the build service require?

1-30

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

System Requirements for Team Foundation Server Proxy

Key Points
Standard configuration is used to support version control files for a remote team. Configuration of up to 2,200 users is used to support large teams in a dualserver configuration. Configuration of up to 2,200 and 3,600 users is used to support very large teams in a dual-server configuration. Proxy servers are very useful when a remote office has a relatively slow connection to the central Team Foundation Server location. However, it is necessary to have a reliable connection between the Team Foundation Server and the proxy server because the proxy server cannot work in a stand-alone capacity.

Question: Can the proxy be installed in the same domain as the Team Foundation Server?

Installing and Configuring Microsoft Team Foundation Server

1-31

MCT USE ONLY. STUDENT USE PROHIBITED

Checklist for Team Foundation Server Proxy Installation

Key Points
While installing Internet Information Services 6.0: Enable ASP.NET. Do not install FrontPage 2002 Server Extensions. Do not enable IIS 5.0 isolation option. Create a dedicated service account for the proxy to restrict permissions to the account to the very minimal security permissions required by the proxy account. Verify that .NET 2.0 is installed on the proxy computer for Team Foundation Server Proxy to run successfully. Install QFE KB925673 to keep your proxy server secure.

Question: Why should you use a dedicated service account for the proxy?

1-32

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Installing Team Explorer

Key Points
Team Explorer is used to access various services of Team Foundation Server. Team Explorer is used as a standalone rich client for accessing Team Foundation Server. Team Explorer helps users to join the software development life cycle with integrated support for items, such as source control, work item tracking. Team Explorer requires Microsoft Office to run properly and the language in Microsoft Office needs to be the same as that in Visual Studio. Team Explorer has pre-built integration with Visual Studio. Enable .NET integration prior to installing Team Explorer if you are using Office 2003 for work item integration,

Question: Should Team Explorer be installed on a server that is hosting Team System Web Access?

Installing and Configuring Microsoft Team Foundation Server

1-33

MCT USE ONLY. STUDENT USE PROHIBITED

What Is Team System Web Access?

Key Points
Team System Web Access is a customizable Web interface that is used to access Team Foundation Server project data. It provides most of the functionality of the Team Explorer client. It is a tool for interacting with Team Foundation Server using a Web browser. It is used to manage work items and generate reports to track status of a team project. Team System Web Access provides data access restrictions that ensure that people only see the data they are allowed to see. You can use the text search feature to search through various fields to quickly pinpoint the work item you are looking for.

Question: Can you check out code using Team System Web Access?

1-34

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Server Pre-requisites for Hosting Visual Studio Team System Web Access

Key Points
IIS 6.0 with ASP.NET or IIS 7.0 with ASP.NET 2.0, .NET Framework 2.0, and Visual Studio 2008 Team Explorer are the prerequisites for hosting Team Foundation Server Web Access. Clients who connect to Team Foundation Server installations through Team System Web Access should have a Web browser, compatible with Internet Explorer 6.0 or a later version installed on their computer. Install Team System Web Access on the same server as their application tier, unless the application tier is heavily utilized or resource constrained. You require access to the Team Foundation Server API for the Team System Web Access server to interact with Team Foundation Server.

Question: Can Team System Web Access be installed on the same machine as the Team Foundation Server application tier?

Installing and Configuring Microsoft Team Foundation Server

1-35

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Installing Visual Studio Team System Web Access

To install Team System Web Access: 1. 2. 3. 4. From the Microsoft Download Center, download the latest version of Team System Web Access. Begin the installation by running the TeamSystemWebAccess.msi file. Run File Download-Security and Internet Explorer-Security. On the Select Installation Folder page: 5. 6. Locate the directory location. Verify the existing and required disk space. Determine who will have the use of Team System Web Access on the installation computer.

Begin configuring the installation. On the Team System Web Access Configuration page, accept the default Install as a new Web site option and the default TCP Port number.

1-36

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

7.

On the Authentication Mode page, select the Use Integrated Windows Authentication option if you are installing Team System Web Access in the application-tier configuration. On the Local Cache Folder page, select the location. On the Review Installation Settings page, examine the configuration settings for correctness.

8. 9.

10. When the installation is finished, examine the installation logs, especially if there was an error or other failure during installation. 11. On the Summary page, note the address where users can access Team System Web Access, as displayed in the format: http://servername:port. 12. Click Finish when done. Question: What is the default port for Team System Web Access?

Installing and Configuring Microsoft Team Foundation Server

1-37

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 6

Monitoring Team Foundation Server Components

You can use a variety of options available in Window Server 2003, Microsoft SQL Server 2003, Microsoft SQL Server 2005, and .NET tracing, to monitor your Team Foundation Server deployment. In addition, Team Foundation Server provides a variety of performance counters for its various services. This lesson provides you with an overview of how to use these tools.

1-38

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Monitoring Team Foundation Server

Key Points
Team Foundation Server monitoring tools and options are used to monitor the Team Foundation Server deployment. Windows Event Viewer provides a record of the changes. Windows Event Viewer can be used to troubleshoot immediate problems or to look at the history and health of the server. Performance Viewer provides a set of performance counters that you can use to monitor the performance of your application and data tiers. You can also customize tools to monitor the usage and performance of Team Foundation Server. Users can configure monitoring for Team Explorer clients by enabling tracing.

Question: What performance counters might you want to monitor?

Installing and Configuring Microsoft Team Foundation Server

1-39

MCT USE ONLY. STUDENT USE PROHIBITED

Performance Counters for Team Foundation Server

Key Points
Team Foundation Server supports various performance counters. Performance counters can be used to view the real time data for the performance of Team Foundation Server. Reviewing performance data helps locate issues and troubleshoot problems. TFS Services provides several counters to assist in monitoring the activity of Team Foundation Server itself and TFS Proxy Server provides counters to help monitor the effectiveness of a Team Foundation Server Proxy installation. TFS Version Control provides counters to assist in monitoring the version control activity, while TFS WorkItem Tracking counters assist in monitoring the work item activity.

Question: What type of information is provided by the Team Foundation Server Version Control set of performance counters?

1-40

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Configuring Web Cache Size and Location

To configure the Web cache size and location: 1. 2. 3. 4. 5. Locate the proxy.config file in the proxy server installation folder. Open the Web.config file in Notepad or another Text Editor. Find the <appSettings> section. Discuss the various keys which control the caching that occurs. Restart IIS or the Team Foundation Server Web site.

Question: Why is it important to be able to change the location of the Web cache?

Installing and Configuring Microsoft Team Foundation Server

1-41

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Preventing Large File Attachment for Work Items

To set the maximum attachment size for work items: 1. Using Internet Explorer, access http://<tfsserver>:8080/WorkItemTracking/v1.0/ConfigurationSettingsSe rvice.asmx?op=SetMaxAttachmentSize. In the maxSize box, enter the maximum attachment size in bytes, and then click Invoke.

2.

Question: Why might you want to disallow large file attachments?

1-42

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Tracing in Team Foundation Server

Key Points
Each Team Foundation Server component is instrumented to provide additional information in a trace log when tracing is enabled. Users can enable and disable .NET tracing for Team Foundation Server components without having to stop or restart programs. Users should disable the tracing as soon as they can, and delete the trace log files when they are no longer needed. NET tracing significantly increases processor demands. Tracing output is saved to a trace log file and is available only in English. All the output to the trace log may not be useful to the Team Foundation Server administrator as each trace switch type provides different information.

Question: Can you set different levels of verbosity when enabling tracing in Team Foundation Server?

Installing and Configuring Microsoft Team Foundation Server

1-43

MCT USE ONLY. STUDENT USE PROHIBITED

Enabling Tracing with Team Foundation Server Web Services

Key Points
Setting the trace level to 4 is only recommended when detailed information is required for troubleshooting. For most cases, it is sufficient to keep the trace switch at 0 or 1.

Questions: 1. 2. Do you need to enable tracing for authentication and authorization separately? Can the trace log be hosted on a machine other than the TFS application tier?

1-44

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Lab 1: Installing and Verifying Team Foundation Server

Lab Objectives
Install Team Foundation Server. Verify the Team Foundation Server Installation.

Scenario
You are an enterprise administrator at Proseware Inc., a large company with geographically distributed teams. You need to install Team Foundation Server so that developers across a team developing new software can access information and work on the project. After you have installed Team Foundation Server, you have to verify if you can access all its services.
This lab provides the steps to install and verify Team Foundation Server. To perform the exercises in this lab, you will have to map the trial ISO file to the CD-ROM on TFS-Install VM. Since the installation may take more than two hours, there will be difficulty in

Installing and Configuring Microsoft Team Foundation Server

1-45

MCT USE ONLY. STUDENT USE PROHIBITED

completing the course within two days, this being a 2-day ILT. Therefore, this lab is optional and can be performed by the students on their own during their free time. Students can refer to the lab answer keys in the Course Companion CD.

1-46

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 1: Installing Team Foundation Server


Scenario
You need to install Team Foundation Server so that developers across a team developing new software can access information and work on the project. In this exercise students will go through an installation of Team Foundation Server and Team Explorer to gain experience with the installation process. The main tasks for this exercise are as follows: 1. 2. 3. 4. Set up the lab environment. Verify the SQL Server installation. Install Team Foundation Server. Install Team Explorer.

Task 1: Set up the lab environment


Launch 6215A-Proseware-DC1. After 6215A-Proseware-DC1 has fully launched, launch 6215A-Proseware-TFS-INSTALL. Log on to 6215A-Proseware- TFS-INSTALL with the relevant user name and password.

Task 2: Verify the SQL Server installation


From the Start menu, open SQL Configuration Manager. Click SQL Server 2005 Services, and verify that each service is running. Under SQL Server 2005 Network Configuration, click Protocols for MSSQLSERVER, and then verify that TCP/IP is enabled. To verify a connection to the server, from the Start menu, open SQL Server Management Studio. In the Connect to Server dialog box, verify that Database Engine is selected as the server type, and ensure that TFS08-INTALL is entered as the server name, and then click Connect. In Object Explorer, verify the connection.

Installing and Configuring Microsoft Team Foundation Server

1-47

MCT USE ONLY. STUDENT USE PROHIBITED

Task 3: Install Team Foundation Server


From the Start menu, click My Computer, and then double click the D drive. On the Team Foundation Server Setup page, select Team Foundation Server, and then click Install. Review the licensing terms and click Next. Accept the default destination folder and click Next. Verify that the name of the server has been entered, and then click Next. Address blocks and warnings before you continue setup. On the Team Foundation Server Service Account page, select Specify an account. Type the user account and password. On the Reporting Services Data Source Account page, select Specify an account. Type the account name and password. On the Windows SharePoint Services page, select Install and configure Windows SharePoint Services 3.0 on this computer, and then click Next. Select Use Team Foundation Server service account, and then click Next. On the Specify Alert Settings page, leave the default and click Next. On the Ready to Install page, review the components and settings. On the Installing Components page, monitor the installation of Team Foundation Server. On the Setup Completed Successfully page, verify that the installation is complete.

Task 4: Install Team Explorer


Log on to 6215A-Proseware-TFS-INSTALL. From the Start menu, click My Computer, and then double click the D drive. On the Team Foundation Server Setup page, select Team Explorer, and then click Install. In Team Explorer, click Install.

1-48

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Review the licensing terms and click Next. Accept the default destination folder and click Next. On the Ready to Install page, click Install. On the Installing Components page, monitor the installation of Team Foundation Server. On the Setup Completed Successfully page, click Finish.
Results: After this exercise, you should have successfully verified that SQL Server Services are working on your computer, and installed Team Foundation Server and Team Explorer.

Installing and Configuring Microsoft Team Foundation Server

1-49

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 2: Verifying the Team Foundation Server Installation


Scenario
Now that you have installed Team Foundation Server, you have to verify if you can access all its services. In this exercise, students will verify that the Reporting Services, SharePoint, and the Team Foundation Server are installed. The main tasks for this exercise are as follows: 1. 2. 3. 4. Verify the Reporting Services installation. Verify the SharePoint installation. Verify the Team Foundation Server installation. Close the virtual machine and discard changes.

Task 1: Verify the Reporting Services installation


Browse to http://TFS08/Reports. Connect to TFS08-INSTALL using your username and password. In the Internet Explorer dialog box, click Add. In the Trusted sites dialog box, click Add.

Task 2: Verify the SharePoint installation


From the Start menu, open SharePoint 3.0 Central Administration. Connect to TFS08-INSTALL using your username and password.

Task 3: Verify the Team Foundation Server installation


Launch Microsoft Visual Studio 2008. Connect to Team Foundation Server. In the Connect to Team Foundation Server dialog box, click OK.

1-50

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Task 4: Close the virtual machine and discard changes


Close the 6215A-Proseware--TFS-INSTALL window and select Turn off machine and discard changes in the Close dialog box. Similarly, close 6215A-Proseware-DC1. In the Lab Launcher, click Reset All to return the virtual machine to its default state.
Results: After this exercise, you should have successfully verified the functionality of a Team Foundation Server installation.

Installing and Configuring Microsoft Team Foundation Server

1-51

MCT USE ONLY. STUDENT USE PROHIBITED

Module Review and Takeaways

Review Questions
1. What will your requirements for current and future needs be when planning a Team Foundation Server deployment? You should be concerned with supporting a sufficient number of users, adequate response times, and reliability.

2. What are the features and functionalities that the Team Foundation Server components provide to support a software development team? The Team Foundation Server components provide enhanced communication, support multidisciplinary roles, track work status, enact team process, and integrate team tools. These features support the software development team.

1-52

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

3. What is the basic guideline to prevent problems while installing Team Foundation Server? You should make sure to completely follow every step in a Team Foundation Server install to ensure success and prevent time consuming problems.

4. Why is monitoring of Team Foundation Server important? Monitoring of Team Foundation Server is important to ensure system availability and allow for preventative maintenance.

Installing and Configuring Microsoft Team Foundation Server

1-53

MCT USE ONLY. STUDENT USE PROHIBITED

Common Issues Related to Installing and Configuring Team Foundation Server


Identify the causes for the following common issues related to installing and configuring Team Foundation Server and fill in the troubleshooting tips with more details. For more information, refer to relevant lessons in the module.
Issue Team Foundation Server deployment fails or takes an excessive amount of time. Troubleshooting tip

SharePoint Products and Technologies Configuration Wizard fails to run.

Excel and Project do not seem to have any integration with the Team Foundation Server.

Team System Web Access is installed on the Team Foundation Server application tier but it does not work.

1-54

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Real-world Issues and Scenarios


For hints and sample solutions for the following issues/scenarios, refer to the course homepage. 1. Many companies install Team Foundation Server in a virtual environment. Although this is not technically supported by Microsoft, it is a common practice that generally results in sufficient performance and straightforward maintenance. 2. Installing Team Foundation Server in a multi-tier configuration is a powerful way to increase performance. By adding redundancy, you can also increase your availability. However, think carefully before installing Team Foundation Server in a multi-tier configuration for a team smaller than 50 active users. Often, it results in increased administrative overhead without providing noticeable performance improvements.

Best Practices Related to Installing and Configuring Team Foundation Server


Supplement or modify the following best practices for your own work situations: Plan your installation carefully. Determine the right configuration prior to installing the production version. Although you can change the configurations after the installation, it is time consuming. Follow the installation guidelines very carefully. If you make a mistake anywhere during the installation, repave the machine and start from scratch if possible. After installation, download the latest Team Foundation Server Power Tools, and run the Best Practice Analyzer against the server. If you are doing a non-default Team Foundation Server installation, do not expect it to be successful the first time through. Allot sufficient time for multiple installs. Be sure to back up your WSS site before attempting an upgrade.

Administering Team Foundation Server Instances and Team Projects

2-1

MCT USE ONLY. STUDENT USE PROHIBITED

Module 02
Administering Team Foundation Server Instances and Team Projects
Contents:
Lesson 1: Managing a Team Foundation Server Instance Lesson 2: Managing Team Projects Lesson 3: Managing Security in Team Foundation Server Lesson 4: Managing Health and Availability Lesson 5: Managing Data-Tier and Application-Tier Servers Lesson 6: Managing Backup and Recovery Lab: Administering Team Foundation Server Instances and Team Projects 2-3 2-8 2-19 2-36 2-41 2-50 2-60

2-2

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Module Overview

Project managers, administrators, and developers using Team Foundation Server may face various challenges related to configuration errors, process changes, security breaches, and system failures. In this module, you will learn about the best practices and useful, preventive strategies that you can adopt in order to avoid these issues. Additionally, if these issues occur, you will also learn about methods for successfully tackling them so that they cause minimal damage to the project.

Administering Team Foundation Server Instances and Team Projects

2-3

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 1

Managing a Team Foundation Server Instance

Team Foundation Server deployment works best if the configuration has followed the recommended best practices. You may face issues in Team Foundation Server deployment if your settings differ from the default, recommended, or required settings. Microsoft Visual Studio Team System provides a tool called Best Practices Analyzer (BPA) to help you detect if your configuration is different from the recommended or required configuration. In this lesson, you will learn how to use the Best Practices Analyzer tool.

2-4

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Best Practices Analyzer (BPA)

Key Points
Using BPA regularly ensures that Team Foundation Server works in optimal state. The BPA tool analyzes settings in your systems to quickly identify problematic or sub-optimal configurations. Team Foundation Server BPA can be used in either a pre-installation or a production Team Foundation Server environment. A plug-in architecture is used in the BPA that allows you to install and extend the functionality of the tool by downloading a best practices analyzer "plug-in" and accompanying "rules" document.

Question: Why is it important to periodically run Best Practices Analyzer?

Administering Team Foundation Server Instances and Team Projects

2-5

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Using Team Foundation Server BPA

To use Team Foundation BPA: 1. 2. 3. 4. 5. Start Team Foundation BPA from the Start menu. Select the scan type. For scanning to prepare for Team Foundation installation, select Preinstall Check. Otherwise, choose Health Check. Select whether to perform the scan on the client or the server. Select Team Foundation Server Only. Click Start scanning to begin the scan.

Question: Can Best Practices Analyzer be used to analyze a Visual Studio 2008 client installation?

2-6

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Global ListFeatures

Key Points
Global list is a set of LISTITEM elements that is stored and used globally by all Team Foundation Servers. Global list enables you to share list items among multiple work item types by including the list items in one or more GLOBALLIST elements. It solves the problem of sharing fields across projects. Third party tools can also update a GLOBALLIST when necessary for interaction with their tools. You cannot have an empty global list because a GLOBALLIST element must have at least one LISTITEM element defined.

Question: Can a global list be restricted to a single team project?

Administering Team Foundation Server Instances and Team Projects

2-7

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Updating a Global List on a Team Foundation Server Instance

To update a global list on a Team Foundation Server instance: 1. 2. Open the Visual Studio 2008 Command Prompt window. Type the command, glimport /f <filename.xml> /t "< Team Foundation Server name>", to import the global list onto the Team Foundation Server, and then press ENTER. Type the command, glexport /f <filename.xml> /t "< Team Foundation Server name >", to display the global lists on the Team Foundation Server, and then press ENTER.

3.

Question: Can you use the Process Editor found in the Team Foundation Power Tools to update a Global List?

2-8

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 2

Managing Team Projects

Project managers and administrators are usually responsible for creating a new team project. As the project progresses, they may also have to tweak the project according to changing schedules, team structures, and processes followed. This lesson shows you how to manage team projects in Microsoft Visual Team System 2008.

Administering Team Foundation Server Instances and Team Projects

2-9

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Creating a Team Project

To create a new team project: 1. 2. 3. 4. 5. 6. 7. On the File menu, click New Team Project. On the Specify the Team Project Settings page, type a name for the team project and click Next. On the Select a Process Template page, select a process template. If you want to accept the default settings on the remaining wizard pages, click Finish. If you want to consider and select the remaining settings, click Next. On the Complete the Specify the Setting for the Project Portal page, provide the title and description of for the team project portal. If you want to accept the default settings on the remaining wizard pages, click Finish. If you want to consider and select the remaining settings, click Next. On the Complete the Specify Source Control Settings page, select one of these options: Create an empty source control folder.

2-10

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

8. 9.

Create a new source control branch. Do not create a source control folder at this time.

If you want to accept the current settings without reviewing them, click Finish. If you want to review the settings, click Next. On the Confirm Team Project Settings page, review the choices and values that you specified. If the information is correct, click Finish. Otherwise, click Previous to make changes.

10. The New Team Project wizard creates your new team project. Question: Do you need to have the Team Explorer installed to create a new team project?

Administering Team Foundation Server Instances and Team Projects

2-11

MCT USE ONLY. STUDENT USE PROHIBITED

What Are Check-In Policies and Notes?

Key Points
Check-in policy is enforced during the check-in process in the Check In and Pending Changes windows. Check-in is blocked is you attempt a check-in in violation of a policy. Check-in policies can be overridden. Check-in notes are used for capturing specific pieces of information during the check-in process. Check-in notes can be made mandatory. Check-in notes are presented to the user during the source control check-in process in the Check In and Pending Changes windows.

Question: How do check-in notes capture information?

2-12

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Configuring a Check-In Policy

To create a check-in policy: 1. 2. 3. From Team Explorer, right-click your team project, click Team Project Settings, and then click Source Control. In the Source Control Settings dialog box, click the Check-in Policy tab and then click Add. In the Check-in Policy list, select the policy type you want and then click OK.

To override a check-in policy during check-in: 1. 2. 3. 4. Perform a check-in. Click the Policy Warnings channel to view the policies in place for your team project. Check-in the items that are in violation of a set policy. Check Override policy failure and continue check-in.

Administering Team Foundation Server Instances and Team Projects

2-13

MCT USE ONLY. STUDENT USE PROHIBITED

5. 6.

In the Reason field, enter an explanation describing why you need to perform the check-in in violation of the set policy. Click OK.

Question: Can you prevent merging of particular file types?

2-14

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Adding Check-In Notes

To add check-in notes: 1. 2. 3. 4. 5. On the Team menu, click Team Project Settings, and then click Source Control. In the Source Control Settings dialog box, select the Check-in Notes tab, and click Add. In the Add Check-in Note dialog box, in the Title box, either type the desired name or select an existing check-in note from the drop-down list. If you want the note to be mandatory for check-ins, select the Required on check-ins option. Click Add, to return to the Check-in Notes tab in the Source Control Settings window with the new check-in note title added.

Question: What are the guidelines for creating check-in notes?

Administering Team Foundation Server Instances and Team Projects

2-15

MCT USE ONLY. STUDENT USE PROHIBITED

Adding Custom Check-In Policies

Key Points
You should first create and build a custom policy class, and then register the custom policy in the windows registry. After you have applied the custom policy, you need to validate it. A custom policy class is derived from the PolicyBase base class in the Microsoft.TeamFoundation.VersionControl.Client namespace. You should use Visual Studio to create a new class library project. You should replace your skeleton class code implementation with the relevant source.

Question: What happens during check-in if a custom check-in policy is enabled at the server but not at the client?

2-16

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Managing Alerts

Key Points
Alerts are notifications in e-mail that you receive when certain events occur in your team project. Alert subscriptions are stored on the server by team project. You can add different alerts for each team project that you have permission to open. You can add, edit or remove alerts. You can receive a notification via e-mail if you subscribe to alerts.

Question: Which other alerts would you be interested in?

Administering Team Foundation Server Instances and Team Projects

2-17

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Deleting a Team Project

To delete a team project: 1. 2. Open the Visual Studio 2008 Command Prompt window. Type command TfsDeleteProject /server:servername Project Name, where Project Name is the name of the project and servername is the name of the server.

Ensure that you want to delete the project before using the command.

Question: Why can you only delete a team project from the command-line?

2-18

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Document Management in Team Explorer

Key Points
Adding documents to a team project in Team Foundation Server makes Team Foundation Server the centralized store for all project related information, including documents. The document is stored in the SharePoint site so that people, who are not in the project, can access those documents through the Web. You can upload, rename, move, or delete a document.

Question: If you have read-only permissions on the project site, will you be able to upload new documents using Team Explorer?

Administering Team Foundation Server Instances and Team Projects

2-19

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 3

Managing Security in Team Foundation Server

Security concerns can range from compliance issues to illegal access of information due to the global nature of the project. Different roles in a project are usually given varying levels of access to project information. This lesson discusses how to manage user groups and permissions.

2-20

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Security Configuration Questions

Key Points
Team projects have unique permissions. You cannot set permissions globally that will apply to all team projects. Contributors should only have access to those team projects that they are directly involved in. While some organizations lump all their developers into one group and all testers into another, some others use a finer security group model.

Question: Can Active Directory groups be used by Team Foundation Server?

Administering Team Foundation Server Instances and Team Projects

2-21

MCT USE ONLY. STUDENT USE PROHIBITED

Groups in Team Foundation Server

Key Points
Default server-level groups also known as global groups are created when Team Foundation Server is installed. Customized groups can be created to give the team separate security permissions. Custom groups allow you to organize your team and give them separate security permissions. You can create additional groups if you have specific needs. Adding users to groups enable you to reduce the time spent on managing user permissions. You can use the global groups to control permissions for Team Foundation Server users.

Question: What custom groups might you create in your organization?

2-22

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Default Groups in Team Foundation Server

Key Points
Default groups can be used to control permissions for Team Foundation Server users. Default groups are created when Team Foundation Server is installed. In the standard edition of Team Foundation Server, you will only use the Team Foundation Administrators and the Team Foundation Service Accounts groups. In many cases, the default project level groups are sufficient to effectively manage a team; however, it is common to add custom project level groups. Team Foundation Valid Users group is simply the aggregation of the people from all other groups on Team Foundation Server.

Question: Can you add a user to the Team Foundation Valid Users group without adding them to any other group?

Administering Team Foundation Server Instances and Team Projects

2-23

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Managing Groups

To display group membership for server-level groups: 1. 2. 3. In Team Explorer, select the relevant Team Foundation Server. Select the relevant group, and then click Properties. Review the list of member users and groups displayed under the Member tab.

To add users to a group associated with a team project: 1. 2. 3. 4. 5. Select the team project that the group is in. From the Team menu, select Team Project Settings, and then click Group Membership. Select the default group to which you want to add users, and then click Properties. On the Members tab, under Add Member, select Windows User or Group, and then click Add. Enter the domain name and alias of the users who you want to add.

2-24

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

To remove a user from a project: 1. 2. 3. Connect to the Team Foundation Server for which you are removing a user. Right-click the project, select Team Project Settings, and then click Security. Remove the user who you want to remove from the Users and groups list.

To change permissions for a default server-level group: 1. 2. 3. Connect to the Team Foundation Server and go to Group Membership from the Team menu. Select the default group and review the list of selected permissions. For the appropriate permissions at the bottom of the dialog box, select or clear Allow or Deny as appropriate.

To create a server-level group: 1. 2. 3. Connect to the Team Foundation Server and go to Group Membership from the Team menu. In the Global Groups dialog box, click New. Type the name and description for the team project group.

To add users to a server-level group: 1. 2. Connect to the team project or Team Foundation Server that the group is in. On the Team menu, select Team Project Settings, and then click Group Membership, or, to add users to a server-level group, select Team Foundation Server Settings, and then click Group Membership. Select the group to which you want to add users, and then click Properties. On the Members tab, under Add Member, select Windows User or Group and click Add. Enter the domain name and alias of the users you want to add.

3. 4. 5.

To create a team project group:

Administering Team Foundation Server Instances and Team Projects

2-25

MCT USE ONLY. STUDENT USE PROHIBITED

1. 2. 3.

Select the team project and go to Group Membership from the Team menu. In the Project Groups dialog box, click New. Type the name and description for the team project group.

To add users to a team project group: 1. 2. 3. 4. Select the team project and go to Group Membership from the Team menu. Select the team project group you want to add users to, and then click Properties. On the Members tab, under Add Member, select Windows User or Group, and then click Add. Type the user you want to add.

Question: Can you create a server level group with the same name as a team project level custom group?

2-26

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Managing Users

Key Points
You can add, modify, and remove users to and from a Team Foundation Server. You should determine the users' roles and permissions. You have to set permissions when adding individual user accounts. You should consider adding users to Team Foundation Server groups instead of adding them individually. Group permissions are more easily managed than those for individual users as they consolidate permissions into an optimal set of well-defined roles. When you need to assign someone to a backup function, you may find it desirable to assign user permissions directly on the server or on a project.

Question: What are the advantages of using Active Directory to manage your groups?

Administering Team Foundation Server Instances and Team Projects

2-27

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Adding a User to Team Foundation Server

To add a user to a Team Foundation Server: 1. 2. 3. 4. 5. In Team Explorer, connect to the relevant Team Foundation Server. Right-click the Team Foundation Server, select Team Foundation Server Settings, and then click Security. Select Windows User or Group, and then click Add. Type the alias for the user or group that you want to add to Team Foundation Server, and then click OK. Select the permissions that you want to allow or deny the user or group that you are adding and click Close.

Question: Is the user added also a member of the Team System Valid Users group?

2-28

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Permission Levels and Settings

Key Points
You must add users and groups to Windows SharePoint Services and SQL Server Reporting Services and grant the appropriate permissions for those users or groups to function correctly across all Team Foundation Server operations. It is simpler to use Active Directory to organize users into role-based groups and then add each group to Team Foundation Server, Windows SharePoint Services, and SQL Server Reporting Services with the appropriate permissions. You can add users to Active Directory groups as needed without having to change the group membership or permissions within the three programs. You can customize the default settings provided by Team Foundation Server or even create your own permission settings on a server basis or project basis. If you want to view or interact with work items on a project basis, you need to set area-level permissions. Deny and Allow are the two explicit authorization settings for permissions in Team Foundation Server.

Administering Team Foundation Server Instances and Team Projects

2-29

MCT USE ONLY. STUDENT USE PROHIBITED

Questions: 1. 2. Will a tool that helps you manage permissions across the three different services be useful? What is the purpose of the Deny permission setting?

2-30

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Managing Team Foundation Server Permissions

To view server-level permissions: 1. In Team Explorer, right-click the server for which you want to view permissions, select Team Foundation Server Settings, and then click Security. In the Users and Groups pane, select the user or group for which you want to view permissions.

2.

To change permissions for a group or user: 1. In Team Explorer, select the team project that the group is in, or to change permissions for a server-level group, select the Team Foundation Server that the group is in. From the Team menu, select Team Project Settings, and then click Security, or to change permissions for a server-level group, select Team Foundation Server Settings, and then click Security.

2.

Administering Team Foundation Server Instances and Team Projects

2-31

MCT USE ONLY. STUDENT USE PROHIBITED

3. 4.

Select the group or user for which you want to change permissions. Under Permissions for group or user name, select the Allow or Deny permission.

Question: Why are permissions and group memberships managed separately?

2-32

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Updating the Team Foundation Server Service Accounts

To change the password for the service account for Reporting Services data sources: 1. On the application-tier server for Team Foundation, open the Visual Studio Command Prompt window, and change directories to the location of the TFSAdminUtil utility. At the command prompt, type TFSAdminUtil ChangeAccount /ra OldAccount NewAccount NewPassword, and then press ENTER.

2.

To change the password for the Team Foundation Server service account: 1. 2. On the Team Foundation application-tier server, from the command line, locate the TFSAdminUtil utility. At the command line, type TFSAdminUtil ChangePassword Account newPassword, and then press ENTER.

Administering Team Foundation Server Instances and Team Projects

2-33

MCT USE ONLY. STUDENT USE PROHIBITED

Questions: 1. 2. Must the TfsBuild account be added to any groups on the Team Foundation Server? What password expiration policies do you have at your organization? Do they also apply to service accounts?

2-34

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Determining the Account Used by the Team Foundation Server Application-Tier

To view Web Service application pools on the Team Foundation applicationtier server: 1. 2. 3. 4. From the Start menu, go to Computer Management. In the navigation pane, expand Services and Applications, open Internet Information Services, and then open Application Pools. For each application pool, right-click the application pool, and then click Properties. Click the Identity tab.

To view services on the Team Foundation application-tier server: 1. 2. From the Start menu, go to Computer Management. In the navigation pane, expand Services and Applications, and then open Services.

Administering Team Foundation Server Instances and Team Projects

2-35

MCT USE ONLY. STUDENT USE PROHIBITED

3.

Click the Log On As column header to sort the services by which account they run.

Question: Why is it important to know what identities your services are running under?

2-36

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 4

Managing Health and Availability

In this lesson, you will learn how to detect and minimize errors and defects in Team Foundation Server configurations. This is important considering some errors may be basic configuration errors that will affect the work of all project members.

Administering Team Foundation Server Instances and Team Projects

2-37

MCT USE ONLY. STUDENT USE PROHIBITED

Where Are Configurations Stored in Team Foundation Server?

Key Points
Team Foundation Server deployment might be as simple as a single server installation or as difficult as any other high-availability server product. Configuration information that is critical to the operation of Team Foundation Server will be present on all the computers. For easy management of Team Foundation Server, you should understand the specifics of the deployment and how it was configured. Determine when to perform specific operational tasks, based little on your deployment choices, but mostly on your business needs. You should also decide the frequency of performing operational tasks.

Question: What kind of operational tasks have you performed? How has it helped your team?

2-38

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Team Foundation Server Event Log

Key Points
Entries in the event log indicate errors, warnings, information, and audit messages. The Event Viewer can be used to view the warning and error events. You can use System Center Operation Manager to monitor the logs. Team Foundation uses four event log message typesError, Warning, Audit, and Information. You should be able to understand the impact of a state change and the action required to bring the system back to the normal state.

Question: Which event logs do Team Foundation Server and its services use?

Administering Team Foundation Server Instances and Team Projects

2-39

MCT USE ONLY. STUDENT USE PROHIBITED

Identifying Errors Related to IIS for Team Foundation Server

Key Points
Review the logs for errors. The logs are reviewed in Windows System Log and IIS Log. Ensure that no errors are logged in Windows System and IIS logs. Check for the configuration. Check if the values returned by entering vstfs in http://localhost:8080/Services/V1.0/Registration.asmx are correct. Ensure that the application pool is loaded.

Question: What type of information does the IIS log contain?

2-40

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Ensuring Team Foundation Server Functionality

Key Points
After restoring service, you should determine the cause of the problem. Root-cause analysis is the practice of searching for the source of problems to prevent them from recurring. Before trying to solve the problem, you should gather information about the problem and then isolate and eliminate variables. You should avoid common pitfalls and check technical information resources regularly. Ensure that you have isolated software issues and hardware problems to ensure Team Foundation Server functionality.

Question: What are some proactive measures you can take to keep Team Foundation Server running smoothly?

Administering Team Foundation Server Instances and Team Projects

2-41

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 5

Managing Data-Tier and Application-Tier Servers

In this lesson, you will learn about the course of action to be taken in the event of major failures in Team Foundation Server deployment. You will learn about preventive measures, such as mirroring and clustering, as well as corrective measures used to deal with the loss of time and data in such cases.

2-42

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Disaster Recovery Strategies

Key Points
Maintain backups of databases and use the backups to recover in a reasonable time. Keep the computer up-to-date to match it to the primary computer. Set up and maintain dedicated servers in a cluster. Consider a mirroring server if there are resources to set up and maintain a second Team Foundation data-tier server. Set up and maintain a computer as a warm stand by to decrease your recovery time for the services. Keep an update of the changes made to the user accounts and permissions.

Question: How often do you back up your SQL Server databases at your organization?

Administering Team Foundation Server Instances and Team Projects

2-43

MCT USE ONLY. STUDENT USE PROHIBITED

Considerations for Database Backups and Growth

Key Points
Careful consideration of factors, such as when to schedule backups, what data to back up, and how to store the backups will guide you in creating a backup plan that meets your organization's current needs. Regularly back up the data on the critical computers. You should opt for an automated backup system if critical computers require backup after working hours. Ensure that at least one backup is set at an offsite location. Choose to invest in integrated software and hardware backup systems. Test the integrity of your backups and also the backup logs for errors regularly.

Question: How often will you do a complete backup of the Team Foundation Server in your organization?

2-44

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Clustering the Data-Tier Server

Key Points
You can automatically start data-tier services on a second computer when they take the active computer offline for maintenance or if a failure occurs. Clustering is only supported for the data-tier server. Team Foundation Server uses a single quorum storage device and supports configuration of an active node and a passive node. The SQL server does not start operation in the other computer automatically, it takes some time to detect that the connections are restarted. By adding a resource to the cluster that explicitly restarts the application services, you can ensure more efficient connection between the data-tier and application-tier server.

Question: Why would an organization decide to implement database clustering?

Administering Team Foundation Server Instances and Team Projects

2-45

MCT USE ONLY. STUDENT USE PROHIBITED

Mirroring the Data-Tier Server

Key Points
Database mirroring enables you to synchronize your Team Foundation datatier server with a copy on another server. You can manually switch from one server to another. Database mirroring enables you to take the principal Team Foundation datatier server offline for updates or maintenance with minimal impact on the Team Foundation Server users. Mirroring the Team Foundation data-tier server ensures a quick recovery mechanism in the absence of Team Foundation data-tier server and also complements other recovery strategies. Database mirroring is not a replacement strategy for regular backups of Team Foundation data.

2-46

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Questions: 1. 2. How important is the Team Foundation Server availability at your organization? How long could your Team Foundation Server be offline without causing a serious delay in your software development process?

Administering Team Foundation Server Instances and Team Projects

2-47

MCT USE ONLY. STUDENT USE PROHIBITED

Standby Application-Tier ServerConsiderations

Key Points
The configuration for the standby and primary computer must match. Ensure that the standby computer meets the system requirements for Team Foundation Server. Update the warm standby computer periodically. Updates performed on the primary should be repeated on the warm standby. Configure network adapters that allow the client to use the same host name for both the primary and the standby application-tier computers.

Question: How important is a stand-by application tier to your organization?

2-48

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Configuring a Standby Application Tier

To configure a standby application-tier server: 1. 2. 3. 4. 5. 6. 7. Specify a virtual server name on the DNS. Configure network connections for dedicated IP addresses. Configure SQL Server Reporting Services Standard Edition. Configure SQL Server Reporting Services Enterprise Edition. Configure the primary computer to use the virtual server name. Configure the standby computer to use the virtual server name. Connect Team Explorer to the virtual server.

Question: Does the standby application tier need to have the same computer name as the active application tier computer?

Administering Team Foundation Server Instances and Team Projects

2-49

MCT USE ONLY. STUDENT USE PROHIBITED

Failure Detection and Activation of the Warm Standby Server

Key Points
Detect manually when to reset and activate the warm standby server in the event a failure occurs. The primary application-tier uses the virtual server name to connect to the data-tier server If the primary server fails, activate the warm standby server manually by using the utility command. The utility command starts the Web services, registers the computer name, connects the application-tier server with the data-tier server, and then verifies the connection. The original server should be taken off-line when the standby application-tier server is activated.

Question: What are some ways to detect an error in Team Foundation Server?

2-50

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 6

Managing Backup and Recovery

This lesson demonstrates backup and recovery strategies for Team Foundation Server. You will learn about backing up databases and reporting services and rebuilding the Data Warehouse.

Administering Team Foundation Server Instances and Team Projects

2-51

MCT USE ONLY. STUDENT USE PROHIBITED

Common Tasks for Managing Backup and Recovery for Team Foundation Server

Key Points
Ensure that you have stored your backups in a secure location. Do not store your backup files on the same server that you just backed up. Perform trial restorations of Team Foundation Server databases. Maintain data-backup and review data-backup storage and retrieval.

Question: Why is it important to do a trial restoration of Team Foundation Server?

2-52

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Considerations for Managing Backups and Restores for Team Foundation Server

Key Points
When restoring the data-tier server to another server, use the same data-tier name for the other server. To restore Team Foundation Server deployment, create backups for each location where data is stored. You can perform database backups manually or automatically by using maintenance plans. You can manually back up the Report Server encryption key using either the Report Services Configuration tool or a command-line tool.

Question: Does your organization have the capability to do machine level backups (including the OS and all installed software) or does it primarily rely on data backups?

Administering Team Foundation Server Instances and Team Projects

2-53

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Backing Up Team Foundation Databases with SQL Server Maintenance Plan

To create a maintenance plan: 1. 2. From the Start menu, open SQL Server Management Studio. Select Database Engine in the Server type field, and then select the correct Server name and Authentication scheme for the server. If your deployment of SQL Server requires it, provide a valid user name and password, and then click Connect. In SQL Server Management Studio, expand the Management node, rightclick Maintenance Plans, and then select Maintenance Plan Wizard. On the Maintenance Plan Wizard welcome page, click Next. On the Select Plan Properties page, type a name for the maintenance plan, click separate schedules for each task, and then click Next. On the Select Maintenance Tasks page, select the maintenance task or tasks you want to run, and then click Next. On the Select Maintenance Task Order page, click Next.

3. 4. 5. 6. 7.

2-54

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

8.

On the Define Back Up Database Task page, perform the following tasks: Select the databases that you want to back up. Select the schedule type, frequency, and task duration that best meet your operational needs.

9.

If you selected more than one maintenance task, you must complete the Define Back Up Database Task page for each maintenance task.

10. On the Select Report Options page, select the desired report distribution options. 11. Click Finish to complete creating the maintenance plan. Questions: 1. 2. Do you need to back up the Team Foundation Server database to ensure no data is lost during a Team Foundation Server failure? Do you use a third party solution for SQL Server backups?

Administering Team Foundation Server Instances and Team Projects

2-55

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Backing Up Reporting Services Encryption Keys

To back up the Report Server encryption key: 1. 2. 3. 4. 5. From the Start menu, open Reporting Services Configuration. Enter the data-tier computer name and database instance in the Reporting Server Installation Instance Selection dialog box. In the left navigation bar, click Encryption Keys, and then click Backup. In Encryption Key Information dialog box, type a password for the file, and then click Key File. Enter the file name for storing the Report Server encryption key, click OK, and then click OK in the Encryption Key Information dialog box.

Question: Is the SQL Server Reporting Services encryption key stored in a database table in SQL Server?

2-56

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Steps to Restore Team Foundation Server

Key Points
Consider test restorations frequently to ensure the integrity of the backups. The databases are the major component to restore. If possible, use the same data-tier name for the server you restore to. Windows SharePoint Services generates the Web sites from the databases and therefore, you do not have to restore both databases and the Web sites for the team project portal pages.

Question: How do you rebuild the data warehouse?

Administering Team Foundation Server Instances and Team Projects

2-57

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Rebuilding the Team Foundation Server Data Warehouse

To rebuild the Team Foundation Data warehouse: 1. 2. On the Team Foundation application-tier server, open the Visual studio Command Prompt window and locate the Team Foundation Tools directory. Build the data warehouse by typing the following commands: setupwarehouse -o -s DataTierServerName -d TFSWarehouse -c warehouseschema.xml -ra TFSReportAccount -a TFSServiceAccount -mturl http:// ApplicationTierServerName : Port. On the Team Foundation data-tier server, from the Start menu, open SQL Server Management Studio. Select Analysis Server for the Server type. Select the appropriate Server name and Authentication scheme for the server. Provide a valid username and password if it is required by your SQL Server, and then click Connect. Expand the Databases node to see the list of databases that make up the Team Foundation data-tier server. Right-click TFSWarehouse, and then click Process.

3. 4.

5. 6.

2-58

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

7.

In the Process Database dialog box, click OK to process the warehouse.

Question: When you rebuild the data warehouse, where does the information come from?

Administering Team Foundation Server Instances and Team Projects

2-59

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Deleting the Version Control Cache

To delete the version control cache: 1. Open Windows Explorer, and browse to the following directory: c:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Web Services\VersionControl. Delete the Data folder.

2.

Question: On what drive was the version control cache located? Can the cache be moved to another location?

2-60

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Lab 2: Administering Team Foundation Server Instances and Team Projects

Lab Objectives
Create a new team project. Create a new global list. Configure Team Foundation Server Security. Authorize access to a Team Foundation Server project. Modify SharePoint Services Security. Modify SQL Server Reporting Services Security.

Scenario
You are an enterprise administrator at Proseware Inc., a large company with geographically distributed teams. You need to share the team activities including key components of the project. You have to create a new team project using a

Administering Team Foundation Server Instances and Team Projects

2-61

MCT USE ONLY. STUDENT USE PROHIBITED

process template. Then, as you foresee that many field values for work items will continuously change as the project progresses, you have to create a global list. This will ensure that you do not have to edit each work item type definition separately. After this is done, you must assign permissions for the various roles in your project, and also configure security groups for these permissions.

2-62

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 1: Creating a New Team Project


Scenario
You are an enterprise administrator at Proseware Inc., a large company with geographically distributed teams. You need to share the team activities including key components of the project. Create a new team project using a process template. In this exercise students will create a team project and verify that the team project has been created. The main tasks for this exercise are as follows: 1. 2. 3. Set up the lab environment. Create a new team project. Verify team project creation.

Task 1: Set up the lab environment


Launch 6215A-Proseware-DC1. After 6215A-Proseware-DC1 has fully launched, launch 6215A-Proseware-TFS, and then 6215A-Proseware-CLI. Log on to 6215A-Proseware-CLI with the relevant user name and password.

Task 2: Create a new team project


Connect to Team Foundation Server in Visual Studio 2008. Right-click the server and click New Team Project. Name the team project. Select the required process template to create the project. Type a description for the team project Portal. Create an empty source control folder. Review the settings and click Finish.

Task 3: Verify team project creation


Find the newly created team project in Team Explorer.

Administering Team Foundation Server Instances and Team Projects

2-63

MCT USE ONLY. STUDENT USE PROHIBITED

Expand the Documents and Reports folders and ensure that there are items listed under them. Right-click the team project and click Show Project Portal to view the document libraries. Right-click Reports and click Show Report Site. In the Work Items folder, expand the Team Queries node and double-click All Work Items to view the default work items.
Results: After this exercise, you should have successfully created a team project and verified it in Team Explorer.

2-64

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 2: Creating a New Global List


Scenario
Certain fields in work items share the same set of values. These values need to be updated regularly as they change. To avoid this time-consuming task, you want to store these values in a list that is used globally. To facilitate editing of just the global list instead of having to edit the work item type definition, you need to create a global list. In this exercise, the students will create a global list using the Team Foundation Server 2008 Power Tools. The main task for this exercise is as follows: Create a new global list

Task 1: Create a new global list


Select the Process Editor tool to create a new global list. Type the name of the global list. Right-click the new global list and click New Item. Type a name for the new item. Add global lists and items.
Results: After this exercise, you should have successfully created a new Global List.

Administering Team Foundation Server Instances and Team Projects

2-65

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 3: Configuring Team Foundation Server Security


Scenario
After the project settings, such as work items, team activities, and team members have been defined, you need to assign permissions to team members, based on their role in the project. In order to simplify the management of permissions and security, you can assign permissions according to user groups, instead of individuals. In this exercise, the students will create a Team Foundation Server group, create a Windows group and add users to it, and then modify group membership to take the Windows group and give them project level permissions using best practices. The main tasks for this exercise are as follows: 1. 2. 3. Create a new Team Foundation Server Group. Add groups and users to a Team Foundation Server Security Group Add a server level group to a project level group.

Task 1: Create a new Team Foundation Server Group


At the command prompt, enter the required command to create a new server level security group. Enter the required command to provide permission to the group to administer the process templates. Confirm the results. Locate the newly created group and confirm that the Manage process template permission is set to Allow.

Task 2: Add groups and users to a Team Foundation Server Security


Group
In Team Explorer, right-click TFS08, select Team Foundation Server Settings, and then click Group Membership. Select the group and click Properties. Select the Windows User or Group option and click Add.

2-66

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

In the Select Users, Computers, or Groups dialog box, type the group name and click OK. Add the TFS Users group to the ProcessAdmin Team Foundation Server group.

Task 3: Add a server level group to a project level group


In Team Explorer, right-click FirstTeamProject, select Team Project Settings, and then click Group Membership. Select the Contributors group and click Properties. In the Team Foundation Server Group Properties dialog box, click Add. Select the group and click OK. Right-click FirstTeamProject, select Team Project Settings, and then click Security. In the Project Security dialog box, select Contributors, and then select the Allow check box for the Administer a Build permission.
Results: After this exercise, you should have successfully configured Team Foundation Server Security

Administering Team Foundation Server Instances and Team Projects

2-67

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 4: Authorizing Access to a Team Foundation Server Project


Scenario
As a system administrator at Proseware Inc., you want to simplify permissions management for the project. In order to do this, you have to configure security at various levels of the project hierarchy. In this exercise students will modify server level, project level, source control, and area and iteration security permissions which give an overview of the permission points that need to be managed within Team Foundation Server. The main tasks for this exercise are as follows: 1. 2. 3. 4. Configure server level security. Configure project level security. Configure source control security. Configure area and iteration security.

Task 1: Configure server level security


In Visual Studio 2008, in Team Explorer, right-click the server, select Team Foundation Server Settings, and then click Security. Select the required group. Allow permissions to create new projects.

Task 2: Configure project level security


In Team Explorer, right-click the project, select Team Project Settings, and then click Security. Select the required group. Allow permissions to edit the quality of the build.

Task 3: Configure source control security


In Team Explorer, under the team project folder, double-click Source Control.

2-68

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Right-click the tea, project, and click Properties. On the Security tab, select the required group. Allow permissions to check in changes of other users.

Task 4: Configure area and iteration security


In Team Explorer, right-click the team project, select Team Project Settings, and then click Areas and Iterations. To modify the root level area security permissions, click Security on the Area tab. Click the Add button and select the required group. Allow all permissions. To modify the root level area security permissions, click Security on the Area tab. Click the Add button and select the required group. Allow all permissions.
Results: After this exercise, you should have successfully authorized access to a Team Foundation Server project.

Administering Team Foundation Server Instances and Team Projects

2-69

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 5: Modifying SharePoint Services Security


Scenario
The team members for the FirstProject can now use SharePoint to make updates to the project. However, you must give them the required permission. You have to give the TFSUsers group authorization to access the FirstProject team project using SharePoint. In this exercise students will add a Windows group as SharePoint contributors as an example of managing SharePoint security permissions. The main task for this exercise is as follows: Add a Windows group as SharePoint contributors.

Task 1: Add a Windows group as SharePoint contributors.


In Visual Studio 2008, in Team Explorer, right-click the project, and then click Show Project Portal. On the portal site, click Site Actions, and then click Site Settings. Under Users and Permissions, click People and groups. Display the New menu, and then select Add Users. Add the group and verify the name of the group. Select the relevant check box to give appropriate permissions.
Results: After this exercise, you should have successfully modified SharePoint security permissions by adding a Windows group to the SharePoint contributor role.

2-70

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 6: Modifying SQL Server Reporting Services Security


Scenario
The scope of work for the team members of the FirstProject team project has been increased to include the Content Manager. You must make appropriate updates to the Team Foundation Server settings, so that they reflect the added roles of the Team Foundation Server Users group. In this exercise, the students will add a Windows group to the Reporting Services Content Manager role. The main tasks for this exercise are as follows: 1. 2. Add a Windows group to the Reporting Services Content Manager Role. Close the virtual machine and discard changes.

Task 1: Add a Windows group to the Reporting Services Content


Manager Role
In Visual Studio 2008, in Team Explorer, under the team project folder, rightclick Reports, and click Show Report Site. In the report site, click the Properties tab to view the project folder settings. Click the Security tab to view the folder permissions. Click Edit Item Security and apply security settings that are different from the inherited parent item. Click New Role Assignment. Type the group name, select the Content Manager check box, and click OK to finish modifying Reporting Services security.

Task 2: Close the virtual machine and discard changes


Close the 6215A-Proseware-CLI window and select Turn off machine and discard changes in the Close dialog box. Similarly, close 6215A-ProsewareTFS, and then 6215A-Proseware-DC1. In the Lab Launcher, click Reset All to return the virtual machine to its default state.

Administering Team Foundation Server Instances and Team Projects

2-71

MCT USE ONLY. STUDENT USE PROHIBITED

Results: After this exercise, you should have successfully modified Reporting Services security by adding a Windows group to the Content Manager role.

2-72

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Module Review and Takeaways

Review Questions
1. How does daily management of Team Foundation Server help you? Daily management of Team Foundation Server helps you in managing user permissions, creating custom alerts, and the timely creation and modification of projects.

2. What are the benefits of customizing the source control settings and applying check-in policies? By customizing the source control settings and applying check-in policies, you can help quality control your development and ensure a smooth efficient process.

Administering Team Foundation Server Instances and Team Projects

2-73

MCT USE ONLY. STUDENT USE PROHIBITED

3. What is the advantage of using groups for user permissions management? By using groups for user permissions management, you can simplify the work necessary to add, modify, and remove user permissions.

4. What are the considerations for maintaining a healthy server with maximum uptime? Regular monitoring of the event logs and a disaster recovery plan can help you maintain a healthy server with maximum uptime.

2-74

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Common Issues Related to Administering Team Foundation Server Instances and Team Projects
Identify the causes for the following common issues related to administering Team Foundation Server instances and team projects and fill in the troubleshooting tips with more details. For more information, refer to relevant lessons in the module.
Issue Custom check-in policies implemented for the team project are not being executed at the client. Troubleshooting tip

Your backup plan does not include the SQL Server Reporting Services encryption key.

Administering Team Foundation Server Instances and Team Projects

2-75

MCT USE ONLY. STUDENT USE PROHIBITED

Real-world Issues and Scenarios


1. Far too many organizations regularly back up their Team Foundation Server installations, but fail to validate the recovery operations. When a server fails, they end up struggling to recover Team Foundation Server, only to realize they forgot to back up a critical component, such as the SQL Server Reporting Services encryption key. 2. Team Foundation Server is surprisingly easy to administer. However, dont let this ease of administration lure you into a false sense of security. You must still have a backup and recovery strategy.

Best Practices Related to Administering Team Foundation Server Instances and Team Projects
Supplement or modify the following best practices for your own work situations: Plan your backup and recovery strategy carefully. Determine how much redundancy and availability you actually need. Developers can still do substantial coding work even when Team Foundation Server is down. Therefore, it often makes sense NOT to spend a substantial amount of money to achieve a five minute failover, when a two or three hour recovery would be sufficient. Use BisSubscribe.exe or a third party tool to manage your alerts. You can create much more tailored alerts than are provided from the UI. If possible, use Active Directory groups to assist in managing your Team Foundation Server security. As each individual must be added to three separate services, it makes it far easier to add these groups at one time, and then just add individuals to the Active Directory group.

MCT USE ONLY. STUDENT USE PROHIBITED

Administering and Customizing Process Templates

3-1

MCT USE ONLY. STUDENT USE PROHIBITED

Module 03
Administering and Customizing Process Templates
Contents:
Lesson 1: Managing Process Templates Lesson 2: Managing Process Guidance Lesson 3: Managing Team Projects Lesson 4: Creating Work Item Query Language (WIQL) Queries Lesson 5: Customizing Work Items Lab: Administering and Customizing Process Templates 3-3 3-12 3-20 3-27 3-31 3-40

3-2

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Module Overview

This module provides you with a broad understanding of Team Foundation Server administration and management of team projects using process templates. You will learn how to customize queries and work items.

Administering and Customizing Process Templates

3-3

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 1

Managing Process Templates

In this lesson, you will learn about the process template architecture. Process templates can be modified to define the security for the control of team project. However, certain considerations need to be kept in mind when modifying or uploading process templates.

3-4

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Selecting Process Templates

Key Points
Each template is based upon a different philosophical approach to software development. You can customize Microsoft Visual Studio Team System process templates to accommodate the chosen process or approach. The Team Foundation process template for Agile Software Development is optimally designed for small projects on a rapid delivery schedule. The Team Foundation process template for CMMI Process Improvement was created in the business world largely outside the software development culture for long-term success.

Questions: 1. 2. What is a default work item, in the context of a process template? Which third party process templates are available?

Administering and Customizing Process Templates

3-5

MCT USE ONLY. STUDENT USE PROHIBITED

Process Template Architecture

Key Points
Process template plug-ins, the New Team Project Wizard, and XML process definition files are the three key pieces to the process template architecture. Process template plug-ins run when a new team project is created and is provided with Visual Studio Team System. The New Team Project Wizard is used to create new team projects. The plugins installed determine the screens that are displayed in the wizard. XML process definition files are a set of XML files that define a set of tasks that must run to correctly configure a new team project for the process. A plug-in reads its corresponding XML process definition file to obtain the list of tasks that it needs to run.

Question: What is meant by a plug-ins area?

3-6

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Overview of Customizing Process Templates

Key Points
Customizing a process template helps define security for team project components. You can either customize for all new team projects or customize an existing team project. You have to change the process templates used by your team projects in order to customize all the new team projects. Customizing all new team projects will enable you to have the changes made in one location reflect in al the team projects. You can customize an existing team project in the same way that you change a process template.

Question: Can you modify the process template plug-ins for an existing project?

Administering and Customizing Process Templates

3-7

MCT USE ONLY. STUDENT USE PROHIBITED

Considerations When Uploading a Process Template

Key Points
A change in the XML or duplicate tagging can cause an error when trying to upload the process template. You should review the XML to determine the cause of the error. Ensure that all the appropriate files are in the correct folder locations and the path name is typed correctly. You must either be a local administrator or a SharePoint Administrator to be able to upload a process template. You must also have the View server-level information and Manage process template permissions set to Allow.

Question: Will Team Foundation Server allow you to upload invalid XML?

3-8

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Verifying a Process Template

Key Points
Even if the upload for the process template is completed successfully, it is advisable to verify the changes, work item types, and other process template details by creating a team project with the new process template. Creating a team project with the process template ensures that the outcomes are as expected. You should ensure that the changes that you have made to the process template are effective in Team Foundation Server. Work item type can be verified using the witimport command.

Question: Why should you create a new team project to verify that the process template changes were successful?

Administering and Customizing Process Templates

3-9

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Modifying Process Templates

To open Process Template Editor: 1. 2. 3. 4. 5. In Visual Studio 2008, ensure that a team project is selected in the Team Explorer window. From the Tools menu, select Process Editor. Select Work Item Types, and then click Open WIT from Server. Enter the name of your Team Foundation Server in the dialog box that is displayed. In the next dialog box, find and select the work item type you want to edit and click OK.

Question: How did you modify the process guidance? What technologies were used?

3-10

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Managing Process Templates

To download a process template: 1. 2. 3. Open Process Template Manager. Select the process template to download and click Download. Select a folder where the process template will be downloaded and save it.

To update a process template with new content: 1. 2. 3. 4. Open the location you specified for MSFWinBuild to output the new process guidance HTML files. Copy the Supporting Files folder. Open the \Windows SharePoint Service\Process Guidance folder in the folder where you downloaded the process template. Paste the Supporting Files folder into the Process Guidance folder.

Administering and Customizing Process Templates

3-11

MCT USE ONLY. STUDENT USE PROHIBITED

To upload a process template: 1. 2. 3. Open Process Template Manager. Upload the required process template. Select the folder that contains ProcessTemplate.xml and again click Upload.

To delete a process template 1. 2. Open Process Template Manager. Select the process template to delete, and click Delete.

Question: Can you delete a process template if you still have team projects that were created with that template?

3-12

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 2

Managing Process Guidance

Process guidance enhances team communication by providing details about the process to follow on a team project. There are both usual and alternative tools for the customization process.

Administering and Customizing Process Templates

3-13

MCT USE ONLY. STUDENT USE PROHIBITED

Overview of Process Guidance

Key Points
Process guidance documents the process to be followed by team members working on a team project. To enable the team members to find and display information for their respective team projects, the content is stored on the project portal. Process guidance can be customized. As you add new reports or change work item types, you can update the HTML content to reflect these changes. The directions provided by the process guidance helps team members follow a new process concept.

Question: Why is process guidance important for a development team?

3-14

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Process GuidanceCustomization

Key Points
Download the most recent version of the process guidance source XML files for the process you want to modify. Make your changes to the process guidance by editing the source XML files. Build HTML content using the MSFWinBuild tool, which enables you to prerender all the XML source content into HTML files. You can simultaneously make changes and view the changes in a browser to verify that they are correct. If you create or delete files during customization, update the manifest in wsstasks.xml to make sure that the correct process guidance files are installed when a new team project is created.

Question: What permissions are necessary to edit the process guidance for an existing team project?

Administering and Customizing Process Templates

3-15

MCT USE ONLY. STUDENT USE PROHIBITED

Tools for Customization

Key Points
A Microsoft InfoPath template is provided for easy edit of the XML files. You must use an XML or XSL editor to modify the files that contain customizable XML content. The MSFWinBuild tool builds a set of HTML files that represent all the possible views of the XML source. It is quicker to load and display HTML files than querying the XML source because the HTML files are pre-rendered.

Question: Where can you find the MSFWinBuild tool?

3-16

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Sections in Process Guidance

Key Points
The easiest way to update the XML source files is to use Microsoft InfoPath and the provided Microsoft InfoPath template. Content item, bullet menu, glossary, and image menu are the views available. These views organize the content to make it easier to work with specific sections of the content. Content item view displays content items, while the Bullet menu view displays the descriptions shared by the index and Roles views. Glossary view displays glossary terms and definitions and the Image menu view displays a mapping between images and their file locations.

Questions: 1. 2. Why is InfoPath useful for editing XML? What is a WorkStream?

Administering and Customizing Process Templates

3-17

MCT USE ONLY. STUDENT USE PROHIBITED

Typical Administrator Tasks for Process Guidance

Key Points
If you add new Roles, RoleGroups, HowTos, HowToProcedures, or WorkProducts to the process template, you should also add them to the process guidance. In the process guidance, you should include descriptions of how they should be used in their software development process. To add a Role to a RoleGroup: In Microsoft InfoPath, open General.xml and select the RoleGroup that contains your Role. Create a Part section if one does not already exist. Set the Part Type field to Role. Type the name of the Role, and then type an ordinal number Select or clear the Is Required field according to your requirement and save the changes.

3-18

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Questions: 1. 2. 3. How do you add a new Activity to a WorkStream? Why should steps be distinct and descriptive? What types of Roles will your organization use?

Administering and Customizing Process Templates

3-19

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Building HTML Content Pages

To build HTML content pages: 1. 2. 3. 4. 5. Browse to C:\Guidance\MSF for Agile Software Development. Open the MSFAgileParams.xml in Notepad or another text editor and briefly discuss the parameters. Open the Visual Studio Command Prompt window. Change directories to C:\Program Files\MSFWinBuild\bin\Debug. Type the following command to build the process guidance html content pages: MSFWinBuild.exe "C:\Guidance\MSF for Agile Software Development\MSFAgileParams.xml Question: Why should you create HTML content from the source XML files?

3-20

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 3

Managing Team Projects

This lesson will make you aware of the administrator considerations and discuss the importance of process templates in managing team projects. Process template helps define the team project behavior. Reporting tools can be used to customize reports and also edit reports.

Administering and Customizing Process Templates

3-21

MCT USE ONLY. STUDENT USE PROHIBITED

Administrator Considerations

Key Points
The choice of process and the process template should be based on the business needs of the organization. You should understand how the choice of process affects the Team Foundation Server deployment and operation. As a Team Foundation Server administrator, you do not always have the authority of making process choice decisions as you will be more concerned with implementing the process choices that are made. Make note of the recommendations made by Microsoft for monitoring and managing team project limits and related data.

Question: What other technologies will you need to administer to effectively manage the assets used by your development team?

3-22

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Security Groups, Roles, and Permissions for the Team

Key Points
Permissions assigned are default and can be customized to meet business needs. You should set up custom groups for custom permissions. Project Administrators, Contributors, Readers, and Build Services are the groups that exist at the project level. Team Foundation Administrators and Team Foundation Valid Users are the server level groups. Project administrators can administer all aspects of the project, but cannot create a new project. Contributors can perform tasks such as add, modify, or delete codes.

Question: Can permissions granted at the global level be overridden at the team project level?

Administering and Customizing Process Templates

3-23

MCT USE ONLY. STUDENT USE PROHIBITED

Reporting Tools

Key Points
Any tool that can connect to a SQL Server database can be used to create reports. You should decide which tool can help you best to create and manage reports. SQL Server Report Designer can be used for more advanced report design and report management features. The warehouse provides two sources of data for the reportan analysis services database and a relational database. In certain cases, you can even use a work item query to create a report. After you have created the report, you can manage permissions and properties of the report.

Question: What is the difference between the TfsWarehouse stored in the relational database and TfsWarehouse stored in Analysis Services?

3-24

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Editing an Excel Report

To change a report in Team Explorer: 1. 2. 3. 4. In Team Explorer, expand the team project node, and then expand the Documents node. Right-click the Microsoft Excel workbook that you want to change, and then click Edit. Click the PivotTable cells. Make the changes that you want and save it.

Question: If you want to share the reports created in Excel with other team members, where is a good place to save the Excel file?

Administering and Customizing Process Templates

3-25

MCT USE ONLY. STUDENT USE PROHIBITED

Integrating with Microsoft Project

Key Points
A mapping file specifies how the fields in each task are mapped to the fields in Team Foundation. It also controls the publishing behavior, and designates special fields that display additional information, such as the context field. You can change the fields in Team Foundation Server to map to the Microsoft Project fields. You can also control if fields are only published or both published and refreshed.

Question: Can you modify the Team Foundation Server project mappings in an existing team project?

3-26

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Change project mapping

To change how work item fields are mapped to Microsoft Project: 1. 2. Download the mapping file and open it. Add new mappings or edit existing mappings in the following format: <Mapping WorkItemTrackingFieldReferenceName="fieldname" ProjectField="projectfield" ProjectName="user friendly name" /> 3. Designate which Microsoft Project field is the synchronization field by using the following syntax: <SyncField ProjectField="" /> 4. Save the mapping file and upload the file to the team project you want to modify.

Question: What types of mappings are you familiar with?

Administering and Customizing Process Templates

3-27

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 4

Creating Work Item Query Language (WIQL) Queries

WIQL is used to search for work items in a team project. You can also write WIQL queries or add new work item queries to your team project.

3-28

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

How to Locate Work Items

Key Points
You can use searches or queries to locate work items in your team project. Team Queries and My Queries are the two types of queries you can use in Team Foundation Server. Team queries are available to everyone in the team project, but can only be modified by those people who have the required permissions. Work item queries are stored in the Team Foundation Server database for the team project. You can target your search by looking for specific values in the fields on the work item form using query clauses. You can save a query to a file, and then copy or mail the query to anyone with access to Team Foundation Server and the team project.

Question: What capabilities does WIQL have that are not available in SQL?

Administering and Customizing Process Templates

3-29

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Writing WIQL Queries

To add new work item queries to your team project: 1. 2. 3. 4. Open your team project, expand the Work Items node, and then select Team Queries or My Queries. On the Team menu, click Add Query. Choose Click here to add a clause to add a new clause to your query. Click each column in the query clause to fill in the clause. If a column has a list of accepted values, a drop-down arrow appears when the column is selected. Click the drop-down arrow to select from the list. Repeat steps 3 and 4 to add all of the values for which you want to search. Finally, run the query.

5. 6.

Question: What queries are people in your organization likely to create?

3-30

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

WIQL and Team Foundation Server Security

Key Points
The Work Item Query Language (WIQL) is a SQL-like language that is used to query programmatically for work items against the work item object model. Considering that you are performing the query, only those items that you have permission to see will be returned in the work item query. The information returned by the query depends on your security permissions. Ensure that you have access to all team projects that you are planning to query information from. WIQL can be used to build queries that are more complex than the ones supported in the query builder user interface of Team Explorer.

Question: How do you secure work items?

Administering and Customizing Process Templates

3-31

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 5

Customizing Work Items

Work items help track projects as each work item is assigned to a single user. It plays a pivotal role in enhancing the progress of a team project.

3-32

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

How Are Projects Tracked and Audited

Key Points
Projects are tracked with the help of work items. Work items provide information about the status of the project and each work item is assigned to a single person. Any change in the status of the project is recorded in the work item database. You can customize the display of your query results so that selected columns are displayed when you run queries for work items. Work item information is available through Team Explorer, Reports, and Team Foundation Server Web Access.

Question: Does Microsoft Project allow a single task to more than one person?

Administering and Customizing Process Templates

3-33

MCT USE ONLY. STUDENT USE PROHIBITED

Work Item Types and Work Items

Key Points
Work items are items such as bugs, requirements, tasks, and risks that are used by the enterprise software development teams to manage their work. The work item is a fundamental object in Visual Studio Team System and can be of different types. Work item types and their corresponding work items are organized under team projects and all this information is stored in a single Team Foundation Server. A work item type defines the data that is collected for a work item. Work item types differ according to the process template used in your team project.

Question: What is the difference between a work item type and a work item?

3-34

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Creating a Work Item Type

To create a new work item type: 1. 2. 3. In Visual Studio, open a new file. Under Categories, select General, and under Templates, select XML File. If you are creating a work item type to customize a process template, move to the location where you downloaded the process template and save your file in the \WorkItem Tracking\TypeDefinitions folder.

Question: Is it easier to customize an existing work item type or to create one from scratch?

Administering and Customizing Process Templates

3-35

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Editing Work Item Types for an Existing Project

To export a work item type: 1. 2. Open the Visual Studio Command Prompt window. Type the following, and then press ENTER: witexport /f " File Path " /t " Team Foundation Server name " /p " Team Project name " /n " Work Item Type name "

To import the changed work item type into the Team Foundation Server: 1. At the command prompt, type the following, and then press ENTER: witimport /f " File Path " /t " Team Foundation Server name " /p " Team Project name " Question: How often should you change the work item type definition for an existing team project?

3-36

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Reportable Attribute Values

Key Points
Fields are used by work item forms to display data. Work item forms control the appearance and behavior of fields on work item forms by defining those fields in the work item type definition. You must specify the reportable attribute for a newly defined field to be able to export the field data to the data warehouse. You can specify an optional attribute, reportable, for fields that should be used for reporting by using the work item type definition language. While you can use the dimension and detail type for Integer, Double, String, or DateTime fields, you can use the measure type only for Integer and Double fields.

Question: What is the difference between a measure and a dimension?

Administering and Customizing Process Templates

3-37

MCT USE ONLY. STUDENT USE PROHIBITED

Customization of Work Item Type Workflow

Key Points
Workflow governs the states and transitions that are allowed throughout the life of a work item. The workflow also determines the legal transitions between these states and the users or groups who have permission to perform these transitions. You can control the workflow of a work item by defining its initial state, valid states, the legal transitions between those states, and the users or groups who have permission to perform those transitions. Workflow can be extended to fit the team structure and processes.

Question: Does the workflow engine in Team Foundation Server use the Windows Workflow Foundation?

3-38

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

States and Transitions for Work Items

Key Points
Transition actions are optional. If the current state of the work item instance has an action entry for the specified action, it returns the "to" state. If not, the return value is Null. Though you cannot specify multiple "to" states for the same work item, multiple actions are supported on the same transition. You can only use English characters for action names. To avoid action name conflicts between vendors and customers, names should follow the same reference namespace convention as field reference names. Reasons identify the reason for changing a work item from one state to another. Note that every transition must define at least one reason.

Question: Do you need to have a defined initial state, or can you set up your work items to allow the user to select the initial state during work item creation?

Administering and Customizing Process Templates

3-39

MCT USE ONLY. STUDENT USE PROHIBITED

Scoping Field Rules by State, Transition, or Reason

Key Points
Field rules are used to determine work item type behavior. Rules can be used to automate some workflow with work items in Team Foundation Server. You can apply work item type-specific rules regardless of the location of a work item in its state model. You can apply state-specific rules to a work item instance when it is in a certain state. Transition specific-rules apply to those work items that are undergoing a certain transition. You can apply reason-specific rules to a particular reason on a particular transition.

Question: Which of these scopes is the most expansive?

3-40

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Lab 3: Administering and Customizing Process Templates

Lab Objectives
Explore an existing process template. Customize a process template. Customize work item types.

Scenario
As a project manager in Proseware Inc, you have just had Team Foundation Server installed on your machine. You are now exploring the various process templates available in Microsoft Visual Studio Team System to see how you can apply them to fulfill your requirements. After you have explored the process templates, you have to customize a process template so that it suits the requirements of your project. While customizing the project, if you predict the possibility that certain errors might be frequently repeated, you have to assign these possible bugs as work items.

Administering and Customizing Process Templates

3-41

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 1: Exploring an Existing Process Template


Scenario
As a project manager in Proseware Inc, you have just had Team Foundation Server installed on your machine. You are now exploring the various process templates available in Microsoft Visual Studio Team System to see how you can apply them to fulfill your requirements. In this exercise, the students will go through the process of downloading and exploring a process template in order to gain familiarity with the details behind process templates and how they work, as well as the two different views for making modifications. The main tasks for this exercise are as follows: 1. 2. 3. 4. Set up the lab environment. Download the Agile process template. Explore the process template XML files. Explore the process template through the Process Template Editor.

Task 1: Set up the lab environment


Launch 6215A-Proseware-DC1. After 6215A-Proseware-DC1 has fully launched, launch 6215A-Proseware-TFS, and then 6215A-Proseware-CLI. Log on to 6215A-Proseware-CLI with the relevant user name and password.

Task 2: Download the Agile process template


Launch Visual Studio 2008. Connect to Team Foundation Server. In Team Explorer, right-click the server, select Team Foundation Server Settings, and then click Process Template Manager. Select a process template to download it. Save the template.

3-42

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Task 3: Explore the process template XML files


Open the raw xml file. Browse to the appropriate folder to view the work item type definitions.

Task 4: Explore the process template through the Process Template


Editor
Browse to the appropriate folder and open the file with Process Template Editor. Familiarize yourself with the Process Template Editor.
Results: After this exercise, you should have a basic understanding of process templates within Team Foundation Server as well as familiarization with the tools that can be used to edit the process template files.

Administering and Customizing Process Templates

3-43

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 2: Customizing a Process Template


Scenario
Now that you have explored the structure of process templates in Microsoft Visual Studio Team System, you will customize a process template for your requirements. You will define the default areas and iterations, and add a check-in note. In this exercise the students will go through the process of customizing a process template by editing the xml files directly, as well as through the Process Template Editor GUI. The main tasks for this exercise are as follows: 1. 2. 3. 4. Edit the process template title and description. Add a new check-in note. Add default areas and iterations. Verify the process template changes.

Task 1: Edit the process template title and description


Download a new copy of the process template. Open the ProcessTemplate.xml file. Find the xml tag and change the name of the process template. Change the content of the <description> tag. Save and close the file.

Task 2: Add a new check-in note


Open the VersionControl.xml file. Add the required line after the tags starting with <checkin_note. Save and close the file.

Task 3: Add default areas and iterations


Open the ProcessTemplate.xml file. In the Methodology Detail section, verify the name and description changes.

3-44

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Verify the additional check-in note. Under Areas and Iterations, on the Areas tab, create a new node and give it an appropriate title. On the Iterations tab, create a new node and give it an appropriate title. Save and close the file.

Task 4: Verify the process template changes


Open the Process Template Manager. Upload the process template. In Team Explorer, right-click the server, and select New Team Project. On the Specify the Team Project Settings page, name the team project. On the Select a Process Template page, select the newly created process template. On the Specify the Settings for the Project Portal page, type a description for the team project portal. On the Specify Source Control Settings page, leave the default for source control settings. On the Confirm Team Project Settings page, review the settings, and click Finish to start creating the team project.
Results: After this exercise, you should have a clear understanding of how to edit a process template, and then verify the changes.

Administering and Customizing Process Templates

3-45

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 3: Customizing Work Item Types


Scenario
As a project manager for a new software development project, you have predicted the possibility of certain defects in the developed code, and want to take measures to minimize the time lost in fixing these. Work item type customization is where the most complicated and time consuming customization with process templates takes place. However, assigning these bugs as work items will help you pre-define the action to be taken in the event of these bugs. In this exercise, the students will customize the Bug work item type through the command line and a text editor, as well as the Process Template Editor GUI. The main tasks for this exercise are as follows: 1. 2. 3. Add a new field to the Bug work item. Add a bug to the newly created field on the Bug work item. Close the virtual machine and discard changes.

Task 1: Add a new field to the Bug work item


Export the xml definition of the Bug work item type using the witexport command. Browse to the C drive and open the xml file. Add the required line after the </FIELDS> tag. Add the required line after the Microsoft.VSTS.Common.Rank field. Save and close the file. Import the edited xml definition for the Bug work item type to the server using the witimport command. Refresh ProcessTemplateProject to get the updated Bug definition on the client machine. Add a new Bug work item type to see that the new field has been added.

Task 2: Add a bug to the newly created field on the Bug work item
From the Tools menu, select Process Editor, select Work Item Types, and click Open WIT from File.

3-46

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Open the file. In the list of fields, find the CourseRating field. Open the field. Click the Rules tab and then click New. Select ALLOWEDVALUES and click OK. In the ALLOWEDVALUES dialog box, click New, and then enter the values in the List Item field. To verify the added allowed values, click the Layout tab and then click Preview Form. View the transition from Active to Resolved on the Workflow tab. In the Workflow Transition dialog box, click the Fields tab and then click New. In the RefName drop-down list, find and select the Course.CourseRating field. In the Rules tab, click New and select REQUIRED. Save the file. From the Tools menu, select Process Editor, select Work Item Types, and click Import WIT. Open the file. From the list of projects, select the relevant project and import it. Refresh the project to get the latest bug definition. Create a new bug work item. Name the bug and save it. Under the Status section, change the State field. Choose a value from the Course rating drop-down box, and then save the bug.

Task 3: Close the virtual machine and discard changes


Close the 6215A-Proseware-CLI window and select Turn off machine and discard changes in the Close dialog box. Similarly, close 6215A-ProsewareTFS, and then 6215A-Proseware-DC1. In the Lab Launcher, click Reset All to return the virtual machine to its default state.

Administering and Customizing Process Templates

3-47

MCT USE ONLY. STUDENT USE PROHIBITED

Results: After this exercise, you should have successfully added a field to a Bug work item type.

3-48

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Module Review and Takeaways

Review Questions
1. How do process templates help in the development process of the team project? Regular monitoring of the event logs and a disaster recovery plan can help you maintain a healthy server with maximum uptime.

2. What are the benefits of using process guidance? Up-to-date process guidance gives you a rich portal of information and documentation for new members of your team, or updates for the whole team for changes to your process.

Administering and Customizing Process Templates

3-49

MCT USE ONLY. STUDENT USE PROHIBITED

3. What are the tools used for customization? How do these tools help in managing software development? Team Foundation Server integrates with both Microsoft Excel and Microsoft Project to give you flexible tools to manage software development. While the Process Template Editor is the primary tool, there are alternate tools, such as Microsoft Office InfoPath 2003 with SP1, XML editor, and MSFWinBuild that are used to customize the process guidance files. By customizing these files, you can help define security for team project control, source code control check-in notes, or new work item types and queries.

4. What is the importance of work items in team project? Work items can be customized to meet your needs and track the information that is important to your business. New work items can be created to fill a unique workflow or business need.

3-50

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Common Issues Related to Administering and Customizing Process Templates


Identify the causes for the following common issues related to administering and customizing process templates and fill in the troubleshooting tips with more details. For more information, refer to relevant lessons in the module.
Issue Team members are always missing tasks and other work items. Troubleshooting tip

Any changes to the process guidance end up having to be replicated independently across multiple team projects.

Administering and Customizing Process Templates

3-51

MCT USE ONLY. STUDENT USE PROHIBITED

Real-world Issues and Scenarios


1. Process guidance is more difficult to change than the process itself. Many teams decide not to modify the process guidance at all. However, this ends up being problematic. When modifying a process template, spend time to also modify the process guidance, especially if your team adds new developers regularly. 2. Many organizations learn about the powerful state transition security options that are available in Team Foundation Server and implement highly restrictive and very complex state transition security requirements. In the end, this ends up slowing development when someone needs to get the right permission to do their job effectively. Instead, realize that every state transition is logged, and is auditable. This allows you to use a loose enforcement of the process as opposed to a heavy, regulator approach.

Best Practices Related to Administering and Customizing Process Templates


Supplement or modify the following best practices for your own work situations: Create your own WIQL queries. Share them, when appropriate, with the entire team. Creating custom WIQL queries is easy, powerful, and allows you to get specific information you are looking for quickly. At the end of every iteration, conduct a retrospective. During this meeting, determine what went well, and what changes to the process could help improve things for the next iteration. Use this information to make appropriate changes to the process guidance. Keep your security as simple and non-restrictive as possible. It allows the team members to operate more smoothly.

MCT USE ONLY. STUDENT USE PROHIBITED

Administering Team Foundation Server Version Control

4-1

MCT USE ONLY. STUDENT USE PROHIBITED

Module 04
Administering Team Foundation Server Version Control
Contents:
Lesson 1: Managing Team Foundation Server Version Control Lesson 2: Managing Team Foundation Proxy Server Lesson 3: Advanced Functionality of Version Control Lesson 4: Migrating Team Foundation Server Version Control Lab: Administering Team Foundation Server Version Control 4-3 4-15 4-18 4-25 4-34

4-2

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Module Overview

This module provides you with a broad understanding of how to work with Team Foundation Server Version Control. You will learn how to manage the proxy server and how to resolve differences in files and folders. You will be familiarized with the Team Foundation Server version control best practices. You will also gain knowledge on migrating data from one server to another.

Administering Team Foundation Server Version Control

4-3

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 1

Managing Team Foundation Server Version Control

In this lesson, you will learn about the features of Microsoft Team Foundation Server Version Control and how to manage workspaces. You will also be made aware of your responsibilities.

4-4

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Team Foundation Server Version Control Features

Key Points
Team Foundation version control can be used to manage multiple revisions of the same information that is being worked on by the team. Contributors and administrators are the two primary types of roles that use Team Foundation version control. A contributor can use Team Foundation version control to add, delete, or modify files, and even compare or merge them. A manager maintains the integrity of data stored on the server. As an administrator, it is your responsibility to manage the workgroups, permissions, setup, and check-in policies. Using version control, you can configure the version control environment settings.

Question: What version control systems have you worked with in the past? What have been their strengths and weaknesses?

Administering Team Foundation Server Version Control

4-5

MCT USE ONLY. STUDENT USE PROHIBITED

What Are Changesets?

Key Points
Team Foundation Server stores files, folders, or work items related to a single check-in operation in the changeset. When you check in a set of pending changes, a new changeset is created in the source control server. Team Foundation creates a new changeset in the source control server and assigns it a unique changeset number, which increase sequentially. No two changesets may have the same date or time of check-in. Changesets represent particular points in time for the state of the server.

Question: Why is it critically important to have all changes related to a single check-in be grouped together into a single changeset?

4-6

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Managing Workspaces at the Client

Key Points
Workspace is a client-side folder that is mapped to a version-controlled folder on the Team Foundation Server. Team Foundation Server stores information about the list of all the files in the folders, the version of these files, and the list of pending changes. You can add, edit, delete, move, rename, or otherwise change the versioncontrolled items in the local working folders for your workspace without affecting the server source control folder. The check-in operation registers the update and makes the update available to other members of the team. When you map a local folder to a Team Foundation version control folder, all its current and future subfolders are mapped implicitly.

Question: Does the server or the client keep track of what versions of the files are checked out by the client?

Administering Team Foundation Server Version Control

4-7

MCT USE ONLY. STUDENT USE PROHIBITED

Managing Workspaces at the Server

Key Points
Workspace mappings are kept indefinitely at the server unless deleted manually. You may need to clean up workspaces at the server level. You can use the command-line tool to manage workspaces. The command line-tool also enables you to list all the workspaces across the server and also to remove or rename workspaces. A workspace is defined on and stored by the server.

Question: Can a workspace exist even when the client machine has been discarded?

4-8

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Removing Workspace Mapping

To remove a workspace: 1. 2. From the File menu, click Source Control, and then click Workspaces. Highlight the workspace that you want to remove, and then click Remove.

Workspace mapping can be managed by Team Explorer and the tf command.

Question: Why would you remove a mapping from a workspace?

Administering Team Foundation Server Version Control

4-9

MCT USE ONLY. STUDENT USE PROHIBITED

Best Practices for Project Files Naming Conventions

Key Points
While label, shelveset, workspace, and check-in note names can be up to 64 characters long, check-in policy names can be up to 256 characters long. While label, shelveset, and workspace comments can be up to 2048 characters long, check-in comments and check-in note values can be up to 2 GB. Files in Team Foundation version control have no size limit. Most of the names in Team Foundation version control cannot begin or end with spaces or tabs. Colon (:), asterisk (*), and pipe (|) are some of the characters that cannot be used for names or labels.

Question: Are any of the limitations discussed going to cause problems for your organization? If so, what workarounds are available?

4-10

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Administrator Responsibilities and User Roles

Key Points
As an administrator, you can create your own role to assign custom permissions to a user. You can create custom user roles for finer control over version control permissions. The primary role of the contributor is to add, delete, and modify files. Te primary role of the administrator is to manage the integrity of data stored on the server. The administrator is also responsible for assigning appropriate permissions to team members.

Administering Team Foundation Server Version Control

4-11

MCT USE ONLY. STUDENT USE PROHIBITED

Questions: 1. 2. What considerations need to be kept in mind when administering remote development teams? Can the contributors group be given full version control permissions on one folder, but have no permissions on another folder, even if both of the folders are in the same team project?

4-12

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Configuring Visual Studio with Team Foundation Version Control

To configure Visual Studio with Team Foundation Server Version Control: 1. 2. 3. 4. 5. On the Tools menu, click Options. Expand the Source Control node. Click Plug-in Selection to show where you select TFS to be the source control system with Visual Studio. Click Environment to set up the TFS version control behavior. Click Visual Studio Team Foundation Server to set up the proxy server, custom user tools, and display of deleted items.

Question: What check-in policies will your organization use? Will these policies require Team Foundation Power Tools to be installed on all client workstations?

Administering Team Foundation Server Version Control

4-13

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Managing Team Foundation Version Control Command-Line

To create a workspace to manage your version-controlled files: 1. 2. At Visual Studio 2008 Command Prompt, type the relevant commands. Type a name for the new workspace and select a team project from the server.

To prepare a file for addition to version control: 1. 2. Create a new file and save the changes. Add the file to the list of pending changes.

To check in all pending changes in the workspace: 1. 2. Type the relevant command. In the Check In dialog box, type a comment, and then click Check In.

4-14

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

To create a new version of a file that is in version control: 1. 2. 3. 4. Type the relevant commands. Make the changes in Notepad and save it. Type the relevant command. In the Check In dialog box, type a comment and click Check In.

To synchronize a workspace to a changeset: 1. At the command prompt, type tf get /version:C<##>, where <##> is the number of the changeset that contains the original version of demo.cs.

Question: Do people in your organization prefer to use the command line or a GUI tool for interacting with version control?

Administering Team Foundation Server Version Control

4-15

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 2

Managing Team Foundation Proxy Server

In this lesson, you will be shown a deployment scenario for the Team Foundation proxy server. You will also learn how to use a proxy server and gain knowledge about its advantages.

4-16

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Typical Deployment Scenario for Team Foundation Proxy Server

Key Points
Proxy servers can be used to provide enhanced performance for distributed teams. The source code is downloaded from the Team Foundation Server to the proxy server. The proxy server caches copies of version control files in the location of the team that is working from different geographical areas. The proxy server significantly reduces the bandwidth-intensive operation of downloading files into a users workspace. Requests from the client benefit the cached source file in the proxy.

Question: Does the proxy server speed up access to work items?

Administering Team Foundation Server Version Control

4-17

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Configuring Version Control to Use a Proxy Server

To configure a Visual Studio client to use a Team Foundation proxy server: 1. 2. 3. 4. 5. 6. On the Tools menu, click Options. Expand Source Control, and then click Visual Studio Team Foundation Server. Click Use proxy server. In the Proxy server name box, type the UNC path of the computer that is hosting the Team Foundation Server name. In the Port box, type the port number designated for communication between the client and Team Foundation Server Proxy. Under Protocol, choose either http or https.

Question: If the proxy server fails, do the client machines that had accessed the proxy need to be reconfigured prior to any further check-out operations?

4-18

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 3

Advanced Functionality of Version Control

Version control can lead to file and folder conflicts against which precaution needs to be taken. Labeling can be used to mark specific versions to avoid confusion. You also need to be aware of branching and merging considerations.

Administering Team Foundation Server Version Control

4-19

MCT USE ONLY. STUDENT USE PROHIBITED

Resolving Folder Differences and File Conflicts

Key Points
Team Foundation version control file difference can create conflicts during merge, check-in pending change, or get operations. While version conflicts and file name collisions can occur in Team Foundation version control with a check-in, get, or merge operation, local overwrite conflicts occur only during a get operation. File name collision can result from any operation that adds or moves items in the server path namespace. Local overwrite conflicts occur when a get operation tries to write over a writable file in your workspace. You can resolve these conflicts by overwriting the file or checking out the file and merging changes.

Question: If you only make changes in a single branch, will you ever have conflicts when conducting a merge operation?

4-20

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Additional Compare and Merge Tool

Key Points
Although the built-in compare and merge tool is sufficient for most tasks, you may prefer a third party tool. Third party tools can be configured by file type that is specified in the Source Control options. The diff/merge tool opens when you attempt to compare two files or elect to perform a manual merge of a file with conflicting changes, The diff/merge tool is compatible with text and XML based files. You can use the command argument such as Original File (%1) or Modified File (%2) to communicate with the merge and comparison tool and Team Foundation version control.

Question: Which third party tool have you used? How did you configure it?

Administering Team Foundation Server Version Control

4-21

MCT USE ONLY. STUDENT USE PROHIBITED

Labeling in Version Control

Key Points
You can use the label command in Team Foundation Server to save a snapshot of the source code based on a given state. Files can be changed, added, or removed from the label. Team Foundation Server does not retain a history of changes made to the label. Use labels only when you need a snapshot of sources for a short duration of time if there is a guarantee that the label wont be changed. If you need to use a snapshot of sources over a longer duration of time, you should consider using branching.

Question: Can you add new files to an existing label?

4-22

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Team Foundation Server Version Control Best Practices

Key Points
You may encounter scalability limits while working on large solutions requiring dozens of projects. To avoid this problem, organize your source control structure by sub-systems and use multiple solution files. Instead of creating a master solution for the entire application, you should use a script that understands the order in which the solutions must be built. Ensure that developers do not create circular references between solutions as this requires complex build scripts and explicit mapping of dependency relationships. Do not over branch. Among other issues one is excessive time taken to move changes between branches. Be careful of the new bugs that may arise out of a merge operation.

Question: How often should you run a Team Build?

Administering Team Foundation Server Version Control

4-23

MCT USE ONLY. STUDENT USE PROHIBITED

Version Control Object Model

Key Points
The version control object model is the public programming interface to the version control components of Team Foundation Server. It allows programmatic access to the repository that allows customers and partners to automate certain interactions. You can use the object model to create custom policy constraints that can be enlisted to validate developer check-ins. The object model also enables you to summarize remoting issues, and enables development through a simple set of objects.

Question: Do you have any cases where you will need to programmatically access version control?

4-24

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

What Is an MSSCCI Provider?

Key Points
MSSCCI provides an integrated version control user experience with products that do not support Team Explorer integration. Visual Studio 2003 and Visual Basic 6.0 are examples of products that do not support Team Explorer integration. There is no need to create your own MSSCCI provider unless you are using an unsupported development platform. The third party vendors can use MSSCCI to build applications that work with Team Foundation Server version control.

Question: Do you use any other development IDEs that will require the use of the MSSCCI provider?

Administering Team Foundation Server Version Control

4-25

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 4

Migrating Team Foundation Server Version Control

Project data can be copied from one server to another when team projects need to be migrated. Before any project is migrated, it needs to be analyzed with the converter tool.

4-26

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Team Foundation Server Version Control Migration Kit

Key Points
The Migration kit helps you build migration tools from Team Foundation Server to other repositories in a much easier and faster manner. You can use the toolkit to migrate Team Foundation Server work items and version control items with their history. It enables customers to build custom tools that enable migration and synchronization with other version control and work-item tracking systems. The toolkit has the ability to migrate individual projects independent of one another and also has the ability to migrate historical data for VC and WIT. It includes reference implementations to demonstrate Toolkit capabilities.

Question: When you use the Team Foundation Server to Team Foundation Server migration utility, it preserves your history. Does it maintain the actual dates that the events occurred or does it compress the time frame to the time that the migration utility was run?

Administering Team Foundation Server Version Control

4-27

MCT USE ONLY. STUDENT USE PROHIBITED

Scenario for Using the Migration Kit

Key Points
Make use of Backup and Restore when IDs and timestamps need to be preserved. You can perform a backup restore if you intend to move an entire server or a subset. The limitation of the migration tool is that it is only capable of copying version control items and work items, and links between them. It does not bring other portions of a team project. Version control migration is complex. When actions are performed in Team Foundation Server, all the information is not stored. You should consider using Team Foundation Proxy for remote site development.

Question: What other scenarios can you think of?

4-28

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Migrating Source Code and Work Item

To migrate source code and work item: 1. 2. 3. 4. Open the Team Foundation Migration Kit. Start a new Migration Session. Select the source and destination project to be migrated and migrate to. Start the migration process.

Question: Do you feel the migration tool was easy to use? What would you do to improve the experience of using the tool?

Administering Team Foundation Server Version Control

4-29

MCT USE ONLY. STUDENT USE PROHIBITED

Visual SourceSafe and Team Foundation Server Differences

Key Points
While Visual SourceSafe is a client-server architecture designed assuming uninterrupted connectivity on a high performance network, Team Foundation Server is architected as a Web Service-based application enabling development by distributed teams. SourceSafe Explorer reads from and writes to a Visual SourceSafe database, while Team Foundation is a client-server source control system that uses a .NET Web service to access items stored in a SQL Server database. The concept that does not exist in Visual SourceSafe is changeset, which is a logical container in which Team Foundation stores everything related to a single check-in operation. Team Foundation can support teams of up to 2000 users whereas Visual SourceSafe is recommended for teams of twenty or less.

Question: Does SourceSafe support atomic check-ins?

4-30

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Prerequisites for Migrating from SourceSafe

Key Points
Analyze the VSS database using VSSConverter.exe command line tool. Modify the settings file to specify the folders to be migrated. Run the converter to migrate the source and generate a migration report. The database format must be SourceSafe version 6.0 or later. You must run the converter on the same computer as your Visual SourceSafe database.

Question: What database version does SQL Server 2005 use?

Administering Team Foundation Server Version Control

4-31

MCT USE ONLY. STUDENT USE PROHIBITED

Preparing for the Migration

Key Points
Decide which projects you want to analyze and then create a file listing the projects that you want the converter to analyze. Use the converter tool to analyze the projects. After completion, the tool generates a report and a user mapping file. To analyze the project with the converter: At the Visual Studio command prompt, type VSSConverter Analyze settings.xml. Provide the Visual SourceSafe administrator password when prompted.

Question: What does the SourceSafe Analyze utility do?

4-32

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Migrating SourceSafe to Team Foundation Server

To modify the settings file to create a migration file: 1. 2. 3. 4. 5. Open the Visual Studio Command Prompt window. Type cd %DriveLetter%\VSS2TeamFoundation. Save the settings file that you created for the analysis, settings.xml, with a new name. At the command prompt, type notepad migration_settings.xml, and then press ENTER. Change the settings file and save the changes.

To run the converter: 1. 2. 3. Copy your Visual SourceSafe database to a local folder on the computer. Open Command Prompt window. Type VSSConverter Migrate migration_settings.xml.

Administering Team Foundation Server Version Control

4-33

MCT USE ONLY. STUDENT USE PROHIBITED

4. 5.

Type Y to confirm the migration. Provide the password for the Visual SourceSafe admin user.

Question: If the user who performed actions in VSS has left the organization, is it okay to map the user to a different user in the migration settings XML file?

4-34

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Lab 4: Administering Team Foundation Server Version Control

Lab Objectives
Manage workspaces Manage labels and shelvesets Migrate from Visual SourceSafe to Team Foundation Server version control

Scenario
As a system administrator at Proseware Inc., you have to set up a workspace for your team. You will do this in two ways, firstly, by editing a previously existing workspace, and secondly, by creating a new workspace. You also have to delete the workspace for a team member who will no longer be working on the project and also set up labels and shelvesets for the source code that will be entered by the members of the new team.

Administering Team Foundation Server Version Control

4-35

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 1: Managing Workspaces


Scenario
As a System Administrator at Proseware Inc., you are required to edit a previously existing workspace, and create a new workspace. You also have to delete the workspace for a team member who will no longer be working on the project. In this exercise, the students will explore the details of creating and working with workspaces as well as the administrative implications for workspace management. The main tasks for this exercise are as follows: 1. 2. 3. 4. Set up the lab environment Edit an existing workspace. Create a new workspace. View and remove workspaces.

Task 1: Set up the lab environment


Launch 6215A-Proseware-DC1. After 6215A-Proseware-DC1 has fully launched, launch 6215A-Proseware-TFS, and then 6215A-Proseware-CLI. Log on to 6215A-Proseware-CLI with the relevant user name and password.

Task 2: Edit an existing workspace


In Visual Studio 2008, on the Source Control Explorer toolbar, from the Workspace dropdown list, click Workspaces. Select the default workspace, and click Edit. Double-click the project and browse for the folder. Create a new folder structure. Get the latest files.

Task 3: Create a new workspace


In the Command Prompt window, enter the command to create a new workspace.

4-36

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

On the Source Control Explorer toolbar, from the Workspace drop-down list, select Workspaces. Confirm the creation of a new workspace. Enter the command to clone the workspace for another user. In the Add Workspace dialog box, under SourceControl Folder, select $/, and then click . Select the folder, and then under Local Folder, select the default mapping. Create a new folder.

Task 4: View and remove workspaces


In the Command Prompt window, enter the command to display all the workspaces. Enter the command to delete the workspace created earlier. Enter the command to confirm that the workspace has been deleted.
Results: After this exercise, you should have successfully created and deleted workspaces for your team members.

Administering Team Foundation Server Version Control

4-37

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 2: Managing Labels and Shelvesets


Scenario
You have to set up labels and shelvesets for the source code that will be entered by the members of the new team. In this exercise, the students will manage labels and shelvesets. The main tasks for this exercise are as follows: 1. 2. Work with labels. Work with shelvesets.

Task 1: Work with labels


In the Command Prompt window, enter the command to create a new label for the latest version of the source code. Enter the command to view all the labels on the server. Enter the command to delete a label and confirm the deletion. In Source Control Explorer, expand the VersionControlProject node and right-click the TFSCalc root folder, and then click Apply Label. Select an option from the Version drop-down box. In the Apply Label for TFSCalc dialog box, type the label name and add a comment. Find the labels and delete the required label.

Task 2: Work with shelvesets


In Source Control Explorer, under Version Control Project, right-click the root-level TFSCalc folder, and then click Get Latest Version. Open the TFSCalc.sln file. In Solution Explorer, right-click the Default.aspx file and click View Code. Add a comment to the file and save it. In Solution Explorer, right-click the default file, and select Shelve Pending Changes.

4-38

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Type the name of the shelveset and add a comment. Clear the Preserve pending changes locally checkbox to revert back the file to the state before the comment was made. From the File menu, select Source Control, and then click Unshelve Pending Changes. Select the shelveset, and then click Details. Clear the Preserve shelveset on server checkbox, and then click Unshelve. Check in the Default.aspx file. Enter the command to view all the shelvesets owned by the current user. Enter the command to delete TFSCalc_DeleteShelveset.
Results: After this exercise, you should have an understanding of how labels and shelvesets work within Team Foundation Server.

Administering Team Foundation Server Version Control

4-39

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 3: Migrating from Visual SourceSafe to Team Foundation Server Version Control
Scenario
You have recently introduced Microsoft Visual Studio Team System in your network. All your teams code was previously stored in Visual SourceSafe, and now you want to migrate from Visual SourceSafe to Microsoft Visual Studio Team System. In this exercise, the students will go through the process of migrating source code from Visual SourceSafe to Team Foundation Server version control in order to experience the steps involved and the issues that may occur in a migration using the VSS Converter utility. The main tasks for this exercise are as follows: 1. 2. 3. 4. Analyze the SourceSafe database. Update the user mapping. Migrate the SourceSafe database. Close the virtual machine and discard changes.

Task 1: Analyze the SourceSafe database


Browse to C:\VSS2TFS and open the AnalyzeSettings.xml file with Notepad to view its format. In the Command Prompt window, enter the command to change the directory. Enter the command to analyze the SourceSafe database. When prompted for the VSS administrator password, press ENTER. Open the file to view the summary report.

Task 2: Update the user mapping


Open the UserMap.xml file in Notepad. Set the <UserMappings> tag. Save and close the file.

4-40

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Task 3: Migrate the SourceSafe database


From the VSS2TFS folder, open the MigrateSettings.xml file in Notepad. Optionally, name the output file in the <Settings> tag. In the Command Prompt window, enter the command to migrate the SourceSafe database to Team Foundation Server. Type Y and press ENTER to confirm the migration. Open the MigrationResult.xml file to view the summary report.

Task 4: Close the virtual machine and discard changes


Close the 6215A-Proseware-CLI window and select Turn off machine and discard changes in the Close dialog box. Similarly, close 6215A-ProsewareTFS, and then 6215A-Proseware-DC1. In the Lab Launcher, click Reset All to return the virtual machine to its default state.
Results: After this exercise, you should have an understanding of the migration steps necessary to move from Visual SourceSafe to Team Foundation Server version control.

Administering Team Foundation Server Version Control

4-41

MCT USE ONLY. STUDENT USE PROHIBITED

Module Review and Takeaways

Review Questions
1. What are the features of Team Foundation Server version control? Version control offers a host of features including branching and merging, shelving, check-in policies, a graphical-user interface, and a command-line interface.

2. What are the steps that need to be taken to ensure a consistent usability across the development team? Naming standards and best practices should be documented and followed across the board to ensure a consistent usability across the development team.

3. What are the benefits of using Team Foundation Server Proxy? Team Foundation Server Proxy can benefit a team that is geographically distributed by reducing bandwidth usage and wait times for downloading files.

4-42

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

4. Why do you need to be cautious while branching? Though branching ids very useful in a development activity, over-branching can sometimes lead to problems. During a merge operation, you often require one or more people from your team to reconcile a set of conflicting changes that have been made in different branches. Also, it takes time to move changes between branches.

5.

What is the Migration and Synchronization Toolkit? How does it help you in administering Team Foundation version control? The Migration and Synchronization Toolkit is a tool that enables you to build migration tools from Team Foundation Server to other repositories in an easier and faster manner. This tool provides migration of Team Foundation Server work items and version control items, both with history. The Migration and Synchronization Toolkit or the VSSConverter for SourceSafe can help you migrate off your existing platform onto Team Foundation Server.

Administering Team Foundation Server Version Control

4-43

MCT USE ONLY. STUDENT USE PROHIBITED

Common Issues Related to Administering Team Foundation Server Version Control


Identify the causes for the following common issues related to administering Team Foundation Server version control and fill in the troubleshooting tips with more details. For more information, refer to relevant lessons in the module.
Issue Promoting code through the branching structure takes an excessively long time. Troubleshooting tip

Users in remote offices are experiencing slow get operations even though they have the proxy server installed.

4-44

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Real-world Issues and Scenarios


1. Although labels are very useful, they are not audited in Team System. This means that files can be added or removed from a label without tracking data about who made the change, when the change was made, or what was changed. Thus, labels cannot be used for auditing purposes. If this is required, consider using branching, since they are fully audited. 2. When migrating from version control systems other than Source Safe, you may not have an available conversion utility. In this case, you may need to simply maintain a copy of the old system to provide code history, and do a snapshot migration of the code into Team Foundation Server.

Best Practices Related to Administering Team Foundation Server Version Control


Supplement or modify the following best practices for your own work situations: As labels can be changed, consider using a naming convention to indicate which labels should not be changed. Appending the date to the label name is a common way to indicate that a label is meant to represent a moment in time and should not be changed. Shelvesets never expire; over time they may accumulate on the server. Administrators can manage shelvesets from the command-line, or from a popular third party tool. Branch appropriately. However, dont make more branches than necessary.

Administering Team Foundation Build

5-1

MCT USE ONLY. STUDENT USE PROHIBITED

Module 05
Administering Team Foundation Build
Contents:
Lesson 1: Introducing Team Build Lesson 2: Configuring Team Build Lesson 3: Running a Team Build Lesson 4: Extending Team Build Lab: Administering a Team Build 5-3 5-9 5-18 5-28 5-35

5-2

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Module Overview

Team Build provides a simple wizard-based method to create build definitions. Builds can be customized by editing build steps and by writing custom tasks. Team Build integrates with Team Foundation Server through the application tier and interacts with work items, code coverage, code analysis, test cases, and reporting. It uses build definitions to configure the conditions under which a single solution or a set of solutions in a team project will be built. The file in the Team Build includes several default targets, tasks, and properties that can be modified to customize the build process. Scheduled build and continuous build can be performed depending on the needs of the organization.

Administering Team Foundation Build

5-3

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 1

Introducing Team Build

Team Build is an extensible system for build automation, enabling end-to-end public builds. It can be used for various functions, such as performing code analysis, releasing builds on a file server, and publishing build reports. Events received through Team Build can be used to create custom build steps or to generate notifications of build status changes or build completion.

5-4

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

What Is Team Build?

Key Points
Team Build is an extensible system for build automation that enables end-toend public builds. These public builds integrate with other Visual Studio Team System tools. You can specify which build computer to use, the solutions to build, the drop location, and so on using Team Build. Team Build is designed to be extensible. Though the New Team Build Definition Creation Wizard creates build scripts that meet common build scenarios, there are some build scenarios that may require customization to wizard-generated scripts. Customize the build by editing build steps and by writing custom tasks.

Question: What is a public build lab?

Administering Team Foundation Build

5-5

MCT USE ONLY. STUDENT USE PROHIBITED

Components of Team Build

Key Points
Team Foundation Build helps enterprise build managers to perform tasks, such as compiling the application, performing code analysis, and publishing build reports. Build definition, build execution, build report, and build queue are the components of Team Build. Team Build also provides the capability for public and private or desktop builds. A build can be of three types: on demand, rolling, or continuous integration. Each check-in causes the build to be queued according to its priority. A build report lists the overall build status including detailed build steps that can be viewed from Build Explorer.

Question: How many builds of the same name can execute simultaneously on the same build machine?

5-6

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Team BuildFeatures

Key Points
Team build is a service layer used for accessing the build functions. It works with other Visual Studio Team System tools during the build process. As builds are run, the generated build data is stored in the TFS Warehouse for later reporting capability. Team Build interacts with the Visual Studio Team Editions to run Web tests, run code analysis, or work with databases as part of the build. Team Build supports the use of multiple build machines if a single machine is not sufficient due to the excessive build execution length or the number of builds. You can customize the build project file to fit your specific needs.

Question: Why is it important to be able to build on a separate machine?

Administering Team Foundation Build

5-7

MCT USE ONLY. STUDENT USE PROHIBITED

Team BuildFunctions

Key Points
Among other functions, Team Build compiles the application and publishes build reports. It integrates with Team Foundation Server through the application tier and interacts with other features, such as work items and code coverage. Team Build can update and create work items, calculate and store code coverage, run code analysis and store the results, and run any automated tests. The Team Build Definition Creation Wizard generates the TFSBuild.proj file when you first create a build. Any changes to this file must be made directly in the source control file. When you queue a build, it generates a BuildLog.txt file that contains detailed information about the build.

Question: Why is it important to run unit tests during a Team Build?

5-8

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Team Build Architecture

Key Points
The Team Foundation ServerBuild.proj file controls the build. The file is generated by the Team Build Definition Creation Wizard when the build is first created and can be edited directly. Team Build Browser enables you to view the Team Build reports and build progress information. Team Build Web Service is an application-tier component that accepts requests from the client and coordinates the execution of build steps. Build Service runs the build steps in response to instructions received from the Team Build Web Service.

Question: Why does Team Build rely on MSBuild?

Administering Team Foundation Build

5-9

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 2

Configuring Team Build

This lesson will describe how to set up a build computer and create a new build agent. You will be made aware of your role in managing the build definitions and understand the difference between a desktop build and a public build.

5-10

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Configuring a Build Machine for Team Build

To set up a build computer: 1. 2. Run setup to start the build setup. When the setup wizard prompts you for logon credentials, enter a valid Domain account or Workgroup account.

To create a new build agent: 1. 2. 3. 4. 5. Select the team project. Click Manage Build Agents on the Build menu. Click New. Type a name for the build agent and provide an optional description. Enter the computer name and the port number.

Administering Team Foundation Build

5-11

MCT USE ONLY. STUDENT USE PROHIBITED

6. 7.

Select the Require Secure Channel (HTTPS) check box if you want to set up your build agent to require HTTPS and Secure Sockets Layer (SSL). In the Working directory box, enter a value for the working directory on the build agent.

Question: What services are installed during a Team Build installation?

5-12

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Enabling HTTPS Communication in Team Build

To configure the build agent to require HTTPS: 1. 2. In the Manage Build Agents dialog box, select the Require Secure Channel (HTTPS) check box and click Edit. Select Disabled from the Agent status drop-down menu.

To stop the Visual Studio Team Build service: 1. 3. 4. From the Start menu, go to Services. Right-click Visual Studio Team Build, and click Properties. Under Service Status, click Stop.

To modify the Visual Studio Team Build configuration to require HTTPS: 1. Open the TFSBuildservice.config.exe file.

Administering Team Foundation Build

5-13

MCT USE ONLY. STUDENT USE PROHIBITED

2.

Change the value of the RequireSecureChannel key and save your changes.

To associate an SSL certificate to an IP address and port number: 1. 2. 3. 4. Use the Certificates snap-in to find an X.509 certificate that has an intended purpose of client authentication. Copy the thumbprint of the certificate. Remove all spaces between the hexadecimal characters. Execute the HttpCfg.exe tool in "set" mode on the SSL store to bind the certificate to a port number.

To configure the build agent port and protocol: 1. 2. 3. At the command prompt, run wcfhttpconfig free <port number>. At the command prompt, run wcfhttpconfig reserve <User Account> <URL>. Add the port to the exceptions list for Windows Firewall.

To restart the Visual Studio Team Build service: 1. 2. 3. From the Start menu, go to Services. Right-click Visual Studio Team Build, and click Properties. Under Service Status, click Start.

To verify the SSL configuration: 1. 2. 3. In the Manage Build Agents dialog box, click Edit. Select Enabled from the Agent status drop-down menu. Execute a build using the build agent.

Question: Why would you choose to run Team Build over SSL?

5-14

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Build Definitions

Key Points
Team Build used build definitions to configure the conditions under which a single solution or a set of solutions in a team project are built. To conduct a build, you must either create a new build definition or use an existing build definition. Options such as build name, source control workspace for the files to be built, and location of the file can be set when creating build definitions. You can change these options later and also customize your build definitions by editing the Team Foundation ServerBuild.proj file. Build definitions are removed by first deleting the builds that are associated with the build definition and then the build definition itself.

Question: Can the build definition be stored in a file named something other than TFSBuild.proj?

Administering Team Foundation Build

5-15

MCT USE ONLY. STUDENT USE PROHIBITED

Desktop and Public BuildsFeatures

Key Points
Only compilation and testing are performed in a desktop build. Steps such as sync, clean, code churn, and work item update are performed in public builds. You have to redirect the default MSBuild logger output file to view the results of desktop builds. The build and test results data is published in the warehouse in a public build. The build output is written to the console and the build and test results data is not published in the warehouse. By running a local desktop build, developers can be more confident about their check-in not breaking the code base and the automated builds.

Question: When should developers use desktop builds?

5-16

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Creating a Build Definition

To create a new build definition: 1. 2. 3. 4. 5. 6. 7. 8. 9. In Team Explorer, select the project for which you want to create a new build definition. On the Build menu, select New Build Definition. Specify the name to associate with the build definition and add an appropriate description. Click the Workspace tab. Copy an existing workspace to the list of working folders. Click the Project File tab. Browse to an existing TFSBuild.proj project file or launch the MSBuild Project File Creation Wizard to create a new TFSBuild.proj file. On the Retention Policy and Build Defaults tabs, fill in the required information. Type the UNC (\\server\share) location.

Administering Team Foundation Build

5-17

MCT USE ONLY. STUDENT USE PROHIBITED

10. Click the Trigger tab and select the appropriate build option. 11. Click OK to create your build definition. Question: After youve deleted a build definition, can you create a new one of the same name?

5-18

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 3

Running a Team Build

To run a Team Build efficiently, you need to be aware of how the two types of build are used for different purposes. You also need to be familiar with the build reports sections. This lesson will describe how to create a new build definition to run continuous builds and enable build notification to display messages in the notification area when the status of a build changes.

Administering Team Foundation Build

5-19

MCT USE ONLY. STUDENT USE PROHIBITED

Scheduled Build

Key Points
A scheduled build consistently produces reliable builds that can be used to gain feedback on the quality of the build. A scheduled build is based on a fixed time frequency. You can choose to schedule your builds on an hourly, nightly, or weekly basis. A scheduled build is mostly used by test teams, internal adopters, and external beta users. While hourly builds provide feedback to developers every hour, nightly builds provide a new build every morning with the previous changes incorporated. You should use weekly builds if you are handling a large, complex project, where the build time can last for days.

Question: Why is it important to have a consistent, regular build?

5-20

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Scheduled Builds Vs. Continuous Builds

Key Points
Scheduled build and continuous integration build are not mutually exclusive to each other; they are usually used together. The builds can be combined to form a complete build strategy. While a scheduled build is a time-based build based on a fixed time frequency, a continuous integration build is triggered any time a check-in occurs. A continuous integration build provides a safety net on developer's code quality by continually checking all code changes that are checked in. While scheduled builds are mostly used by a test team and internal and external adopters, it is the development teams who typically use continuous integration builds.

Question: Why would you combine a continuous integration build and a scheduled build for the same project?

Administering Team Foundation Build

5-21

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Queuing a Build Definition

To queue a build using a build definition: 1. 2. 3. 4. 5. 6. 7. In Team Explorer, select the appropriate team project. In the Build menu, click Queue New Build. From the Build definition drop-down list, select a build definition. Select a build agent from the Build agent drop-down list. Select a priority for your build from the Priority in queue drop-down list. In the MSBuild command-line arguments (optional) box, you can enter the optional MSBuild arguments. Click Queue to enter the build in the build queue.

Question: How can you determine where your queued build in the build queue?

5-22

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Configuring a Build Definition for Continuous Integration

To create a new build definition to run continuous builds: 1. 2. 3. 4. 5. 6. 7. In Team Explorer, select the project for which you want to create a new build definition. On the Build menu, select New Build Definition. On the General and Workspace tabs, fill in the required information. Launch the MSBuild Project File Creation Wizard to create a new TFSBuild.proj file. On the Retention Policy and Build Defaults tabs, fill in the required information. Click the Trigger tab and select the appropriate build option. Click OK to create your build definition.

Administering Team Foundation Build

5-23

MCT USE ONLY. STUDENT USE PROHIBITED

Question: How many different types of continuous integration are supported using Team System?

5-24

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Enabling Build Notifications

To enable build notification alerts: 1. 2. 3. 4. On the Team menu, click Project Alerts. Select the type of notification you want to receive. In the Send to box for each alert, add the e-mail addresses of the team members you want to receive the alert In the Format box for each alert, select the format of the e-mail notification to be sent, and then click OK.

Question: Can you select to receive build notifications only during a build failure?

Administering Team Foundation Build

5-25

MCT USE ONLY. STUDENT USE PROHIBITED

Build Quality Status

Team Foundation Build manages the build parameters to build a team project. A set of build qualities are installed in Team Build to help identify the build status. Additional build qualities can be added to meet the users needs. Build qualities add an additional layer of tracking to track the builds that the testing department is using or track the builds that are released to production. You can use the API to create a customized tool to interact with the build qualities and work items. It is easier to track the build quality than to manage the entire release process inside your Software Configuration Management strategy.

Question: How do you add additional build qualities?

5-26

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Build Reports

Key Points
A build report is the detailed build information generated for a build in progress or a completed build. Team Build Browser contains sections that categorize the build report. The Summary section displays the name of the build, the name of the user who requested the build, and the team project that has been built. Entries in the build report vary depending on the build definition used. The Result details section displays information for all tests run on the build, a link to the test, and also the user who ran the test run. The Associated Changesets and Associated Work Items category provides information about the changesets and work items respectively.

Question: What purpose do the associated work items serve in the build report? Is this purpose enhanced by having a scheduled build?

Administering Team Foundation Build

5-27

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Viewing a Build Report

To view a build definition report: 1. 2. 3. In Team Explorer, locate Team Builds and double-click All Build Definitions to display Team Build Browser. In the summary report, double-click the build that you want to view. Examine the build report.

Question: Can you aggregate build reports?

5-28

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 4

Extending Team Build

This lesson will provide some examples of customization scenarios to help you understand your role in customizing builds. You can customize the build process by modifying default targets, tasks, and properties. The lesson will also explain how build definitions are managed in a team project.

Administering Team Foundation Build

5-29

MCT USE ONLY. STUDENT USE PROHIBITED

Customization Scenarios

Key Points
The build definition dialog box creates build definitions that meet common build scenarios. Builds are customized to handle the needs of the business within Team Build. A customization scenario that can work really well with a continuous integration build on a Web site is to add in the deployment of the site to a test server and run all of your automated Web tests. As part of a continuous integration, you can deploy a fresh copy of the database with the most recent changes using Database Professional Edition and run database unit tests alongside the other automated tests.

Team Build should not be considered as the build and deployment engine when taking a release to the testing and then production environments.

Question: What are some other scenarios that require Team Build customization?

5-30

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Build Targets, Tasks, and Properties

Key Points
A target file includes several default targets, tasks, and properties that can be modified to customize the build process. Target, Task, and UsingTask are the three elements in the files that are important to the build process. Targets depend on each other for the execution of the task defined in the target. All targets are not necessarily executed in every build. Build definitions include a project file, named TfsBuild.proj that can be associated with a single build definition, or with multiple build definitions. SkipClean, SkipGet. SkipPostbuild, and AdditionalVCOverrides are some of the properties that are defined for Team Build.

Question: Can you define your own targets?

Administering Team Foundation Build

5-31

MCT USE ONLY. STUDENT USE PROHIBITED

Programming Against Team Build

Key Points
Namespaces help program the Team Build API with the help of available classes and interfaces. You can use the API in Team Build 2008 to create any tool your organization needs to get the most of automated builds and release management. You can use namespaces to queue builds, manage build agents, or view build report history. You can subscribe to Team Build events and respond to builds starting, finishing, or failing if you want to work outside of the constraints of MSBuild. You can customize build definitions to handle your organization's needs.

Question: When would you want to programmatically access Team Build?

5-32

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Managing Build Definitions in a Team Project

Key Points
To conduct a build, you must either create a new build definition or use an existing build definition. The Team Foundation ServerBuild.proj xml file can be edited by using an XML editor. The default options can be overridden by editing the build definition file written in MSBuild format. You can use the Build Workspace setting to define the solutions to be built and the Build Machine setting to specify the machine on which the build runs. Build Drop Location specifies the network share, Configuration specifies the configuration and platform, and Build Steps specifies additional steps.

Question: Can you store the TFSBuild.proj file in a location other than the default?

Administering Team Foundation Build

5-33

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Editing a Build Definition

To edit a build definition TFSBuild.proj file: 1. 2. 3. 4. 5. 6. 7. 8. 9. Check out the corresponding TFSBuild.proj file and open it in Visual Studio. Locate the Description section and modify the value in the Description element. Locate the SolutionToBuild element and make the required modifications. Locate the ConfigurationToBuild element and make the required modifications. Locate the BuildMachine element and make the required modifications. Locate the BuildDirectoryPath element and make the required modifications. Locate the Drop Location element and make the required modifications. Locate the RunTest element and make the required modifications. If you want to run selective tests, you can specify them with a Condition attribute.

5-34

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

10. Locate the RunCodeAnalysis element and make the required modifications. 11. Save and check in the TFSBuild.proj file. Question: Where can you find third party custom tasks?

Administering Team Foundation Build

5-35

MCT USE ONLY. STUDENT USE PROHIBITED

Lab 5: Administering Team Foundation Server Instances and Team Projects

Lab Objectives
Install a team build. Configure a build agent. Create a Team Build. Customize the Team Build project file.

Scenario
As a system administrator at Proseware Inc., you will go through the installation of Team Build and set up a build machine to use with Team Foundation Server. After you have installed Team Build, you have to configure the build agent. You also have to configure a build machine for Team Foundation Server, and then customize the Team Build project file.

5-36

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

To perform the first exercise of configuring a build machine, you will have to map the trial ISO file to the CD-ROM on TFS-Install VM.

Administering Team Foundation Build

5-37

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 1: Installing Team Build


Scenario
As a System Administrator at Proseware Inc., you have been asked to install Team Build on a build machine. In this exercise, you will go through the installation of Team Build and set up a build machine to use with Team Foundation Server. The main task for this exercise is as follows: 1. 2. Set up the lab environment. Install Team Build.

Task 1: Set up the lab environment.


Launch 6215A-Proseware-DC1. After 6215A-Proseware-DC1 has fully launched, launch 6215A-Proseware-TFS, and then 6215A-Proseware-CLI. Log on to 6215A-Proseware-CLI with the relevant user name and password.

Task 2: Install Team Build


From the Start menu, go to D drive. On the Team Foundation Server Setup page, select Team Foundation Build, and then click Install. On the Welcome to Setup page, click Next. Review the licensing terms. On the System Health Check page, address the issues if any, and then click Next. On the Destination Folder page, click Next. On the Team Foundation Server Service Account page, specify the account name and password. On the Ready to Install page, click Install. Verify that the installation is complete on the Setup Completed Successfully page, and click Finish.

5-38

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Results: After this exercise, you should have Team Build installed on your machine

Administering Team Foundation Build

5-39

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 2: Configuring a Build Agent


Scenario
Now that you have installed Team Build, you need to configure the build agent. In this exercise, you will go through the process of configuring a server that has Team Build installed as a build agent within Team Foundation Server. The main task for this exercise is as follows: 1. Create a new build agent.

Task 1: Create a New Build Agent


From the Start menu, launch Microsoft Visual Studio 2008. Connect to Team Foundation Server. In the Connect to Team Foundation Server dialog box, select BuildProject. In Team Explorer, under BuildProject, right-click the Builds folder and click Manage Build Agents. In the Manage Build Agents dialog box, click New. Type a name and description for the new build agent. Type CLI as the computer name and change the working directory to C:\Work\$(BuildDefinitionPath). Save the new build agent.
Results: After this exercise, you should have successfully configured a build agent within Team Foundation Server.

5-40

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 3: Creating a Team Build


Scenario
As a System Administrator at Proseware Inc., you have been asked to configure a build machine for Team Foundation Server. In this exercise, you will go through the process of creating a new, automated build with Team Build. You will also run the build and then view the results. The main tasks for this exercise are as follows: 1. 2. 3. Create a new build definition. Queue a build and view the results. Configure a build for continuous integration.

Task 1: Create a New Build Definition


In Team Explorer, right-click the Builds folder and click New Build Definition. Type the build definition name and description. On the Workspace tab, double-click the first box under Source Control Folder, and then click . In the Browse for Folder dialog box, select TFSCalc, as the source folder. On the Project File tab, click Create. On the Select and order solutions to build page, select the TFSCalc.sln file. On the Select configurations to build page, keep the configuration on Release and the platform on Any CPU. On the Select build options page, click Finish. On the Retention Policy tab, under Retention Policy, click Keep All and select Keep 10 Latest from the drop-down list for the Failed, Stopped, and Partially Succeeded build outcomes. On the Build Defaults tab, select BuildMachine1 as the Build agent, if not selected, and type \\TFS08\BuildDrops for the build staging share. On the Trigger tab, leave the trigger on the default so that check-ins do not trigger a build, and click OK.

Administering Team Foundation Build

5-41

MCT USE ONLY. STUDENT USE PROHIBITED

Task 2: Queue a Build and View the Results


In Team Explorer, right-click CourseBuild, and then click Queue New Build. In the Queue Build BuildProject dialog box, click Queue. View the build details in the Build Details page. To open the build log results, click the log link.

Task 3: Configure a Build for Continuous Integration


In Team Explorer, right-click CourseBuild under the Builds folder, and click Edit Build Definition. On the Trigger tab, select the Build each check-in option. From the Workspace drop-down list, select CLI. Open Source Control Explorer. In Source Control Explorer, right-click Build Project and click Get Latest Version. Expand Build Project, select the TFSCalc folder, and then double-click the TFSCalc.sln file In Solution Explorer, under TFSCalc, open the Default.aspx.cs file. Make compilation breaking change and check in the file. To view the current builds, right-click the Builds folder in Team Explorer, and click View Builds. Double-click the build and click the build log link in the Summary section to check the build log or the condensed errors. Fix the compilation error and check in the file.
Results: After this exercise, you should have successfully created a basic automated build using Team Build.

5-42

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 4: Customizing the Team Build Project File


Scenario
Now that you have configured the build machine, you can customize the Team Build project file. In this exercise, you will customize the Team Build project file to output messages in the build log, and add a deployment to an IIS virtual directory. The main tasks for this exercise are as follows: 1. 2. 3. Output messages with property values. Copy the published Web site to an IIS virtual directory. Close the virtual machine and discard changes.

Task 1: Output Messages with Property Values


In Source Control Explorer, get the latest version of CourseBuild. In the Browse For Folder dialog box, select a location for the source code files, Check out the TFSBuild.proj file and open it. Add the appropriate code before the </Project> tag to override a default build target and add the message output. Save the changes and check in the file. In Team Explorer, right-click CourseBuild and click Queue New Build. In the Queue Build BuildProject dialog box, click Queue. Queue the build and open the build log when it is finished. Search for the word, Foo, within the build log, and find the message text output of the SolutionRoot property.

Task 2: Copy the Published Website to an IIS Virtual Directory


Check out the TFSBuild.proj file and open it. To perform the copy, add the appropriate code after the <Message> tag. Save the changes and check in the file.

Administering Team Foundation Build

5-43

MCT USE ONLY. STUDENT USE PROHIBITED

In Team Explorer, right-click CourseBuild and click Queue New Build. In the Queue Build BuildProject dialog box, click Queue. On the 6215A-Proseware-TFS server, open Windows Explorer, and then browse to C:\inetpub\WebSites\TFSCalc. The timestamps of the published files should be updated with the newly compiled and copied code.

Task 3: Close the virtual machine and discard changes


Close the 6215A-Proseware-CLI window and select Turn off machine and discard changes in the Close dialog box. Similarly, close 6215A-ProsewareTFS, and then 6215A-Proseware-DC1. In the Lab Launcher, click Reset All to return the virtual machine to its default state.
Results: After this exercise, you should have a basic understanding of customizing a Team Build to do more than just compile the source code and possibly run unit tests.

5-44

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Module Review and Takeaways

Review Questions
1. How does Team Build track data? Team Build utilizes the source control, work item tracking, and test tool components of Visual Studio Team System for complete collaboration and data tracking.

2. How many build machines or agents can be added to Team Build to scale to the build needs of your development environment? Any number of build machines/agents can be added to Team Build to scale to the build needs of your development environment.

Administering Team Foundation Build

5-45

MCT USE ONLY. STUDENT USE PROHIBITED

3. What is the advantage of using a combination of continuous integration and schedule builds? By using a combination of continuous integration and schedule builds, you can achieve the best of both worlds by receiving all the advantages of continuous integration and tracking data on regular interval builds so meaningful reports can be generated.

4. How does Team Build take care of your business and development needs? Team Build provides the flexibility to be customized by using the underlying MSBuild engine to meet whatever business or development needs you may have.

5-46

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Common Issues Related to Administering Team Foundation Build


Identify the causes for the following common issues related to administering Team Foundation Build and fill in the troubleshooting tips with more details. For more information, refer to relevant lessons in the module.
Issue The Team Build server is constantly running builds and the queue length keeps extending, delaying the teams continuous integration builds unacceptably. Troubleshooting tip

The quality reports are difficult to read since they depend on builds on the X-axis which are not related to time.

Administering Team Foundation Build

5-47

MCT USE ONLY. STUDENT USE PROHIBITED

Real-world Issues and Scenarios


1. In most cases, the wizard will only supply a base build script that will need to be edited. Although it is difficult to learn and use MSBuild when you are just starting out, the payback is huge to the entire development team. In many cases, it takes pulling one developer off of the team for a period of a few days to a few weeks (depending on the complexity of the build) to fully automate all the possible build scenarios. However, after this is complete, you have a standard, repeatable build process that avoids human error. 2. Many organizations use virtualized machines for both the Team Build box and the deployment environment. This ensures that they get a clean repeatable build on clean, unpolluted machines.

Best Practices Related to Administering Team Foundation Build


Supplement or modify the following best practices for your own work situations: In most cases, it is a good idea to install Team Build on a machine different than either the application or data tier of Team Foundation Server. Compilation tends to use a lot of processor and other system resources which can slow Team Foundation Server performance. Implement an automated Team Build very early in the development lifecycle. An automated build is a very powerful way to improve software quality. When you extend the TFSBuild.proj file, be sure to create functionality that responds appropriately when the Team Build is executed locally as a desktop build.

MCT USE ONLY. STUDENT USE PROHIBITED

Managing Team Foundation Reporting

6-1

MCT USE ONLY. STUDENT USE PROHIBITED

Module 06
Managing Team Foundation Reporting
Contents:
Lesson 1: Overview of Reporting Lesson 2: Architectural Components of Reporting Lesson 3: Managing Reports Lesson 4: Creating Custom Team System Reports Lab: Customizing Team Foundation Server Reporting 6-3 6-6 6-16 6-22 6-28

6-2

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Module Overview

This module provides you with a broad understanding of the components of Team Foundation Reporting. You can use SharePoint to manage reports and share them with other team members. You can create customized reports using the reporting tools available to you.

Managing Team Foundation Reporting

6-3

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 1

Overview of Reporting

Reporting enables you to review the status of the team project. This improves business value by enhancing the software development process of the organization.

6-4

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Team Foundation Server Reporting

Key Points
A set of standard reports is generated by the New Team Project Wizard according to the specifications in the process template. The data warehouse stores data about work items, quality attributes, testing, test results, and build results. You can use the data to analyze project progress, project health, and the effectiveness of your development and test teams. The reports are listed in alphabetical order in Team Explorer under the Reports node for the team project. You can assess the status of the team project with the help of these reports. You can also add your custom reports.

Question: What types of reports would be useful for determining project status?

Managing Team Foundation Reporting

6-5

MCT USE ONLY. STUDENT USE PROHIBITED

ReportsFeatures and Functions

Key Points
Team Foundation Server reporting greatly enhances the business value of the organization. You can use the reports to assess the status of the team project, the quality of the software under development, and the progress toward being finished with the project. The reports that are created by the process template or by individual team members using Microsoft Excel or Visual Studio 2008 Report Designer are made available through SQL Server 2005 Reporting Services and the team report site. Team Foundation Server reporting makes a large impact on improving an organizations software development process.

Question: How are the metrics used by the Team System reports gathered?

6-6

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 2

Architectural Components of Reporting

This lesson will explain the overall interaction between the various components of Team Foundation Server reportingdata, structure, and tools. You can use Microsoft Excel or Visual Studio Report Designer for interacting with the Team Foundation Server data warehouse. The lesson will also describe how to change the refresh frequency by connecting to the warehouse Web service and also how to add or restrict access to the data warehouse.

Managing Team Foundation Reporting

6-7

MCT USE ONLY. STUDENT USE PROHIBITED

Business Intelligence Strategy

Key Points
Team Foundation Server plays a significant role in defining the business intelligence strategy of an organization. Team Foundation uses the data warehouse for its built-in reporting functionality. You can collect data from past projects and make informed business decisions based on these data. Analysis of the data shows business deficiencies in a quantifiable manner, which can help improve overall productivity and efficiency.

Question: Which is more effectivemaking decisions based on actual metrics or decisions based solely on gut feel? What are the benefits and drawbacks of each?

6-8

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Online Analytical Processing (OLAP) Databases

Key Points
Operational or OLAP databases provide a summary of aggregated summary quickly using a schema that is easily understood by end users. A single OLAP database may contain many cubes, which is the central object in an OLAP database. The team system database, however, consists of a single cube. Team Foundation tool contributes facts to the data warehouse. Each fact is composed of dimensions, measures, and details. Each Team Foundation tool contributes one or more facts to the data warehouse. Each type of fact has a primary relational table and a cube in the OLAP database that draws from that table. Each fact is composed of dimensions, measures, and details.

Question: What is the primary OLAP database in Team System named?

Managing Team Foundation Reporting

6-9

MCT USE ONLY. STUDENT USE PROHIBITED

Data Warehouse Architecture

Key Points
The Team Foundation reporting warehouse is a traditional data warehouse. It consists of a relational database and an OLAP database. Each tool in the relational database describes its contribution to the data warehouse in an XML schema. The warehouse OLAP data cube aggregates both data from the underlying star schema and time data into multidimensional structures. In addition to the Data, Layout, and Preview design surfaces, Report Designer provides query builders and wizards to help you place images or take you stepby-step through the process of creating a simple report. Security for the Team Foundation data warehouse is defined at the database level. The Team Foundation Server administrator determines who has access to the data in the data warehouse by granting or revoking permissions on the user's account.

6-10

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Questions: 1. 2. Is the data aggregated at query execution or earlier? Can you create your own warehouse adapters?

Managing Team Foundation Reporting

6-11

MCT USE ONLY. STUDENT USE PROHIBITED

Reporting Tools

Key Points
Microsoft Excel and Report Designer work well for interacting with the Team Foundation Server data warehouse. While Excel uses PivotTable and PivotChart for viewing and analyzing multidimensional data, Report Designer works with Visual Studio. You can use Microsoft Excel or Report Designer to manage your project and produce reports. Though Excel is easier to use, you will need to use Report Designer if you want to share your reports in Team Explorer or allow users to update the report without granting them read access to the databases.

Question: What makes Excel a powerful reporting tool?

6-12

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Data Warehouse Setup

Key Points
The default properties for the Team System data warehouse set at the time of installation can be changed according to the requirements. You can change the frequency and the security settings of the Team System data warehouse. Write access to the warehouse is restricted to a service account. The Team Foundation Server administrator must grant or revoke permissions on the user's account as appropriate. You should not grant users read-only access to the relational database. A user having permission to view the data in the warehouse for a particular team project has full access to all the data for that project.

Question: Do the data hosted in SQL Server Reporting Analysis Services generally provide real-time data?

Managing Team Foundation Reporting

6-13

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Configuring the Team Foundation Server Data Warehouse

To change the refresh frequency using the Web service interface: 1. 2. 3. 4. 5. Log on to the application tier of Team Foundation Server. In the Internet Explorer address box, type http://localhost:8080/Warehouse/v1.0/warehousecontroller.asmx. On the ControllerService page, click ChangeSetting. In the settingID field, type RunIntervalSeconds. In the newValue field, type the new number of seconds, and then click Invoke.

To add or remove access to the data warehouse: 1. On the Team Foundation data-tier server, from the Start menu, open SQL Server Management Studio. 2. In the Server type list, select Analysis Services.

6-14

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

3. 4.

In the Server name field, select or type the name of the server where the Team Foundation Server data tier is located, and then click Connect. In Object Explorer, expand the <server name> node, expand the Databases node, expand the Team Foundation ServerWarehouse node, and then expand the Roles node. Double-click Team Foundation ServerWarehouseDataReader. In the Edit Role dialog box, in the Select a page pane, click Membership. Click Add to add users or Remove to delete users and follow the instructions on the screen.

5. 6. 7.

Question: Can you call the Web services to update the data warehouse from a computer other than the application-tier computer?

Managing Team Foundation Reporting

6-15

MCT USE ONLY. STUDENT USE PROHIBITED

Data Field Attributes

Key Points
Ensure that you choose the correct data field attributes when creating new custom fields in work item types. By using the work item type definition language, you can specify an optional attribute, reportable, for fields that should be used for reporting. While Work Item Type and State are good examples of a dimension, estimated Work is a good example of a measure. Dimensions are used to slice the data in a report, measures are aggregated to provide the quantitative values in reports, and details are used in list reports.

Questions: 1. 2. How do dimensions and measures relate to pivot tables in Excel? What would you do if you need a particular type of data to act as an X or Y axis in a pivot table in Excel?

6-16

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 3

Managing Reports

The reporting functionality of Team Foundation Server allows you to create informative reports about various aspects of your project. You can share these reports with your entire team using SharePoint Server. This lesson describes how the reporting functionality is integrated with SharePoint Server using the Reporting add-in. You will also be provided with a broad overview of how to manage and protect your reports once you have uploaded them onto the Team Portal.

Managing Team Foundation Reporting

6-17

MCT USE ONLY. STUDENT USE PROHIBITED

Sharing Reports Using SharePoint

Key Points
Run the report on a particular schedule to keep the report accurate. You can upload the report to your team's project portal if you do not want to put the report in a shared folder or send it in e-mail. You can share reports through the project portal and upload reports onto the portal from either Team Explorer or the SharePoint site. If you are managing multiple reports, group them within folders to make it easier to find specific reports.

Question: Do you need a Client Access License (CAL) to access the SSRS reports if they are hosted inside of a SharePoint site?

6-18

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Server Integration Architecture

Key Points
Storing report items and properties in the SharePoint content databases allows you to browse the SharePoint libraries for report server content types. You can also generate report models from the shared data sources and use Report Builder to create reports. The report server supports all scheduled report processing for snapshots and report history. The report server synchronizes operations and data with Windows SharePoint Services and tracks information about the files it processes. You can export a report that is open to different application formats.

Question: What are the advantages and disadvantages of hosting reports inside of a Report Viewer Web Part?

Managing Team Foundation Reporting

6-19

MCT USE ONLY. STUDENT USE PROHIBITED

Managing Report Server Items in SharePoint

Key Points
Custom Reporting Services application pages are added to a SharePoint Web application when you install the Reporting Services Add-in on an instance of Windows SharePoint Services 3.0 or Office SharePoint Server. Configuring a report server to run in the SharePoint integrated mode provides additional functionality that is only available when you deploy a report server in this mode. You can use Management Studio to configure or view report server properties for a report server that runs in the SharePoint integrated mode. A SharePoint site provides a unified portal for accessing and managing all documents in one place. You can view a report in a new customizable Report Viewer Web Part.

Question: If you dont have permission to access the Reporting Services site, but have admin rights on SharePoint, can you see reports as long as they are hosted in SharePoint?

6-20

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Managing Permissions and Security for Report Server Items on a SharePoint Site

Key Points
Permissions on the parent site are inherited throughout the site hierarchy. You can break the permission inheritance for specific items that require additional restrictions. The SharePoint groups have permission levels that provide immediate access to many report server operations. While the Owners group has Full Control permissions, the Members group has Contribute level permissions. The Visitors group, on the other hand, only has Read level permissions. If you find that the built-in security settings do not provide the level of access that you need, you can create custom groups or permission levels.

Question: What are subscriptions?

Managing Team Foundation Reporting

6-21

MCT USE ONLY. STUDENT USE PROHIBITED

Running a Report

Key Points
You can create a subscription that delivers a document based on the original report to a library within the same SharePoint site as the original report. To deliver the document to a library on another server or another site within the same site collection, you must have Add Items permission on the library to which the report is delivered. You can create a subscription that sends a report or an exported report file to your inbox if the report server has the email facility.

Anything that shows a list of work items will nearly always contain data.

Question: After you have run and downloaded a report, can you personally email the report to someone without a CAL?

6-22

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Lesson 4

Creating Custom Team System Reports

Microsoft Visual Studio Team System allows you to use a variety of tools to create reports, depending on your familiarity with a particular tool, and the complexity of the report you want to create. You can use Microsoft Excel to create simple reports, quickly. To create more complex reports, you can use the Report Builder and Report Designer tools. This lesson shows you how to create custom reports using each of these tools.

Managing Team Foundation Reporting

6-23

MCT USE ONLY. STUDENT USE PROHIBITED

Reporting in Microsoft Excel

Key Points
Excel is a great tool to start looking into the data contained in the Team Foundation Server data warehouse. Excel would be useful for business analysts and managers who would want a tool they are already familiar with. You can build the report by creating a PivotTable in the Microsoft Excel workbook and connecting the PivotTable to the data warehouse in Microsoft SQL Server. After building the report, you can rearrange it to view your data from alternate perspectives.

Question: Can you use an Excel pivot table to aggregate data from two or more different team projects?

6-24

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Report BuilderFeatures

Key Points
Report Builder is an alternative to Excel. It helps make customized ad-hoc reports based on a defined model. You can use Report Builder to perform tasks such as finding data that is related to the content in their report or add text and formatting. It is a powerful, yet easy-to-use tool that allows information workers to explore and find information without having to understand the underlying data source structures. Report Builder can be accessed through a URL or from Report Manager.

Report Builder is not well supported for Team Foundation reporting scenarios and is not recommended.

Question: Can you use Report Builder to aggregate data from one or more team projects?

Managing Team Foundation Reporting

6-25

MCT USE ONLY. STUDENT USE PROHIBITED

Report DesignerFeatures

Key Points
Report Designer is a better way to create permanent reports that are important to the entire or a section of the team. Report Designer supports tabular, matrix, or freeform reports. Report Definition Language (RDL) describes all of the features that can be added to a report. While designing a report, you have the option of testing it locally before publishing it to a report server. After a report is published to a report server, you can manage and secure it independently from the report definition file that you work with in Visual Studio.

Question: Can you use Report Designer to aggregate data from one or more team projects?

6-26

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Demonstration: Managing Report Designer

To create a report: 1. 2. 3. 4. 5. Create or open a Report Server project. On the Project menu, click Add New Item. Click Report Wizard, and then click Add. Click the shared data source, and then click Next. Click Query Builder.

To create the query that will retrieve the data for the report: 1. 2. 3. 4. Click the Team System cube. Drag the Cumulative Count measure into the data area. Drag the Person property into the data area. Drag the State property into the data area, and then click OK.

Managing Team Foundation Reporting

6-27

MCT USE ONLY. STUDENT USE PROHIBITED

To design the initial report layout: 1. 2. 3. 4. 5. 6. On the Report Type page, click Matrix. Click Cumulative_Count, and then click Details. Click State, and then click Columns. Click Person, click Rows, and then click Next. Choose a style, and then click Next. Type a name for the report, click Preview Report, and then click Finish to create the report.

To replace the table with a chart: 1. 2. 3. 4. 5. 6. 7. 8. 9. In the report document window, click the Layout tab. From the Toolbox pane, drag a Chart element to the report's layout area, and then size the chart to meet your needs. Right-click the chart, and then click Properties. Click the Data tab, and then click the dataset name. Add a value from the Value list. Under Category groups, click the Add button. Click the appropriate expression in the Expression table. Under Series groups, click the Add button. Click the appropriate expression in the Expression table.

10. Click the Preview tab to display the chart.

To deploy the report: 1. 2. In Solution Explorer, click the report. On the Build menu, click Deploy <ReportName>.

Question: The Report Designer is used to edit existing reports or create new reports. Is this important in your organization?

6-28

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Lab 6: Customizing Team Foundation Server Reporting

Lab Objectives
Create a cumulative flow diagram. Create a build durations report with Reporting Services.

Scenario
When you create a new team project, a set of standard reports are generated based on the process template specifications. You can use these reports to assess the status of the team project and the progress it has been making. As a system administrator at Proseware Inc., you need to connect to the Team Foundation Server data warehouse to collect the project related data stored in there. You also need to create a cumulative flow diagram and display the relevant reports. In order to analyze the build process, you will create a build durations report with Reporting Services that queries the Team Foundation Server data warehouse cube.

Managing Team Foundation Reporting

6-29

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 1: Creating a Cumulative Flow Diagram


Scenario
As a system administrator, you need to connect to the Team Foundation Server data warehouse to collect the project related data stored in there. You also need to create a cumulative flow diagram and display the relevant reports. In this exercise, you will access the Team Foundation Server data warehouse cube using pivot tables in Excel and create a cumulative flow diagram. The main tasks for this exercise are as follows: 1. 2. 3. Set up the lab environment. Connect to the Team Foundation Server warehouse as a data source. Create a cumulative flow diagram (remaining work report) using Excel.

Task 1: Set up the lab environment


Launch 6215A-Proseware-DC1. After 6215A-Proseware-DC1 has fully launched, launch 6215A-Proseware-TFS, and then 6215A-Proseware-CLI. Log on to 6215A-Proseware-CLI with the relevant user name and password.

Task 2: Connect to the Team Foundation Server Warehouse as a Data


Source
From the Start menu, open Microsoft Excel 2007. Click the Data tab. Launch the Data Connection Wizard. On the Connect to Database Server page, type the name of the server. On the Select Database and Table page, select the data cube from the list of data points. Create the data connection and set up a PivotTable Report.

6-30

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Task 3: Create a Cumulative Flow Diagram (remaining work report)


Using Excel
In the PivotTable Field list section in the Show fields related to dropdown box, select Work Item History to filter the fields. Under Work Item History, drag the Cumulative Count field down to the Values area. Drag the Team Project.Team Project field to the Report Filter area. On the worksheet, select the drop-down arrow for Team Project.Team Project and select the ReportingProject team project. Add the Iteration.Iteration field to the Report Filter area, and filter the iteration down to ReportProject\Building on the worksheet. Add the Work Item.Work Item Type field to the Report Filter area, and filter the work item type down to Requirement on the worksheet. Add the Date.Year Month Date field to the Row Labels area, and expand the July, 2008 and August, 2008 nodes in the Row Labels drop-down area. Add the Work Item.State field to the Column Labels area, and clear the Unknown checkbox in the Column Labels drop-down area. In PivotTable Tools tab, click PivotChart. Select the Area chart types, and then choose a template. Move or close the PivotChart Filter Pane to see the initial chart. Right-click the blank space on the chart, and click Move Chart, and then select the New sheet option. Correct the order of the states by moving them at the right location. View the corrected results in the chart.
Results: After this exercise, you should have a basic understanding of the Team Foundation Server cube and a demonstration of the powerful ad-hoc reporting that can be done by project managers, business users, and other non-developers

Managing Team Foundation Reporting

6-31

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 2: Creating a build durations report with Reporting Services


Scenario
Now that you know how to connect to the data warehouse and create a flow diagram using Microsoft Excel, create a new report and deploy it. You also need to add a chart to the report that you create. In this exercise, you will create a build durations report with Reporting Services, that queries the Team Foundation Server data warehouse cube. The main task for this exercise is as follows: 1. 2. 3. 4. 5. 6. Create a new report server project. Create a report data source. Create a report. Add a chart to the report. Deploy the report. Close the virtual machine and discard changes.

Task 1: Create a New Report Server Project


Rom the Start menu, open SQL Server Business Intelligence Development Studio. From the File menu, select New, and then click Project. Select Report Server Project, and give the project a new name.

Task 2: Create a Report Data Source


In Solution Explorer, under the new report project, right-click the Shared Data Sources folder, and click Add New Data Source. Type the data source name and select Microsoft SQL Server Analysis Services from the Type drop down box. Click Edit. Type the server name and connect to the TfsWarehouse database. Create the data source.

6-32

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Task 3: Create a Report


In Solution Explorer, right-click the Reports folder, and select Add New Report. On the Select the Data Source screen, ensure that the newly created data source is selected in the Shared date source drop-down box. On Design the Query screen, click Query Builder. In the Query Builder window, click .. for the cube selection. Select Team System. In the Metadata list, expand Measures, expand Build Details, and then drag Build Details Count and Build Duration to the data pane. Expand Team Project and drag Team Project to the filter pane. Click the Filter Expression drop-down arrow, select the All checkbox, and then select the Parameters checkbox. Expand Build and drag Build, Build Start Time, and Build Type to the data pane. Also drag Build Type to the filter pane. Click the Filter Expression drop-down arrow, select the All checkbox, and then select the Parameters checkbox. Save the query and close the query builder. On the Design the Query screen, select the report type. On the Select the Report Type screen, select Tabular. On the Design the Table screen, add Build Type to the Group fields, and add the remaining fields to the Details fields. On the Choose the Table Layout screen, select the Stepped, Include subtotals, and Enable drilldown checkboxes. On the Choose the Table Style screen, choose a table style. On the Completing the Wizard screen, name the report.

Task 4: Add a Chart to the Report


Expand the Toolbox tab and double-click Chart to insert a chart in the report. Move the report below the fields table and expand the size as desired.

Managing Team Foundation Reporting

6-33

MCT USE ONLY. STUDENT USE PROHIBITED

In the Datasets tab, expand the TfsOlapReportDS node and drag the Build field over the chart. Place the Build field in the category fields list. Drag the Build Type to the series fields and the Build Duration to the data fields.

Task 5: Deploy the Report


In Solution Explorer, right-click the report server project and click Properties. Under the Deployment section, update the target for data source folder, target source folder, and server url. Deploy the Build Durations.rdl file in the Reports folder. Browse to the reports location to display the newly created folder structure and Build Durations report. On Custom Reports, click Build, and then click Build Durations to execute the report. On failure of execution, click the Properties tab. Click Data Sources, and then browse for the data source. Apply the changes and view the report.

Task 6: Close the virtual machine and discard changes


Close the 6215A-Proseware-CLI window and select Turn off machine and discard changes in the Close dialog box. Similarly, close 6215A-ProsewareTFS, and then 6215A-Proseware-DC1. In the Lab Launcher, click Reset All to return the virtual machine to its default state.
Results: After this exercise, you should have successfully created a report project, and created and deployed a report.

6-34

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Module Review and Takeaways

Review Questions
1. How does Visual Studio Team System help in data tracking? Visual Studio Team System enables data tracking and metrics by showing easily understood reports with the help of work items, source control, builds, and tests.

2. How do the reporting capabilities of Team Foundation Server help you in the development process? The reporting capabilities of Team Foundation Server gives you an insight into the current state of your development process and your individual projects, and allows you to fine tune the problem areas as well as plan for the future.

Managing Team Foundation Reporting

6-35

MCT USE ONLY. STUDENT USE PROHIBITED

3. What are the benefits of creating customized reports? Customized reports provide the specific information that your development process or business needs in order to excel.

4. What is the importance of correct input of data in Team Foundation Server? As with anything else, what you put into Team Foundation Server is what you get out. Ensuring the correct use of Team System and valid data being entered into Team Foundation Server will provide integrity for business decisions made from viewing the report data.

6-36

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Common Issues Related to Managing Team Foundation Reporting


Identify the causes for the following common issues related to managing Team Foundation Reporting and fill in the troubleshooting tips with more details. For more information, refer to relevant lessons in the module.
Issue Data in the reports does not contain real-time data. Troubleshooting tip

Reports do not have any data or the data is not usable.

Managing Team Foundation Reporting

6-37

MCT USE ONLY. STUDENT USE PROHIBITED

Real-world Issues and Scenarios


1. Many organizations implement Team System, but fail to use anything other than version control. Eventually, they begin to look at the reports, and are disappointed by the data provided. In order for the reporting in Team System to be useful, you must use (at a very minimum) work items, and associate work items with check-ins. You should also run automated builds. Without using the basic features outside of version control, it is not reasonable to assume that Team System will be able to provide you with effective project tracking, code quality, and other useful metrics.

Best Practices Related to Managing Team Foundation Reporting


Supplement or modify the following best practices for your own work situations: Ensure that the process followed by your team provides sufficient data for accurate reporting metrics. At a minimum, be sure you are using work items and are associating check-ins with those work items. In addition, you should be running scheduled automated builds using Team Build. Use Pivot Tables in Excel for quick ad-hoc reports against data stored in the OLAP server. Use the Report Builder to provide a framework for creating ad-hoc reports against data stored in the relational TfsWarehouse database.

6-38

Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Course Evaluation

Your evaluation of this course will help Microsoft understand the quality of your learning experience. Please work with your training provider to access the course evaluation form. Microsoft will keep your answers to this survey private and confidential and will use your responses to improve your future learning experience. Your open and honest feedback is valuable and appreciated.

Lab 1: Installing and Verifying Team Foundation Server

L1-1

MCT USE ONLY. STUDENT USE PROHIBITED

Installing and Configuring Microsoft Team Foundation Server

Lab 1: Installing and Verifying Team Foundation Server


Scenario
You are an enterprise administrator at Proseware Inc., a large company with geographically distributed teams. You need to install Team Foundation Server so that developers across a team developing new software can access information and work on the project. After you have installed Team Foundation Server, you have to verify if you can access all its services.
This lab provides the steps to install and verify Team Foundation Server. To perform the exercises in this lab, you will have to map the trial ISO file to the CD-ROM on TFS-Install VM. Since the installation may take more than two hours, there will be difficulty in completing the course within two days, this being a 2-day ILT. Therefore, this lab is optional and can be performed by the students on their own during their free time.

Exercise 1: Installing Team Foundation Server


Task 1: Set up the lab environment
1. In the Lab Launcher, next to 6215A-Proseware-DC1, click Launch. After 6215A-Proseware-DC1 has fully launched, repeat for 6215A-Proseware-TFSINSTALL. Log on to 6215A-Proseware-TFS-INSTALL. Use the following details: User Name: TFSSetup Password: Pa$$w0rd

2.

Task 2: Verify the SQL Server installation


1. To verify that the SQL Server services are running, from the Start menu, select All Programs, select Microsoft SQL Server 2005, then Configuration Tools, and finally click SQL Server Configuration Manager.

L1-2

Installing and Configuring Microsoft Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

2. 3.

Ensure that SQL Server 2005 Services is selected, and verify that each service under Name has a green arrow, which indicates that the service is running. Expand SQL Server 2005 Network Configuration (if not expanded), click Protocols for MSSQLSERVER, and then verify that TCP/IP is enabled. Close the SQL Server Configuration Manager window. To verify a connection to the server, from the Start menu, select All Programs, select Microsoft SQL Server 2005, and then click SQL Server Management Studio. A Microsoft SQL Server Management Studio message box appears displaying the configuration process. In the Connect to Server dialog box, verify that Database Engine is selected in the Server type box, and that TFS08-INTALL has been entered in the Server name box. Then click Connect. In Object Explorer, verify that a green arrow appears next to the server name, TFS08-INSTALL. Close the Microsoft SQL Server Management Studio window.

4.

5.

6.

Task 3: Install Team Foundation Server


1. 2. From the Start menu, click My Computer. In the My Computer window, under Devices with Removable Storage, double click the D drive. On the Team Foundation Server Setup page, select Team Foundation Server, and then click Install. a. b. 3. 4. A file download window appears and copies the setup files to your computer. This might take a few minutes. The Microsoft Visual Studio 2008 Team Foundation Server Setup wizard starts.

On the Welcome to Setup page, click Next. On the License Terms and Product Key page, review the licensing terms. If you accept the terms and conditions, select the I have read and accept the license terms check box, and then click Next. On the Destination Folder page, accept the default destination folder, and then click Next. On the Team Foundation Database Server page, verify that TFS08-INSTALL has been entered as the server that hosts the Team Foundation database, and then click Next.

5. 6.

Lab 1: Installing and Verifying Team Foundation Server

L1-3

MCT USE ONLY. STUDENT USE PROHIBITED

7.

On the System Health Check page, the setup wizard scans for conditions that could cause the setup to fail or cause issues later during server operation.

You will receive a warning message saying that the setup has detected one or more potential issues. Click the link to view the detailed information. If the problem is regarding low disk space, then ignore the message and continue with the installation. However, if there are other issues, you must address them before you continue the setup.

8.

After you have addressed the issues, click Rescan to perform the system health check again. If no issues are found, click Next.

You should address warnings before you continue, but these warnings should not prevent you from completing your setup.

9.

On the Team Foundation Server Service Account page, select Specify an account.

10. Type the Windows user account that was created for the Team Foundation Server Service account, that is, proseware\TFSService (ComputerName\AccountName) in the Account Name box. In the Password box, type the password, Pa$$w0rd, and click Next. 11. On the Reporting Services Data Source Account page, select Specify an account. 12. Type the Windows user account that was created for the Team Foundation Server Service account, proseware\TFSReports (ComputerName\AccountName) in the Account Name box. In the Password box, type the password, Pa$$w0rd, and click Next. 13. On the Windows SharePoint Services page, ensure that the Install and configure Windows SharePoint Services 3.0 on this computer option is selected, and then click Next. 14. On the Windows SharePoint Services Service Account page, ensure that the Use Team Foundation Server service account option is selected, and then click Next. The Specify Alert Settings page is displayed.
On the Specify Alert Settings page, you can optionally select Enable Team Foundation Alerts. For this task, leave this check box unchecked, and click Next.

L1-4

Installing and Configuring Microsoft Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

15. On the Specify Alert Settings page, click Next. 16. On the Ready to Install page, review the components and settings. If they are correct, click Install. If you want to change any of the settings, click Previous. 17. On the Installing Components page, monitor the installation of Team Foundation Server. 18. On the Setup Completed Successfully page, verify that the installation is complete, and then click Finish. 19. In the Microsoft Visual Studio 2008 Team Foundation Server Setup dialog box, click Restart Now. 20. Log on to 6215A-Proseware-TFS-INSTALL. Use the following details: User Name: TFSSetup Password: Pa$$w0rd

Task 4: Install Team Explorer


1. 2. From the Start menu, click My Computer. In the My Computer window, under Devices with Removable Storage, double click the D drive. On the Team Foundation Server Setup page, select Team Explorer, and then click Install. a. b. 3. 4. A file download window appears and copies the setup files to your computer. This might take a few minutes. The Microsoft Visual Studio 2008 Team Foundation Server Setup wizard starts.

On the Welcome to Setup page, click Next. On the License Terms page, review the licensing terms. If you accept the terms and conditions, select the I have read and accept the license terms check box, and then click Next. On the Destination Folder page, click Next. On the Ready to Install page, click Install. On the Installing Components page, monitor the installation of Team Foundation Server. On the Setup Completed Successfully page, click Finish. Close the Team Foundation Server Setup wizard.

5. 6. 7. 8. 9.

Lab 1: Installing and Verifying Team Foundation Server

L1-5

MCT USE ONLY. STUDENT USE PROHIBITED

Results: After this exercise, you should have successfully verified that SQL Server Services are working on your computer, and installed Team Foundation Server and Team Explorer.

L1-6

Installing and Configuring Microsoft Team Foundation Server

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 2: Verifying the Team Foundation Server Installation


Task 1: Verify the Reporting Services installation
1. 2. 3. From the Start menu, select All Programs, and then click Internet Explorer. In the Address bar, type http://TFS08-INSTALL/Reports and press ENTER. In the Connect to TFS08-INSTALL dialog box, enter the following details and press ENTER: 4. 5. 6. 7. User name: administrator Password: Pa$$w0rd

In the Internet Explorer dialog box, clear the Continue to prompt when Web sites content is blocked check box, and then click Add. In the Trusted sites dialog box, clear the Require server verification (https:) for all sites in this zone check box, click Add, and then click Close. The SQL Server Reporting Services home page is displayed. Close the Report Manager window.

Task 2: Verify the SharePoint installation


1. 2. From the Start menu, select All Programs, select Administrative Tools, and then click SharePoint 3.0 Central Administration. In the Connect to TFS08-INSTALL dialog box, enter the following details and press ENTER: 3. 4. User name: administrator Password: Pa$$w0rd

The SharePoint portal site is displayed. Close the Home Central Administration window.

Task 3: Verify the Team Foundation Server installation


1. From the Start menu, select All Programs, select Microsoft Visual Studio 2008, and then click Microsoft Visual Studio 2008.

Lab 1: Installing and Verifying Team Foundation Server

L1-7

MCT USE ONLY. STUDENT USE PROHIBITED

2. 3.

From the Tools menu, click Connect to Team Foundation Server. In the Connect to Team Foundation Server dialog box, confirm that TFS08INSTALL is selected, and then click OK.

As this is a new Team Foundation Server installation, no team projects will exist so this is just verifying the connection to the server.

Task 4: Close the virtual machine and discard changes


1. Close the 6215A-Proseware-TFS-INSTALL window. In the Close dialog box, in the What do you want the virtual machine to do? drop-down box, select Turn off machine and discard changes, and then click OK. Similarly, close the 6215A-Proseware-DC1 window. In the 6215A Lab Launcher dialog box, click Reset All. In the Reset All Virtual Machines dialog box, click Yes. This returns the virtual machine to its default state.

2. 3.

Results: After this exercise, you should have successfully verified the functionality of a Team Foundation Server installation.

MCT USE ONLY. STUDENT USE PROHIBITED

Lab 2: Administering Team Foundation Server Instances and Team Projects

L2-9

MCT USE ONLY. STUDENT USE PROHIBITED

Administering Team Foundation Server Instances and Team Projects

Lab 2: Administering Team Foundation Server Instances and Team Projects


Scenario
You are an enterprise administrator at Proseware Inc., a large company with geographically distributed teams. You need to share the team activities including key components of the project. You have to create a new team project using a process template. Then, as you foresee that many field values for work items will continuously change as the project progresses, you have to create a global list. This will ensure that you do not have to edit each work item type definition separately. After this is done, you must assign permissions for the various roles in your project, and also configure security groups for these permissions.

Exercise 1: Creating a New Team Project


Task 1: Set up the lab environment
1. In the Lab Launcher, next to 6215A-Proseware-DC1, click Launch. After 6215A-Proseware-DC1 has fully launched, repeat for 6215A-Proseware-TFS and 6215A-Proseware-CLI. Log on to 6215A-Proseware-CLI. Use the following details: User Name: Darren Password: Pa$$w0rd

2.

Task 2: Create a new team project


1. 2. 3. 4. From the Start menu, select All Programs, select Microsoft Visual Studio 2008, and then click Microsoft Visual Studio 2008. From the Tools menu, click Connect to Team Foundation Server. In the Connect to Team Foundation Server dialog box, click Servers. In the Add/Remove Team Foundation Server dialog box, click Add.

L2-10

Administering Team Foundation Server Instances and Team Projects

MCT USE ONLY. STUDENT USE PROHIBITED

5.

In the Add Team Foundation Server dialog box, in the Team Foundation Server name box, type TFS08 and click OK. Close the Add/Remove Team Foundation Server dialog box. In the Connect to Team Foundation Server dialog box, under Team projects, select the (Select All) check box, and then click OK. In Team Explorer, right-click the server, TFS08, and click New Team Project. The New Team Project on TFS08 dialog box is displayed. On the Specify the Team Project Settings page, in the What is the name of the team project? box, type FirstTeamProject, and click Next. On the Select a Process Template page, verify that the MSF for Agile Software Development v4.2 process template is selected in the Which process template should be used to create the team project? drop-down box, and then click Next.

6. 7. 8. 9.

10. On the Specify the Settings for the Project Portal page, in the What is the description of the team project portal? box, type a description for the team project portal, and click Next. 11. On the Specify Source Control Settings page, leave the default for source control settings to Create an empty source control folder and click Next. 12. On the Confirm Team Project Settings page, review the settings, and click Finish to start creating the team project. 13. The status of the project creation will be shown on the Team Project Creation Status page as each step is completed. (The team project creation could take up to five minutes due to running on a virtual machine.) Debug any errors you may encounter using the error logs after the project is created. 14. On the Team Project Created page, clear the Launch the process guidance for more information about running the team project check box, and click Close.

Task 3: Verify team project creation


1. 2. 3. In Team Explorer, find the newly created FirstTeamProject team project. Expand both the Documents and Reports nodes and ensure that there are items listed under them. To confirm that the Documents folder points to the SharePoint site, right-click FirstTeamProject and click Show Project Portal. On the homepage of the FirstTeamProject window, click the Documents link on the left side of the

Lab 2: Administering Team Foundation Server Instances and Team Projects

L2-11

MCT USE ONLY. STUDENT USE PROHIBITED

screen. The document libraries are displayed in the All Site Content screen. Close the All Site Content window. 4. To confirm that the Reports folder points to the project reports within Reporting Services, in Team Explorer, right-click Reports and click Show Report Site. The homepage of SQL Server Reporting Services displays a list of new reports. Close the Report Manager window. In Team Explorer, expand the Work Items node, expand the Team Queries node, and double-click All Work Items. This query displays the 15 default work items that are created with the chosen process template. Close the All Work Items (Results) tab.

5.

6.

Results: After this exercise, you should have successfully created a team project and verified it in Team Explorer.

L2-12

Administering Team Foundation Server Instances and Team Projects

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 2: Creating a New Global List


Task 1: Create a new global list
1. 2. 3. 4. 5. 6. In Visual Studio 2008, from the Tools menu, select Process Editor, select Global List, and then click Open Global List from Server. Right-click in the white space of the Global List dialog box, and click New Global List. Type a name, such as FirstGlobalList, and press ENTER. Right-click FirstGlobalList and click New Item. Type a name for the new item, such as FirstItem, and press ENTER. Add as many global lists and items as desired, and click OK when finished.

Results: After this exercise, you should have successfully created a new global list.

Lab 2: Administering Team Foundation Server Instances and Team Projects

L2-13

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 3: Configuring Team Foundation Server Security


Task 1: Create a new Team Foundation Server group
1. To open a Command Prompt window, from the Start menu, select All Programs, select Microsoft Visual Studio 2008, select Visual Studio Tools, and, click Visual Studio 2008 Command Prompt. At the command prompt, type the following command and press ENTER to create a new server level security group:

2.

tfssecurity /gcg /server:http://TFS08:8080 ProcessAdmin "Can administer process templates."

3.

To give this group permission to administer the process templates, type the following command and press ENTER:

tfssecurity /a+ $namespace MANAGE_TEMPLATE ProcessAdmin ALLOW /server:http://TFS08:8080

4. 5. 6.

Close the Command Prompt window. To confirm the results, in Team Explorer, right-click TFS08, select Team Foundation Server Settings, and then click Security. In the Global Security dialog box, under Users and Groups, select the newly created ProcessAdmin group and confirm that the Manage process template permission is set to Allow in the Permissions for [Server]\ProcessAdmin section. In the Global Security dialog box, click Close.

7.

Task 2: Add groups and users to a Team Foundation Server Security group
1. 2. 3. In Team Explorer, right-click TFS08, select Team Foundation Server Settings, and then click Group Membership. In the Global Groups on tfs08 dialog box, select the ProcessAdmin group and click Properties. In the Team Foundation Server Group Properties dialog box, select the Windows User or Group option and click Add.

L2-14

Administering Team Foundation Server Instances and Team Projects

MCT USE ONLY. STUDENT USE PROHIBITED

4.

In the Select Users, Computers, or Groups dialog box, in the Enter the object names to select box, type Proseware\TFS Users, click Check Names to verify the group, and then click OK. To finish adding the TFS Users group to the ProcessAdmin Team Foundation Server group, click OK again in the Team Foundation Server Group Properties dialog box, and then close the Global Groups on tfs08 dialog box.

5.

Task 3: Add a server level group to a project level group


1. 2. 3. 4. In Team Explorer, right-click FirstTeamProject, select Team Project Settings, and then click Group Membership. In the Project Groups on FirstTeamProject dialog box, select the Contributors group and click Properties. In the Team Foundation Server Group Properties dialog box, the Team Foundation Server Group option is selected by default, so just click Add. In the Add Group dialog box, select the ProcessAdmin group and click OK. To close the Team Foundation Server Group Properties dialog box, click OK again. In the Project Groups on FirstTeamProject dialog box, click Close. Right-click FirstTeamProject, select Team Project Settings, and then click Security. To give the Contributors group the right to administer builds, in the Project Security dialog box, under Users and Groups, select Contributors, and then select the Allow check box for the Administer a Build permission in the Permissions for [FirstTeamProject]\Contributors section. To finish changing the security permissions, click Close.

5. 6. 7.

8.

Results: After this exercise, you should have successfully created a new Team Foundation Server group and added groups and users to it, and then added a server level group to the FirstTeamProject group.

Lab 2: Administering Team Foundation Server Instances and Team Projects

L2-15

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 4: Authorizing Access to a Team Foundation Server Project


Task 1: Configure server level security
1. 2. In Visual Studio 2008, in Team Explorer, right-click TFS08, select Team Foundation Server Settings, and then click Security. In the Global Security dialog box, under Users and Groups, select the ProcessAdmin group, and then select the Allow check box for the Create new projects permissions in the Permissions for [Server]\ProcessAdmin section. To finish changing server level security permissions, click Close.

3.

Task 2: Configure project level security


1. 2. In Team Explorer, right-click FirstTeamProject, select Team Project Settings, and then click Security. In the Project Security dialog box, under Users and Groups, select the Contributors group, and then select the Allow check box for the Edit build quality permissions in the Permissions for [FirstTeamProject]\Contributors section. To finish changing project level security permissions, click Close.

4.

Task 3: Configure source control security


1. In Team Explorer, expand the FirstTeamProject team project node (if not expanded), and double-click Source Control. In Source Control Explorer, in the Folders pane, right-click FirstTeamProject, and click Properties. The Properties for FirstTeamProject dialog box is displayed. On the Security tab, select the Contributors group, and note the existing permissions. Select the Allow check box for the Check in other users changes permissions, and click OK.

2.

3.

4.

L2-16

Administering Team Foundation Server Instances and Team Projects

MCT USE ONLY. STUDENT USE PROHIBITED

Task 4: Configure area and iteration security


1. In Team Explorer, right-click FirstTeamProject, select Team Project Settings, and then click Areas and Iterations. The Areas and Iterations dialog box is displayed. To modify the root level area security permissions, on the Area tab, click Security. In the Project Security dialog box, click the Add button, and then in the Add Group dialog box, select the ProcessAdmin group, and click OK. Select Allow for all the permissions in the Permissions for [Server]\ProcessAdmin section, and click Close to finish editing the security settings for areas. Since the ProcessAdmin group is already a member of the Contributors group, you do not need to set the Allow permission for viewing and editing work items, as the permissions from both groups will be used. However, an explicit Deny will override Allow permissions. To modify the root level iteration security permissions, on the Iteration tab, click Security. In the Project Security dialog box, click the Add button, and then in the Add Group dialog box, select the ProcessAdmin group, and click OK. Select Allow for all the permissions in the Permissions for [Server]\ProcessAdmin section, and then click Close to finish editing the security settings for iterations. To finish modifying Areas and Iterations security settings, close the Areas and Iterations dialog box.

2.

3.

4.

5.

6.

7.

8.

Results: After this exercise, you should have successfully configured the security settings for the FirstTeamProject team project.

Lab 2: Administering Team Foundation Server Instances and Team Projects

L2-17

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 5: Modifying SharePoint Services Security


Task 1: Add a Windows group as SharePoint contributors
1. In Visual Studio 2008, in Team Explorer, right-click FirstTeamProject, and then click Show Project Portal. On the portal site, click Site Actions on the right side of the screen, and then click Site Settings. Under Users and Permissions, click People and groups. To display the New menu, click the New drop-down arrow, and then click Add Users. In the Users/Groups box, type Proseware\TFS Users and click the Check Names icon to verify the group. Select the Contribute can view, add, update, and delete check box and click OK to finish modifying SharePoint security. Close the Permission: FirstTeamProject window.

2.

3. 4.

5.

6.

7.

Results: After this exercise, you should have successfully added the TFS Users group as SharePoint Contributors in the FirstTeamProject team project.

L2-18

Administering Team Foundation Server Instances and Team Projects

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 6: Modifying SQL Server Reporting Services Security


Task 1: Add a Windows group to the Reporting Services Content Manager role
1. 2. 3. 4. 5. 6. In Visual Studio 2008, in Team Explorer, expand the FirstTeamProject node (if not expanded), right-click the Reports folder, and click Show Report Site. To view the FirstTeamProject folder settings, click the Properties tab in the SQL Server Reporting Services homepage. To view the folder permissions, click the Security tab. Click Edit Item Security and when prompted to apply security settings that are different from the Home parent item, click OK. Click New Role Assignment. In the Group or user name box, type Proseware\TFS Users, select the Content Manager check box under Role, and click OK to finish modifying the Reporting Services security. Close the Report Manager window.

7.

Task 2: Close the virtual machine and discard changes


1. Close the 6215A-Proseware-CLI window. In the Close dialog box, in the What do you want the virtual machine to do? drop-down box, select Turn off machine and discard changes, and then click OK. Similarly, close the 6215A-Proseware-TFS window and 6215A-ProsewareDC1 window. In the 6215A Lab Launcher dialog box, click Reset All. In the Reset All Virtual Machines dialog box, click Yes. This returns the virtual machine to its default state.

2. 3.

Results: After this exercise, you should have successfully assigned the Content Manager role to the TFS Users group.

Lab 3: Administering and Customizing Process Templates

L3-19

MCT USE ONLY. STUDENT USE PROHIBITED

Administering and Customizing Process Templates

Lab 3: Administering and Customizing Process Templates


Scenario
As a project manager in Proseware Inc, you have just had Team Foundation Server installed on your machine. You are now exploring the various process templates available in Microsoft Visual Studio Team System to see how you can apply them to fulfill your requirements. After you have explored the process templates, you have to customize a process template so that it suits the requirements of your project. While customizing the project, if you predict the possibility that certain errors might be frequently repeated, you have to assign these possible bugs as work items.

Exercise 1: Exploring an Existing Process Template


Task 1: Set up the lab environment
1. In the Lab Launcher, next to 6215A-Proseware-DC1, click Launch. After 6215A-Proseware-DC1 has fully launched, repeat for 6215A-Proseware-TFS and 6215A-Proseware-CLI. Log on to 6215A-Proseware-CLI. Use the following details: User Name: Darren Password: Pa$$w0rd

2.

Task 2: Download the Agile Process template


1. From the Start menu, select All Programs, select Microsoft Visual Studio 2008, and then click Microsoft Visual Studio 2008. From the Tools menu, click Connect to Team Foundation Server. In the Connect to Team Foundation Server dialog box, click Servers. In the Add/Remove Team Foundation Server dialog box, click Add.

2. 3. 4.

L3-20

Administering and Customizing Process Templates

MCT USE ONLY. STUDENT USE PROHIBITED

5.

In the Add Team Foundation Server dialog box, in the Team Foundation Server name box, type TFS08 and click OK. Close the Add/Remove Team Foundation Server dialog box. In the Connect to Team Foundation Server dialog box, under Team projects, select the (Select All) check box, and then click OK. In Team Explorer, right-click TFS08, select Team Foundation Server Settings, and then click Process Template Manager. In the TFS08 Settings Process Template Manager dialog box, MSF for Agile Software Development v4.2 (default) is selected by default. Click Download. In the Download Process Template dialog box, browse to C:\TFSTemplates, and then click Save. The successful download message is displayed in the Microsoft Visual Studio dialog box. Click OK, and then close the TFS08 Settings Process Template Manager dialog box.

6.

7.

8.

9.

Task 3: Explore the process template XML files


1. To use Windows Explorer, right-click Start and then click Explore. Browse to C:\TFSTemplates\MSF for Agile Software Development v4.2. To view the raw xml that defines a process template, open the ProcessTemplate.xml file using Notepad. (Right-click ProcessTemplate.xml, select Open With, and then click Notepad.) To see the xml that defines a work item type, browse to C:\TFSTemplates\MSF for Agile Software Development v4.2\WorkItem Tracking\TypeDefinitions and view the xml documents. Close the files after viewing, and then close the TypeDefinitions window.

2.

3.

4.

Lab 3: Administering and Customizing Process Templates

L3-21

MCT USE ONLY. STUDENT USE PROHIBITED

Task 4: Explore the process template through the Process Template Editor
1. In Visual Studio 2008, click File, select Open, and then click File. In the Open File dialog box, browse to the C drive, double-click the TFSTemplates folder, double-click the MSF for Agile Software Development v4.2 folder, select Process Template, and then click Open. This opens the file within the Process Template Editor that provides you with a GUI with which to make changes to the process template and work item types. Spend a few minutes to go through the various pieces of a process template, familiarize yourself with the Process Template Editor, and then close the ProcessTemplate.xml tab.

2.

Results: After this exercise, you should have a basic understanding of process templates within Team Foundation Server as well as familiarization with the tools that can be used to edit the process template files.

L3-22

Administering and Customizing Process Templates

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 2: Customizing a Process Template


Task 1: Edit the process template title and description
In case any changes were made to the process template in the previous exercise, delete the previously downloaded template folder at C:\TFSTemplates, and download a new copy of the MSF for Agile Software Development v4.2 process template.

1.

To use Windows Explorer, right-click Start, and then click Explore. Browse to C:\TFSTemplates\MSF for Agile Software Development v4.2, and open the ProcessTemplate.xml file with Notepad. (Right-click ProcessTemplate.xml, select Open With, and then click Notepad.) Find the <name> xml tag and change the name of the process template to TFS Course Template or another name of your choice. Change the content of the <description> tag to fit this new template name. Save and close the file.

2.

3. 4.

Task 2: Add a new check-in note


1. In MSF for Agile Software Development v4.2 folder, double-click the Version Control folder, open the VersionControl.xml file with Notepad. (Right-click VersionControl.xml, select Open With, and then click Notepad.) Find the tags starting with <checkin_note and add the following line after them:

2.

<checkin_note label=Course Reviewer required=true order=4 />

3.

Save and close the file. Close the Version Control window.

Task 3: Add default areas and iterations


1. In Visual Studio 2008, click File, select Open, and then click File. In the Open File dialog box, select Process Template, and then click Open.

Lab 3: Administering and Customizing Process Templates

L3-23

MCT USE ONLY. STUDENT USE PROHIBITED

2. 3.

In the Methodology Detail section, verify the name and description changes. To verify the additional check-in note, in the Methodology tree, under the Source Control section, click Checkin Notes. Under Areas & Iterations, click Areas. On the Areas tab, select Area in the pane, and then click the New Node button below the tab and name it TFS Course or use another name of your choice. On the Iterations tab, select Iteration in the pane, click the New Node button below the tab, and name it Day 1 or use another name of your choice. Also add a node under the root, name it Day 2 or use another name of your choice. Save and close the file.

4.

5.

6.

Task 4: Verify the process template changes


1. To open the Process Template Manager in Team Explorer, right-click TFS08, select Team Foundation Server Settings, and then click Process Template Manager. In the TFS08 Settings Process Template Manager dialog box, MSF for Agile Software Development v4.2 (default) is selected by default. Click Upload, and browse to C:\TFSTemplates\MSF for Agile Software Development v4.2. This directory contains the modified Process Template file.

2.

You renamed the process template but the folder containing the process template was not renamed so the file path will still be C:\TFSTemplates\MSF for Agile Software Development v4.2.

3. 4.

In the Upload Process Template dialog box, click Upload. After the process template is verified and uploaded, click OK on the Microsoft Visual Studio dialog box. The new process template will show on the list. Close the TFS08 Settings - Process Template Manager dialog box.

5.

L3-24

Administering and Customizing Process Templates

MCT USE ONLY. STUDENT USE PROHIBITED

6.

In Team Explorer, right-click the server, TFS08, and select New Team Project. The New Team Project on TFS08 dialog box opens. On the Specify the Team Project Settings page, in the What is the name of the team project? box, type SecondTeamProject as the name of the team project, and click Next. On the Select a Process Template page, from the Which process template should be used to create the team project? drop-down list, select the newly created process template, TFS Course Template, and click Next. On the Specify the Settings for the Project Portal page, in the What is the description of the team project portal? box, type a description for the team project portal, and click Next.

7.

8.

9.

10. On the Specify Source Control Settings page, leave the default for source control settings to Create an empty source control folder, and click Next. 11. On the Confirm Team Project Settings page, review the settings, and click Finish to start creating the team project. The status of the project creation will be shown on the Team Project Creation Status page as each step is completed. (The team project creation can take up to five minutes because it is running on a virtual machine.)

12. On the Team Project Created page, clear the Launch the process guidance for more information about running the team project check box, and click Close. Results: After this exercise, you should have successfully customized a process template.

Lab 3: Administering and Customizing Process Templates

L3-25

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 3: Customizing Work Item Types


Task 1: Add a new field to the Bug work item
1. To open a Command Prompt window, on the Start menu, select All Programs, select Microsoft Visual Studio 2008, select Visual Studio Tools, and then click Visual Studio 2008 Command Prompt. At the command prompt, type the following witexport command and press ENTER to export the xml type of the Bug work item type for editing purposes:

2.

witexport /f C:\Bug.xml /t http://TFS08:8080 /p ProcessTemplateProject /n Bug

/f specifies the destination file, /t specifies the server, /p specifies the team project, /n specifies the work item type.

3.

To use Windows Explorer, right-click Start and then click Explore. Browse to the C drive and open the Bug.xml file with Notepad. (Right-click Bug.xml, select Open With, and then click Notepad.) Find the </FIELDS> tag before the <WORKFLOW> tag, and add the following line before it to add the new field:

4.

<FIELD name=CourseRating refname=Course.CourseRating type=String />

5. 6.

Find the <FORM> section and scroll down to <Group Label=Status>. In the <Group Label=Status> section, before the </Column> tag, find the control type tag with the field name Microsoft.VSTS.Common.Rank, and add the following line after it to add the new field to the forms display:

<Control Type=FieldControl FieldName=Course.CourseRating Label=&amp;Course rating: LabelPosition=Left />

7. 8.

Save and close the file. At the command prompt, type the following witimport command and press ENTER to import the edited xml type for the Bug work item type to the server:

L3-26

Administering and Customizing Process Templates

MCT USE ONLY. STUDENT USE PROHIBITED

witimport /f C:\Bug.xml /t http://TFS08:8080 /p ProcessTemplateProject

9.

Close the Command Prompt window.

10. In Team Explorer, expand the ProcessTemplateProject node to view the folders under it. Right-click ProcessTemplateProject and click Refresh to get the updated Bug type on the client machine. 11. Under ProcessTemplate Project, right-click Work Items, select Add Work Item, and then click Bug to create a new bug work item. Confirm that the new Course rating field has been added under the Rank field within the Status section on the left center of the work item form. Give a title to the work item and then save and close the form.

Task 2: Add a bug to the newly created field on the Bug work item
1. In Visual Studio 2008, from the Tools menu, select Process Editor, select Work Item Types, and click Open WIT from File. In the Select Work Item Type file dialog box, select the Bug.xml file on the root of the C drive, and click Open. In the list of fields, find the CourseRating field that was created in the previous exercise, right-click it, and then click Open. In the Field Definition dialog box, click the Rules tab and then click New. In the Select a rule type dialog box, verify that ALLOWEDVALUES is selected, and then click OK. In the ALLOWEDVALUES dialog box, click New. The List Item Edit dialog box is displayed. In the List Item field, type Great, and then click OK. Repeat this step to add Good, Ok, and Not Good to the list of allowed values. Click OK to close the ALLOWEDVALUES dialog box, and then click OK again to close the Field Definition dialog box. The ALLOWEDVALUES rule will turn the text box into a drop-down list which prevents any other value from being entered.

2.

3.

4. 5.

6.

Lab 3: Administering and Customizing Process Templates

L3-27

MCT USE ONLY. STUDENT USE PROHIBITED

As you may have noticed, there are quite a few rules that we have not covered. More information on these rules can be found at the following link: http://msdn.microsoft.com/en-us/library/aa337661(VS.80).aspx

7.

To verify the added allowed values, click the Layout tab, and then click Preview Form. Notice that the Course rating field is now a drop-down list with the list of allowed values that were defined in the field definition. Close the Bug form when done. Click the Workflow tab to find the transition from Active to Resolved (This is the transition with the diamond on the Active state box and the arrow pointing towards the Resolved state box). Right-click the upper Transition box between the Active and Resolved boxes, click Open Details, and review the information in the Workflow Transition dialog box. Confirm that the From box says Active and the To box says Resolved in the initial Transition Detail tab.

8.

9.

10. In the Workflow Transition dialog box, click the Fields tab, and then click New. In the RefName drop-down list, find and select the Course.CourseRating field. 11. In the same dialog box, click the Rules tab, and then click New. In the Select a rule type dialog box, select REQUIRED and click OK. 12. Click OK in the REQUIRED dialog box, click OK in the Field Reference dialog box, and then click OK in the Workflow Transition dialog box. The REQUIRED rule on the Active to Resolved transition means that the CourseRating field is required to have a value during that transition only. Many more rules can be applied on transitions and states to fully control the behavior of the workflow and the usage of the work item. 13. Click on the Save icon to save the Bug.wit file. 14. From the Tools menu, select Process Editor, select Work Item Types, and click Import WIT.

L3-28

Administering and Customizing Process Templates

MCT USE ONLY. STUDENT USE PROHIBITED

15. In the Import Work Item Type Definition dialog box, click the Browse button, and browse to the root of the C drive, select the Bug.xml file, and click Open. Select ProcessTemplateProject from the list of projects to import to and click OK. 16. In Team Explorer, right-click ProcessTemplateProject, and then click Refresh to get the latest bug definition. 17. Under ProcessTemplateProject, right-click Work Items, select Add Work Item, and then click Bug to create a new bug work item. Name the bug and save it. Under the Status section, change the State field from Active to Resolved, and confirm that the Course rating field is now required before the bug can be saved. Choose a value from the Course rating drop-down box, and then save and close the bug.

Task 3: Close the virtual machine and discard changes


1. Close the 6215A-Proseware-CLI window. In the Close dialog box, in the What do you want the virtual machine to do? drop-down box, select Turn off machine and discard changes, and then click OK. Similarly, close the 6215A-Proseware-TFS window and 6215A-ProsewareDC1 window. In the 6215A Lab Launcher dialog box, click Reset All. In the Reset All Virtual Machines dialog box, click Yes. This returns the virtual machine to its default state.

2. 3.

Results: After this exercise, you should have successfully added a field to a Bug work item type.

Lab 4: Administering Team Foundation Server Version Control

L4-29

MCT USE ONLY. STUDENT USE PROHIBITED

Administering Team Foundation Server Version Control

Lab 4: Administering Team Foundation Server Version Control


Scenario
As a system administrator at Proseware Inc., you have to set up a workspace for your team. You will do this in two ways, firstly, by editing a previously existing workspace, and secondly, by creating a new workspace. You also have to delete the workspace for a team member who will no longer be working on the project and also set up labels and shelvesets for the source code that will be entered by the members of the new team.

Exercise 1: Managing Workspaces


Task 1: Set up the lab environment
1. In the Lab Launcher, next to 6215A-Proseware-DC1, click Launch. After 6215A-Proseware-DC1 has fully launched, repeat for 6215A-Proseware-TFS and 6215A-Proseware-CLI. Log on to 6215A-Proseware-CLI. Use the following details: User Name: Darren Password: Pa$$w0rd

2.

Task 2: Edit an existing workspace


1. 2. 3. 4. 5. From the Start menu, select All Programs, select Microsoft Visual Studio 2008, and then click Microsoft Visual Studio 2008. From the Tools menu, click Connect to Team Foundation Server. In the Connect to Team Foundation Server dialog box, click Servers. In the Add/Remove Team Foundation Server dialog box, click Add. In the Add Team Foundation Server dialog box, in the Team Foundation Server name box, type TFS08 and click OK. Close the Add/Remove Team Foundation Server dialog box.

L4-30

Administering Team Foundation Server Version Control

MCT USE ONLY. STUDENT USE PROHIBITED

6. 7.

In the Connect to Team Foundation Server dialog box, under Team projects, select the (Select All) check box, and then click OK. From the View menu, select Other Windows, and then click Source Control Explorer.

An empty workspace is automatically created for a user the first time they load Source Control Explorer if they do not have any other workspaces.

8.

On the Source Control Explorer toolbar, from the Workspace drop-down list, click Workspaces.

Due to the VM resolution, the drop-down list may be hidden in the Toolbar Options drop-down. In such a case, you will need to hide the Team Explorer pane.

9.

In the Manage Workspaces dialog box, verify that CLI is selected, and click Edit.

10. In the Edit Workspace CLI dialog box, under Source Control Folder, doubleclick $/VersionControlProject/TFSCalc and click . 11. In the Browse For Folder dialog box, select VersionControlProject and click OK. 12. Under Local Folder, click the default path next to VersionControlProject, and then click . 13. In the Browse For Folder dialog box, browse to C:\Sources, and then click the Make New Folder button. Right-click New Folder under Sources, click Rename, and name the new folder VersionControlProject. Select the VersionControlProject folder and click OK. 14. In the Edit Workspace CLI dialog box, click OK. Alternatively, the paths can be typed directly into the path boxes, bypassing the popup. 15. When prompted to get the latest files because of a change in workspace mappings, click Yes. 16. In the Microsoft Visual Studio dialog box, click OK to acknowledge the message that the TFSCalc folder cannot be deleted. 17. Close the Manage Workspaces dialog box. The VersionControlProject is now no longer grayed out in Source Control Explorer, which indicates that the project is mapped in your current workspace.

Lab 4: Administering Team Foundation Server Version Control

L4-31

MCT USE ONLY. STUDENT USE PROHIBITED

Task 3: Create a New Workspace


1. To open a Command Prompt window, on the Start menu, select All Programs, select Microsoft Visual Studio 2008, select Visual Studio Tools, and then click Visual Studio 2008 Command Prompt. At the command prompt, type the following command and press ENTER to create a new workspace:

2.

tf workspace /new /noprompt /computer:TFS08 /s:TFS08 CourseWorkspace

3. 4. 5. 6.

In Visual Studio 2008, go to Source Control Explorer. On the Source Control Explorer toolbar, from the Workspace drop-down list, select Workspaces. In the Manage Workspaces dialog box, confirm that the new workspace has been created, and then close the Manage Workspaces dialog box. At the command prompt, type the following command and press ENTER to clone your workspace for another user:

tf workspace /new /template:CourseWorkspace;Darren /computer:TFS08 /s:TFS08 AmyWorkspace;Amy

7. 8. 9.

In the Add Workspace dialog box, under SourceControl Folder, click $/, and then click . In the Browse for Folder dialog box, expand TFS08, click VersionControlProject, and then click OK. Under Local Folder, click the default mapping next to VersionControlProject, and then click .

10. In the Browse for Folder dialog box, browse to C:\Sources, click the Make New Folder button, name the folder VersionControlProjectAmy, and then click OK.
In normal circumstances, the new workspace would be created on Amys computer. However, since the VPC is only one machine, the local folder needs to be changed because multiple workspaces cannot map the same server folder to local folder on the same computer.

L4-32

Administering Team Foundation Server Version Control

MCT USE ONLY. STUDENT USE PROHIBITED

11. When finished, click OK in the Add Workspace dialog box to create the new workspace.

Task 4: View and remove workspaces


1. Open the Visual Studio 2008 Command Prompt window. Type the following command and press ENTER to display all the workspaces that exist on the server:

tf workspaces /owner:* /server:TFS08

2.

To delete Darrens workspace created in task 2, type the following command and press ENTER:

tf workspace /delete /server:TFS08 CourseWorkspace;Darren

3.

When prompted if you are sure you want to delete the workspace, type Yes and press ENTER.

The pending changes count tells you if the workspace you are attempting to delete has unfinished work that has not been checked in.

4.

To confirm that the workspace has been deleted, type the following command and press ENTER:

tf workspaces /owner:* /server:TFS08

Tip: A third party tool, called Team Foundation Sidekicks by Attrice, to provide a GUI for managing workspaces as well as some other aspects of Team Foundation Server can be found at the following link: http://www.attrice.info/cm/tfs/index.htm

Results: After this exercise, you should have successfully created and deleted workspaces for your team members.

Lab 4: Administering Team Foundation Server Version Control

L4-33

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 2: Managing labels and shelvesets


Task 1: Work with labels
1. Open the Visual Studio 2008 Command Prompt window. To create a new label for the latest version of the TFSCalc source code, type the following command and press ENTER:

tf label /server:http://TFS08:8080 TFSCalc_CommandLineLabel $/VersionControlProject/TFSCalc/ /version:T /comment:This is a command line label /recursive

To view all the labels on the server, type the following command and press ENTER:

tf labels

To delete a label, type the following command and press ENTER:

tf label /server:http://TFS08:8080 /delete TFSCalc_DeleteMe

To confirm the label deletion, type the following command and press ENTER:

tf labels

2. 3. 4.

In Visual Studio 2008, go to Source Control Explorer and find the VersionControlProject in the Folders pane. Expand the VersionControlProject node and right-click the TFSCalc root folder, and then click Apply Label. In the Choose Item Version dialog box, you can select a specific date, changeset, workspace version, etc. Select Latest Version, if not already selected, in the Version drop-down box and click OK. In the Apply Label for TFSCalc dialog box, in the Name box, type TFSCalc_GUILabel, add a comment, and click OK. From the File menu, select Source Control, select Label, and then click Find Label. In the Find Label dialog box, choose VersionControlProject from the Project drop-down list, and click Find. The newly created TFSCalc_GUILabel and TFSCalc_CommandLineLabel should be displayed in the Results pane.

5. 6. 7.

L4-34

Administering Team Foundation Server Version Control

MCT USE ONLY. STUDENT USE PROHIBITED

8. 9.

Select the TFSCalc_CommandLineLabel and click Delete. When prompted for delete confirmation, click OK. Close the Find Label dialog box.

Labels can be edited with no tracing as to who made the change or what was changed, so they cannot be used for compliance auditing purposes. Labels are global, so defining a good naming standard that uniquely defines a label for a specific application and specific branch at a specific time is necessary.

Task 2: Work with shelvesets


1. 2. 3. 4. 5. 6. 7. 8. 9. In Visual Studio 2008, go to Source Control Explorer. In the Folders pane, right-click the root-level TFSCalc folder under Version Control Project, and then click Get Latest Version. In the Microsoft Visual Studio dialog box, click OK to acknowledge the message that all files are up to date. In the pane next to the Folders pane, under Name, double-click the TFSCalc.sln file to open it in Solution Explorer. If the Solution Explorer is not open, from the View menu, click Solution Explorer. In Solution Explorer, right-click the Default.aspx file, and click View Code. Add a comment, //<comment>, to the file and save it. In Solution Explorer, right-click the Default.aspx file, and click Shelve Pending Changes. In the Shelve Source Files Workspace: CLI dialog box, in the Shelveset name box, type TFSCalc_ShelvedComment and add a comment in the Comment box.

10. Clear the Preserve pending changes locally check box on the lower left of the dialog box to undo checkout after the shelving is complete, and then click Shelve. The Default.aspx.cs file is reverted to the state before the comment was made. 11. From the File menu, select Source Control, and then click Unshelve Pending Changes.

Lab 4: Administering Team Foundation Server Version Control

L4-35

MCT USE ONLY. STUDENT USE PROHIBITED

12. In the Unshelve dialog box, under Results, the shelveset named TFSCalc_ShelvedComment should appear as well as a previously created shelveset. 13. Select the TFSCalc_ShelvedComment shelveset, and then click Details. The Shelveset Details dialog box is displayed. 14. Clear the Preserve shelveset on server check box, and then click Unshelve to delete the shelveset from the server and pull the changes down to the local workspace. 15. A confirmation dialog box opens. Click Yes. 16. In Solution Explorer, right-click the Default.aspx file and click Check In. 17. In the Check In Source Files Workspace: CLI dialog box, in the Comment box, add some check-in comments and click Check In. 18. At the command prompt, type the following command and press ENTER to view all the shelvesets owned by the current user: tf shelvesets 19. To delete the shelveset named TFSCalc_DeleteShelveset, type the following command and press ENTER: tf shelve /delete /server:http://TFS08:8080 TFSCalc_DeleteShelveset 20. When prompted to confirm the deletion, type Yes and press ENTER. 21. Type the following command and press ENTER to confirm that the shelveset was deleted: tf shelvesets

Shelvesets permanently reside on the server until they are unshelved with the Preserve shelveset on the server option cleared or manually deleted. Regular monitoring of the shelvesets in existence is necessary with heavy usage to prevent disk space issues. Shelvesets are global by user, so a good naming standard that uniquely identifies the shelveset is necessary to make it easy to get back to.

Results: After this exercise, you should have an understanding of how labels and shelvesets work within Team Foundation Server.

L4-36

Administering Team Foundation Server Version Control

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 3: Migrating from Visual SourceSafe to Team Foundation Server Version Control
Task 1: Analyze the SourceSafe database
1. To use Windows Explorer, right-click Start and then click Explore. Browse to C:\VSS2TFS and open the AnalyzeSettings.xml file with Notepad to view its format. (Right-click AnalyzeSettings.xml, select Open With, and then click Notepad.) 2. The <Source> tag defines the SourceSafe database to be analyzed. The <ProjectMap> tag defines the individual folders to be analyzed, or you can use $/to analyze the entire database. Optionally, you can set the output file to a specific name in the <Settings> tag.

Open the Command Prompt window. To change to the VSS2TFS directory, type the following command and press ENTER:

cd C:\VSS2TFS

3.

To analyze the SourceSafe database, type the following command and press ENTER:

VSSConverter Analyze AnalyzeSettings.xml

4.

When prompted for the VSS administrator password, press ENTER as no password is defined. The analysis will continue and will display the number of files analyzed and the number of warnings and errors when finished. In Windows Explorer, open the AnalysisResults.xml file with Notepad. (Right-click AnalysisResults.xml, select Open With, and then click Notepad.) This summary report breaks down the results of the analysis and details of any warnings or errors that need to be looked at before the migration takes place.

5.

Task 2: Update the user mapping 1. In C:\VSS2TFS, open the UserMap.xml file with Notepad. (Right-click
UserMap.xml, select Open With, and then click Notepad.)

Lab 4: Administering Team Foundation Server Version Control

L4-37

MCT USE ONLY. STUDENT USE PROHIBITED

This file is used to map the SourceSafe users to Team Foundation Server users since the same users name may have changed or a user may no longer be valid within Team Foundation Server. In cases where the user is no longer valid, map them to a generic account or another user so the migration succeeds.

2.

Set the <UserMappings> tag as follows:

<UserMap From=Administrator To=TFS08\Darren /> <UserMap From=ADMIN To=TFS08\Darren />

3.

Save and close the file.

Task 3: Migrate the SourceSafe database


1. Return to the VSS2TFS folder and open the MigrateSettings.xml file with Notepad. (Right-click MigrateSettings.xml, select Open With, and then click Notepad.) The <Source> tag defines the SourceSafe database to be migrated as found in the Analyze Settings file and the <UserMap> tag is also added here to define the user mapping for the conversion. The <ProjectMap> tag defines the individual folders to be migrated as well as the destination folder on the Team Foundation Server. The file is set to migrate the VSS_TFSCalc database to the Migration folder under the root of the VSS2TFSProject team project within Team Foundation Server. The <Settings> tag contains the information for the destination Team Foundation Server instance. Optionally, the output file can be set to a specific name in the <Settings> tag.

2. 3.

Close the MigrateSettings.xml file and return to the Command Prompt window or open a new one at the C:\VSS2TFS directory. To migrate the SourceSafe database to Team Foundation Server, type the following command and press ENTER.

VSSConverter Migrate MigrateSettings.xml

4.

When prompted to confirm the migration, type Y, and when prompted for the administrator password, press ENTER. The migration continues and displays

L4-38

Administering Team Foundation Server Version Control

MCT USE ONLY. STUDENT USE PROHIBITED

the number of actions completed and the number of warnings and errors when finished. Close the Command Prompt window when finished. 5. In the VSS2TFS folder, open the MigrationResult.xml file with Notepad. (Right-click MigrationResult.xml, select Open With, and then click Notepad.) Similar to the analysis results, this summary report breaks down the results of the migration, and details any warnings or errors that occurred. This is the first place to start when validating the migration. Close the file after viewing the result. In Visual Studio 2008, go to Source Control Explorer. In the Folders pane, under VSS2TFSProject, select the TFSCalc folder and confirm that the folder now contains the migrated code from the SourceSafe database. The migrated folders and code files that will be displayed in the pane next to the Folders pane are App_Data, bin, obj, Properties, Default.aspx, Default.aspx.cs, Default.aspx.designer.cs, TFSCalc.csproj, TFSCalc.csproj.user, TFSCalc.csproj.vspscc, and Web.config.

6.

Task 4: Close the virtual machine and discard changes


1. Close the 6215A-Proseware-CLI window. In the Close dialog box, in the What do you want the virtual machine to do? drop-down box, select Turn off machine and discard changes, and then click OK. Similarly, close the 6215A-Proseware-TFS window and 6215A-ProsewareDC1 window. In the 6215A Lab Launcher dialog box, click Reset All. In the Reset All Virtual Machines dialog box, click Yes. This returns the virtual machine to its default state.

2. 3.

Results: After this exercise, you should have an understanding of the migration steps necessary to move from Visual SourceSafe to Team Foundation Server version control.

Lab 5: Administering a Team Build

L5-39

MCT USE ONLY. STUDENT USE PROHIBITED

Administering Team Foundation Build

Lab 5: Administering a Team Build


Scenario
As a system administrator at Proseware Inc., you will go through the installation of Team Build and set up a build machine to use with Team Foundation Server. After you have installed Team Build, you have to configure the build agent. You also have to configure a build machine for Team Foundation Server, and then customize the Team Build project file.

Exercise 1: Installing Team Build


Task 1: Set up the lab environment
1. In the Lab Launcher, next to 6215A-Proseware-DC1, click Launch. After 6215A-Proseware-DC1 has fully launched, repeat for 6215A-Proseware-TFS and 6215A-Proseware-CLI. Log on to 6215A-Proseware-CLI. Use the following details: User Name: Darren Password: Pa$$w0rd

2.

Task 2: Install Team Build


1. 2. 3. 4. From the Start menu, click My Computer. In the My Computer window, under Devices with Removable Storage, double-click the D drive. On the Team Foundation Server Setup page, select Team Foundation Build, and then click Install. A file download window appears and copies the setup files to your computer. This might take a few minutes. The Microsoft Visual Studio 2008 Team Foundation Server Build Setup wizard starts.

L5-40

Administering Team Foundation Build

MCT USE ONLY. STUDENT USE PROHIBITED

5. 6.

On the Welcome to Setup page, click Next. On the License Terms page, review the licensing terms. If you accept the terms and conditions, select the I have read and accept the license terms check box, and then click Next. On the System Health Check page, the setup wizard scans for conditions that could cause the setup to fail or cause issues later during server operation.

7.

You will receive a warning message saying that the setup has detected one or more potential issues. Click the link to view the detailed information. If the problem is regarding low disk space, then ignore the message and continue with the installation. However, if there are other issues, you must address them before you continue the setup.

8.

After you have addressed the issues, click Rescan to perform the system health check again. If no issues are found, click Next.

You should address warnings before you continue, but these warnings should not prevent you from completing your setup.

9.

On the Destination Folder page, click Next.

10. On the Team Foundation Server Service Account page, select Specify an account. 11. Type the Windows user account that was created for the Team Foundation Server Build account, proseware\TFSBuild (ComputerName\AccountName), in the Account Name box. In the Password box, type Pa$$w0rd, and click Next.
Using a specific account requires that the account be added to the Build Services group in each team project within Team Foundation Server.

12. On the Ready to Install page, click Install. 13. On the Installing Components page, monitor the installation of Team Build. 14. On the Setup Completed Successfully page, verify that the installation is complete, and then click Finish. 15. Close the Team Foundation Server Setup wizard and the My Computer window.

Lab 5: Administering a Team Build

L5-41

MCT USE ONLY. STUDENT USE PROHIBITED

Results: After this exercise, you should have Team Build installed on your machine

L5-42

Administering Team Foundation Build

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 2: Configuring a Build Agent


Task 1: Create a new build agent
1. 2. 3. 4. 5. From the Start menu, select All Programs, select Microsoft Visual Studio 2008, and then click Microsoft Visual Studio 2008. In the Tools menu, click Connect to Team Foundation Server. In the Connect to Team Foundation Server dialog box, click Servers. In the Add/Remove Team Foundation Server dialog box, click Add. In the Add Team Foundation Server dialog box, in the Team Foundation Server name box, type TFS08 and click OK. Close the Add/Remove Team Foundation Server dialog box. In the Connect to Team Foundation Server dialog box, select the BuildProject check box and click OK. In Team Explorer, wait for the folders to retrieve data. In Team Explorer, under BuildProject, right-click the Builds folder and click Manage Build Agents. To create a new build agent, in the Manage Build Agents dialog box, click New. In the Build Agent Properties dialog box, in the Display name box, type a name, for example, BuildMachine1 and also type a description.

6.

7. 8. 9.

10. Type CLI as the computer name. 11. Change the Working directory to C:Work\$(BuildDefinitionPath)
Using $(Temp) will place the working directory into a deep folder structure under the documents and settings of the build account. This can be problematic for file length limits if your source tree has deep structures as well.

12. To save the new build agent, click OK, and then close the Manage Build Agents dialog box. Results: After this exercise, you should have successfully configured a build agent within Team Foundation Server.

Lab 5: Administering a Team Build

L5-43

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 3: Creating a Team Build


Task 1: Create a new build definition
1. 2. 3. Under the BuildProject team project in Team Explorer, right-click the Builds folder, and click New Build Definition. In the Build Definition dialog box, in the Build definition name box, type CourseBuild and optionally, type a description. Click the Workspace tab. Click the first box under Source Control Folder, and then click . In the Browse For Folder dialog box, under Folders, expand the Build Project node, select TFSCalc, and then click OK.

Limiting your build workspace to just what is necessary for the build definition you are creating will speed up your builds by limiting the number of source controlled files that needs to be pulled down.

4. 5. 6. 7. 8.

To create a new build definition file, on the Project File tab, click Create. The MSBuild Project File Creation Wizard starts. On the Select and order solutions to build page, select the checkbox for $/BuildProject/TFSCalc/TFSCalc.sln path and click Next. On the Select configurations to build page, keep the configuration on Release and the platform on Any CPU, and then click Next. On the Select build options page, click Finish to create the build project file. On the Retention Policy tab, under Retention Policy, click Keep All and select Keep 10 Latest from the drop-down list for the Failed, Stopped, and Partially Succeeded build outcomes. On the Build Defaults tab, select BuildMachine1 in the Build agent box, if it is not selected by default, and type \\TFS08\BuildDrops in the Builds will be staged to the following share box.

9.

10. To view the available options for build triggers, on the Trigger tab, leave the Check-ins do not trigger a new build option selected, and click OK.

Task 2: Queue a Build and View the Results


1. In Team Explorer, under the Builds folder in BuildProject, right-click the new CourseBuild, and then click Queue New Build.

L5-44

Administering Team Foundation Build

MCT USE ONLY. STUDENT USE PROHIBITED

2. 3. 4.

In the Queue Build BuildProject dialog box, click Queue. The Build Explorer launches. To view the build details, double-click the running CourseBuild. The Build Details page shows the individual steps as the build progresses. To open the build log results, in the Summary section, click the link in the Log row. This link gives detailed information about the individual steps within a build and any errors or warnings that may have occurred. Close the BuildLog.txt tab, close the CourseBuild_<date of the build> tab, and then close the BuildExplorer BuildProject tab.

Task 3: Configure a Build for Continuous Integration


1. 2. In Team Explorer, under the Builds folder in BuildProject, right-click CourseBuild, and then click Edit Build Definition. In the Build Definition CourseBuild dialog box, on the Trigger tab, select the Build each check-in (more builds) option for a continuous integration build and click OK. From the View menu, select Other Windows, and click Source Control Explorer. From the Workspace drop-down list, select CLI, if not selected by default. (The Workspace drop-down list may not be visible if the Team Explorer or Solution Explorer pane is open.) In Source Control Explorer, right-click Build Project and click Get Latest Version. In the Microsoft Visual Studio message box, click OK. Expand Build Project, select the TFSCalc folder, and then double-click the TFSCalc.sln file in the pane next to the Folders pane. In Solution Explorer, under TFSCalc, expand the Default.aspx node, and then double-click the Default.aspx.cs file to open it. The file opens in the edit mode. Make any compilation breaking change, such as a missing semi-colon, and then save and close the file. In Solution Explorer, right-click Default.aspx and click Check In. In the Check In Source Files Workspace: CLI dialog box, add a comment and click Check In. On check-in, the build will start automatically in the background.

3. 4.

5. 6. 7. 8.

9.

Lab 5: Administering a Team Build

L5-45

MCT USE ONLY. STUDENT USE PROHIBITED

10. To view the current builds in the Build Explorer, right-click the Builds folder in Team Explorer, and click View Builds. 11. Double-click CourseBuild and in the Summary section, click the link in the Log row. 12. View the build details and check the build log or the condensed errors and warnings log for the build failure information. Close the BuildLog.txt tab, close the CourseBuild_<date of the build> tab, and then close the BuildExplorer BuildProject tab. 13. In Solution Explorer, double-click the Default.aspx.cs file to open it. Fix the compilation error and save and close the file. 14. In Solution Explorer, right-click Default.aspx and click Check In. In the Check In Source Files Workspace: CLI dialog box, add a comment and click Check In. Results: After this exercise, you should have successfully created a basic automated build using Team Build.

L5-46

Administering Team Foundation Build

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 4: Customizing the Team Build Project File


Task 1: Output messages with property values
1. In Source Control Explorer, in the Folders pane, under BuildProject, expand TeamBuildTypes. Under TeamBuildTypes, right-click CourseBuild and click Get Latest Version. In the Browse For Folder dialog box, select a location for the source code files, for example, C:\Documents and Settings\Darren\My Documents\Visual Studio 2008, and then click OK. Next to the Folders pane, under Name, right-click the TFSBuild.proj file and click Check Out for Edit. In the Check Out dialog box, click Check Out and then double-click the file to open it. Scroll down to the bottom of the file and add the following code before the </Project> tag to override a default build target and add the message output: <Target Name="BeforeTest"> <Message Text="Foo: SolutionRoot=$(SolutionRoot)"></Message> </Target> The build target BeforeTest will execute after compilation and before any unit or functional tests run. <Message> is a built-in task within MSBuild and the text is started with Foo to easily find messages within the build log. $(SolutionRoot) is a property that contains the path to the solution file that is part of the build.

2.

3.

4.

5.

Save the changes and close the file. Right-click the TFSBuild.proj file and click Check In Pending Changes. In the Check In Source Files Workspace: CLI dialog box, optionally, add a comment and click Check In. This will not trigger a continuous integration build because the $/BuildProject/TeamBuildTypes/CourseBuild folder is not mapped within the build definition workspace although it can be added if you choose to do so. In Team Explorer, under the Builds folder in BuildProject, right-click CourseBuild and click Queue New Build. In the Queue Build BuildProject dialog box, click Queue. Double click CourseBuild when it is finished and click the build log link in the Summary section. Search for the word, Foo, within the build log, and find the message text output of the SolutionRoot property.

6.

7.

Lab 5: Administering a Team Build

L5-47

MCT USE ONLY. STUDENT USE PROHIBITED

8.

Close the BuildLog.txt tab, close the CourseBuild_<date of the build> tab, and then close the BuildExplorer BuildProject tab.

Task 2: Copy the Published Web Site to an IIS Virtual Directory


1. In Source Control Explorer, in the folder next to the Folders pane, under Name, right-click the TFSBuild.proj file and click Check Out for Edit. In the Check Out dialog box, click Check Out, and then double-click the file to open it. Scroll down to the BeforeTest target and add the following code after the <Message> tag to perform the copy:
<PropertyGroup> <DeploymentUncPathForWebApp>\\TFS08\WebSites\TFSCalc\</DeploymentU ncPathForWebApp> <DeploymentDirectPathForWebApp>C:\inetpub\WebSites\TFSCalc\</Deplo ymentDirectPathForWebApp> <WebAppBuildOutputDirectory>_PublishedWebsites\TFSCalc\</WebAppBui ldOutputDirectory> </PropertyGroup> <ItemGroup> <!--The following will find all files and folders, recursively, in C:\Work\Binaries\Release\_PublishedWebsites\TFSCalc\--> <WebSiteFiles Include="$(OutDir)$(WebAppBuildOutputDirectory)**\*"></WebSiteFile s> </ItemGroup> <!--Delete and Recreate publish location directory. You can actually remove the conditions without raising errors, but they're good practice --> <RemoveDir Condition="Exists($(DeploymentUncPathForWebApp))" Directories="$(DeploymentUncPathForWebApp)"></RemoveDir> <MakeDir Condition="!Exists($(DeploymentUncPathForWebApp))" Directories="$(DeploymentUncPathForWebApp)"></MakeDir> <!--This will copy the appropriate files to the web site deployment location on the server. Note the %(RecursiveDir)%(Filename)%(Extension) in the Destination file. These are build properties automatically provided when we created the WebSiteFiles item group --> <Copy Condition="'$(BuildBreak)'!='true'" SourceFiles="@(WebSiteFiles)"

2.

L5-48

Administering Team Foundation Build

MCT USE ONLY. STUDENT USE PROHIBITED

DestinationFiles="$(DeploymentUncPathForWebApp)%(RecursiveDir)%(Fi lename)%(Extension)"> </Copy>

3.

The <PropertyGroup> allows for the definition of custom properties. The <ItemGroup> allows for the gathering of all the files that need to be published into a list. <RemoveDir> and <MakeDir> are used to wipe the directory clean to ensure a clean deployment. <Copy> is used to copy the <ItemGroup> files out to the specified directory.

Save the changes and close the file. Right-click the TFSBuild.proj file and click Check In Pending Changes. In the Check In Source Files Workspace: CLI dialog box, optionally, add a comment and click Check In. In Team Explorer, right-click CourseBuild and click Queue New Build. In the Queue Build BuildProject dialog box, click Queue. Log on to the 6215A-Proseware-TFS server using the user name, administrator and Pa$$w0rd as the password. Right-click Start and then click Explore to browse to C:\inetpub\WebSites\TFSCalc. The timestamps of the published files should be updated with the newly compiled and copied code.

4. 5.

Task 3: Close the virtual machine and discard changes


1. Close the 6215A-Proseware-CLI window. In the Close dialog box, in the What do you want the virtual machine to do? drop-down box, select Turn off machine and discard changes, and then click OK. Similarly, close the 6215A-Proseware-TFS window and 6215A-ProsewareDC1 window. In the 6215A Lab Launcher dialog box, click Reset All. In the Reset All Virtual Machines dialog box, click Yes. This returns the virtual machine to its default state.

2. 3.

Results: After this exercise, you should have a basic understanding of customizing a Team Build to do more than just compile the source code and possibly run unit tests.

Lab 6: Customizing Team Foundation Server Reporting

L6-49

MCT USE ONLY. STUDENT USE PROHIBITED

Managing Team Foundation Reporting

Lab 6: Customizing Team Foundation Server Reporting


Scenario
When you create a new team project, a set of standard reports are generated based on the process template specifications. You can use these reports to assess the status of the team project and the progress it has been making. As a system administrator at Proseware Inc., you need to connect to the Team Foundation Server data warehouse to collect the project related data stored in there. You also need to create a cumulative flow diagram and display the relevant reports. In order to analyze the build process, you will create a build durations report with Reporting Services that queries the Team Foundation Server data warehouse cube.

Exercise 1: Creating a Cumulative Flow Diagram


Task 1: Set up the lab environment
1. In the Lab Launcher, next to 6215A-Proseware-DC1, click Launch. After 6215A-Proseware-DC1 has fully launched, repeat for 6215A-Proseware-TFS and 6215A-Proseware-CLI. Log on to 6215A-Proseware-CLI. Use the following details: User Name: Darren Password: Pa$$w0rd

2.

Task 2: Connect to the Team Foundation Server warehouse as a data source


1. 2. 3. 4. To open Microsoft Excel 2007, on the Start menu, select All Programs, select Microsoft Office, and then click Microsoft Office Excel 2007. Click the Data tab in the top ribbon. To launch Data Connection Wizard, click the Get External Data submenu, click From Other Sources, and then click From Analysis Services. On the Connect to Database Server page, in the Server name box, type TFS08, and then click Next.

L6-50

Managing Team Foundation Reporting

MCT USE ONLY. STUDENT USE PROHIBITED

5.

On the Select Database and Table page, in the Select the database that contains the data you want drop down box, TFSWarehouse should already be selected and a list of data points should be showing under Name. From the list of data points, select the data cube Team System, and click Next.

6.

Perspectives, which are the other data points that you see, are only available if the TFS installation is running on SQL Server 2005 Enterprise Edition. Perspectives provide a subset of the full cube to simplify your view.

7. 8.

On the Save Data Connection File and Finish page, to create the data connection, click Finish. In the Import Data dialog box, click OK to create the data connection and set up a report.

Task 3: Create a cumulative flow diagram (remaining work report) using Microsoft Excel
1. In the PivotTable Field List section, in the Show fields related to drop-down list, select Work Item History to filter the fields down to what the report will be working with. In the field list, under Work Item History, drag the Cumulative Count field down to the Values area. Scroll down to Team Project within the field list and drag the Team Project.Team Project field to the Report Filter area. On the worksheet, select the drop-down arrow for Team Project.Team Project (Cell 1B), expand the All node, select the ReportingProject team project, and click OK. From the list of fields, drag the Iteration.Iteration field below the Team Project.Team Project field in the Report Filter area. Select the drop-down arrow for Iteration.Iteration (Cell 2B), expand the All node, expand the ReportingProject node, select Building, and then click OK. Drag the Work Item.Work Item Type field below the Iteration.Iteration field in the Report Filter area. Select the drop-down arrow for WorkItem.Work Item Type (Cell 3B), expand the All node, select Requirement, and then click OK.

2. 3. 4.

5.

6.

Lab 6: Customizing Team Foundation Server Reporting

L6-51

MCT USE ONLY. STUDENT USE PROHIBITED

7.

Drag the Date.Year Month Date field to the Row Labels area. Click the Row Labels (Cell 5A) drop-down arrow, clear the Select All check box if necessary, and then expand the 2008 node. Select the July, 2008 and August, 2008 check boxes if not already selected. Expand the two month trees to see the total requirements per day over that time period, and then click OK. Drag the Work Item.State field to the Column Labels area. Click the Column Labels (Cell 5B) drop-down arrow, clear the Unknown check box, and then click OK. On the top ribbon, click the PivotTable Tools tab (if not selected), and then click PivotChart.

8.

9.

10. In the Insert Chart dialog box, select the Area chart types. Under Area, select the second template from the left, if not selected by default, and then click OK. 11. Move or close PivotChart Filter Pane to see the initial chart. 12. Right-click the blank space on the chart, and click Move Chart. In the Move chart dialog box, select the New sheet option and click OK. The chart is created but it does not look right because the states in the data set are not in the correct order to follow the requirement work item workflow. Click the Sheet1 tab at the lower left-hand corner of the worksheet to return to the data worksheet and continue. 13. In the data worksheet, right-click the Closed (Cell 6B) cell, select Move, and then click Move Closed to End. 14. View the corrected results in the chart, and then close the Excel workbook. A warning message is displayed asking if you want to save the changes to the workbook. Click No. Results: After this exercise, you should have a basic understanding of the Team Foundation Server cube and a demonstration of the powerful ad-hoc reporting that can be done by project managers, business users, and other non-developers.

L6-52

Managing Team Foundation Reporting

MCT USE ONLY. STUDENT USE PROHIBITED

Exercise 2: Creating a build durations report with Reporting Services


Task 1: Create a new report server project
1. To open SQL Server Business Intelligence Development Studio, on the Start menu, select All Programs, select Microsoft SQL Server 2005, and then click SQL Server Business Intelligence Development Studio. From the File menu, select New, and then click Project. In the New Project dialog box, in the Visual Studio installed templates section, select Report Server Project, give the project a new name, such as TFSReports, and click OK.

2. 3.

Task 2: Create a new report data source


1. 2. In Solution Explorer, under TFS Reports, the new report project, right-click the Shared Data Sources folder, and click Add New Data Source. In the Shared Data Source dialog box, in the Name box, type TfsOlapReportDS as the data source name. From the Type drop-down box, select Microsoft SQL Server Analysis Services. To the right of the Connection string textbox, click Edit. In the Connection Properties dialog box, in the Server name box, type TFS08, in the Select or enter a database name drop-down box, select TfsWarehouse as the database to connect to, and click OK. In the Shared Data Source dialog box, click OK to create the data source.

3. 4.

5.

Task 3: Create a report


1. 2. In Solution Explorer, right-click the Reports folder, and select Add New Report. The Report Wizard is displayed. On the Welcome to the Report Wizard screen, click Next. On the Select the Data Source screen, ensure that the newly created data source, TfsOlapReportDS is selected in the Shared data source drop-down box, and click Next. To use the query builder for help while making the query, on Design the Query screen, click Query Builder.

3.

Lab 6: Customizing Team Foundation Server Reporting

L6-53

MCT USE ONLY. STUDENT USE PROHIBITED

4. 5.

In the Query Builder window, on the top left of the screen, click .. for the cube selection. In the Cube Selection dialog box, select Team System and click OK. In the Metadata list, expand Measures, expand Build, and then drag Build Count and Build Duration to the data pane where the help text states Drag levels or measures here to add to the query. In the Metadata list, expand Team Project, and drag Team Project.TeamProject to the filter pane above the data pane. Click the Filter Expression drop-down arrow for Team Project, select the All check box, and click OK. Select the Parameters check box at the extreme right of the pane to set the team project as a parameter on the report. In the Metadata list, expand Build and drag Build.Build, Build.Build Start Time, and Build.Build Type to the data pane. Also drag Build.Build Type to the filter pane. Click the Filter Expression drop-down arrow for Build, select the All check box, and click OK. Select the Parameters check box at the extreme right of the pane to set the team project as a parameter on the report. To save the query and close the Query Builder window, click OK. On the Design the Query screen, to select the report type, click Next.

6.

7.

8. 9.

10. On the Select the Report Type screen, confirm that Tabular is selected, and click Next. 11. On the Design the Table screen, add Build_Type to the Group fields, and the remaining fields to the Details fields, and click Next. 12. On the Choose the Table Layout screen, select the Stepped option (if not selected), select the Include subtotals, and Enable drilldown check boxes, and then click Next. 13. On the Choose the Table Style screen, choose a table style, for example Slate, and click Next. 14. On the Completing the Wizard screen, in the Report name box, type Build Durations, and click Finish. 15. The Layout tab defines the look and feel for the report. Hide the other panes and adjust the column size. Click the Preview tab to ensure the functionality of the report.

Task 4: Add a chart to the report


1. Click the Layout tab, expand the Toolbox tab on the left side of the screen, and then double-click Chart to insert a chart in the report.

L6-54

Managing Team Foundation Reporting

MCT USE ONLY. STUDENT USE PROHIBITED

2. 3.

Move the chart below the fields table and expand the size as desired. In the Datasets tab on the left side of the screen, expand the TfsOlapReportDS node and drag the Build field over the report on the area where the help text states Drop category fields here. Continue placing fields on the report by dragging the Build_Type on the area where the help text states Drop series fields here, and the Build_Duration to the area where the help text states Drop data fields here.

Task 5: Deploy the Report


1. 2. In Solution Explorer, right-click the report server project, TFSReports, and click Properties. In the TFSReports Property Pages dialog box, under the Deployment section, in the box next to TargetDataSourceFolder, delete the existing data source folder name and type / to use the root of the existing Team Foundation Server data source. In the box next to TargetReportFolder, delete the existing report folder name and type a report folder structure, such as Custom Reports/Build. Type http://TFS08/ReportServer in the box next to Target Server URL. To save the properties, click OK. In Solution Explorer, under the Reports folder, right-click the Build Durations.rdl file and click Deploy. Wait for the Deploy complete message in the Output pane. From the Start menu, select All Programs, and then click Internet Explorer. In the Address bar, type http://TFS08/Reports and press ENTER. The newly created folder, Custom Reports, should be displayed. Click Custom Reports, click Build, and then click Build Durations to execute the report. If the report execution fails, click the Properties tab for the report.

3. 4. 5. 6.

7.

8. 9.

10. Click Data Sources, and then on the TfsOlapReportDS screen, click Browse. Select the TfsOlapReportDS data source and click OK. 11. To save the changes, click Apply and return to the View tab to view the report.
Note that the report may be blank because of the empty data in the fields.

Lab 6: Customizing Team Foundation Server Reporting

L6-55

MCT USE ONLY. STUDENT USE PROHIBITED

Task 6: Close the virtual machine and discard changes


1. Close the 6215A-Proseware-CLI window. In the Close dialog box, in the What do you want the virtual machine to do? drop-down box, select Turn off machine and discard changes, and then click OK. Similarly, close the 6215A-Proseware-TFS window and 6215A-ProsewareDC1 window. In the 6215A Lab Launcher dialog box, click Reset All. In the Reset All Virtual Machines dialog box, click Yes. This returns the virtual machine to its default state.

2. 3.

Results: After this exercise, you should have successfully created a report project, and created and deployed a report.

MCT USE ONLY. STUDENT USE PROHIBITED

MCT USE ONLY. STUDENT USE PROHIBITED

Notes

MCT USE ONLY. STUDENT USE PROHIBITED

Notes

MCT USE ONLY. STUDENT USE PROHIBITED

Notes

MCT USE ONLY. STUDENT USE PROHIBITED

Notes

MCT USE ONLY. STUDENT USE PROHIBITED

Notes

MCT USE ONLY. STUDENT USE PROHIBITED

Notes

MCT USE ONLY. STUDENT USE PROHIBITED

Notes

MCT USE ONLY. STUDENT USE PROHIBITED

Notes

Das könnte Ihnen auch gefallen