Monday, December 22, 2008

Integrating Project Server 2007 and Team Foundation Server 2008 Sharepoint Sites

So, before I climb in and start explaining the process, let’s create a quick list of what needs to be done.
Task Reason
1: Install WSS 3.0 or MOSS 2007 This is the basis of the technology for both PS and TFS.
2: Install Project Server 2007 Need this to run enterprise projects.
3: Install Team Foundation Server 2008 Need this to run Development Teams
4: Create Project in TFS This will create a Sharepoint Site Collection
5: Create a Project Plan in PS This we will link to the TFS Sharepoint Site.
6: Activate correct features in the Site This is required to make the two products share the same site.
7: Verify Solution Check that both products are using the same site.
For the purposes of this article I am going to assume that MOSS, Project Server 2007 and Team Foundation Server 2008 are already installed. I am going to start the explanation from the TFS side of things.
Creating a New Project in Team Foundation Server 2008
The process of creating a new TFS project is very similar to creating a normal project in Visual Studio 2008. From the “File Menu”, select “New Project”. This will launch a Wizard that will guide you through the rest of the process to configure a TFS “Team Project”.

null
The first dialogue box will prompt you for the name of the Project. This should be fairly descriptive based on the project that you are creating and will also determine all the default names used in the rest of the process. Select “Next”.

null
The next dialog box will prompt you for the methodology to be used. As most Microsoft Developers know by now the default methodology preferred by Microsoft is MSF. The “Microsoft Solutions Framework” has been developed by Microsoft to stream line SDLC process as far as MS tech goes. Unfortunately this is so convoluted that most development houses refused to use it. Microsoft therefore created a light version of this called “Agile MSF” and this has become quite popular.
It is not my intention in this article to debate the pro’s and con’s of methodologies, so pick one and select “Next”.

null
This is the important dialog box. This screen allows you to specify the name of the Site Collection that will be created in WSS or MOSS to host the documentation for the project. There are a number of things to note on this screen.
TFS creates “Site Collections” and not sites in WSS for each project that you create. I personally believe that sites would have been sufficient, but so be it.
The URL of where this site collection will be created cannot be changed. This is configured during the installation of TFS, so think carefully before installing TFS. It is much easier to tell Project Server 2007 where the site is located and therefore I adopted that route.
Not much to do here. Select “Next”.

null
This dialogue box allows you to create a new folder in “Visual Source Safe” (VSS) to store the source code for the project. There is therefore a clear distinction of where the documents are stored and where the source code is stored.
Documents are stored in WSS, which can be a remote server and the “Source Code” is stored on the TFS server. Select the appropriate options and then select “Next”.

null
The last screen of the wizard is just to confirm the settings that you chose. Confirm that they are correct and then select “Finish”. The wizard will then create the appropriate components.
Once the wizard has completed the process we can use the “Team Explorer” to verify that everything is correct and functioning properly.

You will notice that there is a folder called “Documents” that will allow you to manipulate all the documentation concerning the project directly from within “Visual Studio 2008”. This folder integrates directly with the site created in WSS.
It is also possible to manipulate the documentation through the TFS web site that is created during the installation process. This allows remote access without having “Visual Studio 2008” installed.
The TFS web site is deployed separately from the WSS site and in my case is running on completely separate servers. Security is also handled independently from WSS.
All documents stored in the WSS site can be access by navigating to the “Documents” tab after selecting the appropriate project in the drop down box on the left of the screen.
Last but not least. The documents can be accessed by navigating directly to the Sharepoint site from your browser.

null
Now that the TFS side of things is operational, it is time to take a look at how we integrate Project Server 2007 into this solution.
Creating a New project using Project Server 2007
The concept of “Enterprise Project Management” (EPM) in the Microsoft concept of things is a combination of Project Professional 2007 and Project Server 2007.
The project plans are created using “Project Professional 2007” and once they are completed, are published to “Project Server 2007” so that they can be access by the team members.

null
It is not my intention to explain how the whole EPM process fits together. This would take a whole series of articles. I am merely explaining how the Sharepoint components fit together.
Once the project plan has been completed and the project is about to start, it is time to publish the project plan to PS.

This is done by selecting the “Publish” option from the file menu. A dialog box will be initiated that will prompt you about the publishing options.

null
Project Server 2007 is installed as a solution on top of WSS. PS will therefore default to the web application that was created during the installation process.
This dialog box is prompting for the location of the Sharepoint site that will be associated with this project plan.
If PS was running as a standalone solution without the need of integrating with TFS, the normal procedure would be to create a Sharepoint site in this web application.
Due to the fact that we are going to use the TFS site instead, we are not going to create a workspace at this time. Select the “Publish” option to complete the process.

null
Now that the project plan has been published, we can view it using “Project Web Access” (PWA).

null
Note that at the bottom of the “Home Page” in PWA there is an area called “Project Workspaces”. This area display’s links to the various Sharepoint sites connected to the various project plans.
If the publishing process was done correctly, there should be no link for the project plan that we published earlier.
Now we start the process of connecting the TFS Sharepoint site to the PS project plan.
Connecting the TFS site to the Project Plan
The first time I attempted to do this the process failed with a number of errors. After some investigation I found out that this has to do with certain “Features” that need to be enabled in the TFS site before PWA will accept the site as valid.
To do this we need to complete the following steps:
  1. Navigate to the Sharepoint site using you browser.
  2. Select “Site Settings” from the “Site Actions” menu.
  3. Select the “Site Features” option.
  4. Active the “Project Server” features.

null
There are two features that need to be activated:
  • Project Proposal Workflow
  • Project Workspace Collaboration Lists
These features are required as PWA uses these features to display information from the project plan directly in the Sharepoint Site.
Now that the Sharepoint site is compatible with PWA, we need to point the workspace in PWA to the TFS site.
This is done by navigating to the “Server Settings” page using PWA.

On this page you will find a linked called “Project Workspaces” under the section called “Operational Policies”. Select the link.

null
This option will open a page displaying all the workspaces connected to the various project plans. You will note that the project plan I published earlier has no workspace associated with it.
To change this we need to select the “Edit Site Address” button on the toolbar after highlighting the correct project plan.

null
On the corresponding dialog box you will be given the option to configure the URL to point to the Sharepoint site created via TFS.
This is done by selecting the correct web application and then completing the path with the virtual directory folders settings.
After committing these changes we can test the solution by navigating to the “Home” page in PWA and selecting the workspace link next to the project name.

null
This should then take us to exactly the same Sharepoint Site that TFS is using.

Print this post

No comments: