Last month, Brian Harry outlined some of the new features in the setup and administration experience for TFS 2010 here. This post drills into how SharePoint integration works for Beta1.

Installation

In TFS 2010, we’ve separated the installation from the configuration of TFS. The installation and configuration of SharePoint occurs during the configuration stage of TFS. This addresses a pain point we’ve heard from customers using 2008, where if for some reason, installation or configuration of SharePoint failed, the entire installation of TFS failed as well and rolled back.

When installing TFS 2010, you can choose to install:

Team Foundation Server – Choose this option if you are planning to either deploy only TFS on this box or keep SharePoint and TFS on the same box.
image

Extensions for SharePoint Products and Technologies – Choose this option if you have SharePoint already installed on the box and want to enable integration with TFS on another server. (Note: this option will not appear if you do not have SharePoint already installed.) This option supports both single-server and farm environments.
image

User Accounts/Permissions

Our SharePoint integration is much more flexible in 2010, but with this flexibility comes a bit more complexity. If you want to integrate SharePoint with TFS in 2010, then you need to create a two-way mapping: the TFS instance must know where the SharePoint instance is and vice versa. Depending on how you configure SharePoint, the same may hold true of the service accounts. That is, the TFS service account will need access to SharePoint (it must have farm administrator privileges) and the SharePoint service account will need access to TFS.

There are two main scenarios in installation:

  • Scenario A: as a TFS administrator, you are in charge of both TFS and SharePoint.
  • Scenario B: as a TFS administrator, you do not have control over SharePoint. For example, this may be the case if SharePoint is managed in a corporate farm.

Scenario A is the simpler of the two, and if you’re installing TFS and SharePoint on the same server, then your setup can become even simpler, as you’ll see below. In Scenario B, you’ll need to work together with your organization’s SharePoint administrator to integrate TFS and SharePoint. The TFS installation help file includes a useful worksheet that helps you and your SharePoint administrator collaborate on the information necessary to successfully configure TFS/SharePoint integration, including user accounts.

Configuration

Once the installation succeeds, you’ll move on to the configuration stage. Your options vary depending on whether you installed TFS or the extensions. One of the known issues discussed in the Beta1 ReadMe is a bug that occurs if you choose not to start the configuration wizard right after completing the MSI install (that is, you uncheck the “Launch Team Foundation Server Configuration Tool” option on the setup’s “Finish Page”). Buck Hodges has a great blog post here explaining the issue and how to avoid it.

  • Team Foundation Server
    • Default Configuration
      clip_image006

      This is the option you should choose if you plan on using a single server for TFS, SQL, and SharePoint. This option installs and configures Windows SharePoint Services (WSS) 3.0 for you, so if you already have SharePoint installed on the server or want to use Microsoft Office SharePoint Server (MOSS), you’ll need to run the custom configuration. Otherwise, just provide TFS with the details on the service account you want to use for SharePoint, and TFS will do all the installation and configuration for you. 
    • Custom Configuration
      clip_image008
      clip_image010

      This option allows you to customize various aspects of the TFS configuration. By selecting this, you can:
      • Opt out of installing/configuring SharePoint. To opt out, just uncheck the “Configure Sharepoint…” checkbox.
      • Install and configure WSS 3.0 on the server to integrate with TFS. While the Default Configuration does this for you as well, we offer this choice in custom configuration since you may wish to customize other, non-SharePoint related options. As in the Default Configuration, you’ll need to provide a service account for SharePoint.
      • Integrate TFS with an existing SharePoint site. If you fall under Scenario B described above, you’ll want to use the custom configuration to hook up TFS with SharePoint.
    • Application-Tier Only

      This is the option you should choose if you separate your application tier from your data tier (your SQL server instance for TFS is on a different server) and you do not want to install/configure SharePoint.
    • Upgrade from a previous version
      clip_image012

      You can select an existing SharePoint site you want to integrate with. Note that the instruction text on the preceding page is incorrect. You cannot install SharePoint on upgrade in Beta1.
  • Extensions for SharePoint Products and Technologies
    clip_image014

    There’s not much to configure on this page. :) Just press “Configure” and you’re done.

TFS/SharePoint Mappings

The following diagram represents the recommended mappings when integrating with SharePoint.

image

TFS Instance/SharePoint Web Application

If you chose to integrate with SharePoint during configuration of TFS, this mapping is created for you. On the TFS side, you need the following information to create/edit mappings to Sharepoint Web Apps:

  • The service accounts used for the SharePoint Web Application
  • The base URL for SharePoint Web Application
  • The SharePoint Central Administration URL
  • The relative path for the Sharepoint sites for Team Projects

You can change the mappings in the SharePoint Web Applications Node of the Team Foundation Administration Console:

clip_image018

clip_image020

Recall that mappings are two-way. Thus, if you’re customizing the mappings or you’re creating a new mapping in the TFS Administration Console, you’ll need to keep the mappings from SharePoint to TFS in sync as well. If you are not the SharePoint administrator (scenario B, above), you’ll need to work together to create the mappings.

On the SharePoint server, the TFS mappings can be configured in the Extensions for SharePoint Products and Technologies node of the Team Foundation Administration Console. The following information is needed on the SharePoint side:

  • The TFS service account, so that this can be added to the SharePoint farm administrators group
  • The URL for the TFS instance
  • For MOSS administrators: the single sign on name

clip_image022

clip_image024

Again, if you find yourself in scenario B, the TFS installation help file for Beta1 has a handy worksheet that you and your SharePoint administrator can use to make these mappings a smooth process.

Team Project Collection/SharePoint Site Collection

In TFS 2010, we’ve introduced the concept of a Team Project Collection (TPC). Brian Harry has a great blog post that defines and describes this key concept. You can create TPCs in the Team Foundation Administration Console. If you have SharePoint integration set up and you create a TPC, TFS can create and configure a new SharePoint site collection for you that maps to the TPC (the TFS service account must be added to the SharePoint farm administrator group for this to be successful).

clip_image026

Note that with this integration, you get the added bonus that, if you want to backup/restore your Team Project Collections, you can also backup/restore the corresponding site collections through SharePoint’s own backup/restore mechanism. This allows you to take full advantage of our support for moving TPCs to different servers.

Team Project/SharePoint Site

As with TPCs, if you have SharePoint integration set up and you create a Team Project, TFS can create a correlating SharePoint site that serves as the new Team Project’s portal page.

clip_image028

If you click “Configure…”, you can choose where you want to create the new SharePoint site:

clip_image030

While we give you flexibility here as far as the location, we recommend that you keep the location as a subsite of the project collection to enable the backup and restore scenario we mentioned earlier.

Note that if you wish, you don’t have to create the Process Guidance. You can configure the location of the process guidance later in the Project Portal Settings. This way, if multiple projects are using the same process, you can have them share the same guidance. Instead of updating the guidance for each project, you can now update it in one place.

Finally, in keeping with our theme of added flexibility, there’s an option not to create a SharePoint site at all. You can configure where the portal is later by entering the relevant data in the Project Portal Settings dialog. The dialog allows you to choose whether you want to use a SharePoint site (where TFS can easily integrate its reports and dashboards) or a fully qualified URL of your choice. The same goes for the process guidance.

clip_image032 clip_image034

Useful links

Beta1 install help file (.chm) - http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=2d531219-2c39-4c69-88ef-f5ae6ac18c9f

Brian Harry: TFS 2010 Admin, Operations & Setup Improvements - http://blogs.msdn.com/bharry/archive/2009/04/30/tfs-2010-admin-operations-setup-improvements.aspx

Buck Hodges: TFS 2010 Beta 1: Don’t run initial configuration from the administration console (MMC) - http://blogs.msdn.com/buckh/archive/2009/05/18/tfs-2010-beta-1-don-t-run-initial-configuration-from-the-administration-console-mmc.aspx