Sunday, April 20, 2008

TFS Blog Series: Setting Up Projects

Welcome to the second entry in Joel and my series on Microsoft Teams System (aka Team Foundation Server, aka TFS). To catch up, check out the previous entries in the series:
  1. Overview
In this post I'm going to cover the details of creating a new team project including the intricacies of setting up project permissions and permissions for the corresponding SharePoint and Reporting Services.

Creating a New Project

Creating a new project in TFS is pretty straight forward and involves the following steps:
  1. Launch Team Explorer (Visual Studio).
  2. In the Team Explorer toolbox, right click on your server name and choose "New Team Project...".
  3. In the wizard, give your project a proper name and description. You can name a project anything you want, but you should give some thought to this before committing to something because you cannot change this once the project is created. If you work in an organization like ours where you have many projects, a consistent naming convention is important. We use {ClientName}.{ProjectName}, so for this test I will create a project called Slalom.Test, Slalom because it is an internal project so we are our own client and Test because I'm just going to delete this thing when I'm done.

  4. Choose a project template. TFS comes with two built in, however you can create your own custom templates as well, allowing you to have some pre-canned work items generated for every project you create. We'll talk about template customization later in the series, for now we will just choose Agile.

  5. Choose where you want your source control, by default TFS builds out a new repository, in most cases this is what you will want to do.
  6. Once you click finish and let TFS build out your project you will have a new project listed in Team Explorer.

Setting Project Permissions

TFS allows you apply roles to your different users, these roles can be adjusted by right clicking on your team project and choosing "Team Project Settings > Group Membership..."

For a project, there are four groups available for classifying your users rights:
  1. Readers - Users that can access the project, but are not able to modify work items or check in code.
  2. Project Administrators - Users that can do anything within the project.
  3. Contributers - Users that can make changes in the project but are now allowed administrative tasks.
  4. Build Services - System role for building the project (for service accounts only).
Most people generally fall under project administrators or contributors.

Setting SharePoint and Reporting Services Permissions

Unfortunately setting permissions within TFS does not complete the process. Permissions must also be granted individually to the corresponding SharePoint site and SQL Server Reporting Services.

For SSRS permissions, we have simplified this by creating a Team Foundation Server Users domain group and putting all valid TFS users into that group, then giving that group read permission on the reporting server. This saves us from having to set these permissions each time.

For SharePoint we still must grant users proper access, do this follow these steps:
  1. Access your project portal (right click on your project and choose "Show Project Portal...") as an administrator.
  2. Choose "Site Settings" from the "Site Actions" drop down on the site.
  3. Choose "Advanced Permissions" from "Users and Permissions".
  4. Choose "New" to add your users and give them specific SharePoint permissions.

No comments: