So, my client wants a customer dashboard integrating all information related to a project in a common sharepoint site.
So we have something like this
- http://tdg-srv-006/ <------- Sharepoint site (SP)
- http://tdg-srv-006/PWA/ <--- Project Web Access site (PWA)
- http://tdg-srv-tfs2/ <------ Team foundation Server (TFS)
He wants the following requirements:
Burn down Chart: this one is located in the TFS server inside the company.
Total count of bugs: this one is located in TFS too
Open Issues and Risks: This one is located in PWA
Team names and roles: this one in TFS.
My question is, how do I communicate Sharepoint with TFS database and with PWA information? any comments, suggestions or clues?
There are two ways to do this. Use the project dashboard site created from Project Server, or the one created by Team Foundation Server.
Project Server
The standard way of setting up such a dashboard with Project Server is to enable project workspaces. This means that when a project is first published it would have a URL such as http://tdg-srv-006/PWA/My%20Project. This is where the project 'dashboard' site will reside, containing both your integration with Project Server and with TFS.
These workspaces are created from templates. They can be extended with your own design and web parts so they will always be created exactly as you'd like. For example, integration with Reporting Services reports that query the Project Server reporting database or Team Foundation Server is a popular idea.
Note that project workspaces already come out of the box with risks and issues. (These can also be linked to tasks and other risks and issues for a richer experience.)
For aggregation, within Project Web Access it is possible to create a view which sums the risks and issues from across all project workspaces and displays them in Project Center. When connecting to PWA, users are also prompted with the risks and issues outstanding that are assigned to them.
Team Foundation Server
Team Foundation Server also creates its own SharePoint site which you may prefer to use. This article on SharePoint Magazine should give you all you need to know. Again, you can set up Reporting Services reports that point to a TFS data source and display the results in your workspace. It just depends on whether you prefer to start with a TFS workspace or a Project Server workspace.
Caution
Both Project Server and TFS only install the free Windows SharePoint Services (WSS) by default. This means functionality such as the content query web part provided in SharePoint 2007 (MOSS) is not there. You can add SharePoint 2007 without any issues but it will cost you more.
The template approach that Project Server uses to create workspaces (and perhaps TFS as well) has problems. Firstly, Project Server will allow you to change columns and fields on the Risks and Issues lists but this will cause errors. There is a safe method outlined in the link earlier on my blog. Secondly, assuming you decide to change the template you will need to programmatically update every workspace within Project Server, including the template to make the changes. Not a big deal but a hassle nonetheless.
Other integration
Finally add the Project Server / Team Foundation Server connector into the mix. This will ensure work item data in TFS is kept in sync with project plan data in Project Server. Note that it has nothing to do with creating a dashboard/workspace.