Thursday, March 09, 2006

PS2003 : Creating new ProjectServer site with WSS integration.

If you are creating the second ProjectServer site using the EditSite tool and want to integrate with WSS, you need to change the Server Intranet Address in ProjectServer after creating the site in order for it to link correctly.

Take the following scenario.

I installed ProjectServer and WSS.

My ProjectServer URL is http://servername/ProjectServer and the WSS URL is http://servername:800.

Now I want to create another ProjectServer site and WSS site and integrate the two together.

The easist way for me to start is to backup the existing ProjectServer database and restore it as another database(EG: ProjectServer2).

Next, I create and extend another WSS site to run on port 850. so the WSS URL will be http://servername:850.

Now I use the EditSite tool to create another ProjectServer site. The URL for this PS site will be http://servername/projectServer2. When I create the site, I specify I want to setup WSS and ProjectServer integration.

If your didn't make any mistake, everything will work just fine as of this stage.

Now, I publish a new project to ProjectServer2 and automatically a new WSS project site will be created. Say for example, the URL for the project site is http://servername:850/sites/ProjectServer2_201.

Then I go to the project site and create a new issue. In the new issue page, if I click on the 'Select project tasks that are impacted by this issue' link or any of those related link at the bottom, you will notice Task Dialog does not show the correct task for the project. It either show the task for another project or it will be disabled.

When you save the issue, you will also notice there is no issue icon for that project in the Web Access Project Center. This show that the issue is not link back to the project.

After some tracing and hacking, I found out why it show the wrong project task. If your project ID is 201, the task dialog will actually retrieve tasks for project which has ID 201 from ProjectServer(the default one) and not ProjectServer2. If it cannot find a project with ID 201 in ProjectServer, it will disable the dialog.

Here come the question, why is it so?

When ProjectServer create a new WSS site for a project, it will insert the ProjectServer intranet URL into the site's SPWeb property. The intranet URL is used by the Task dialog to retrieve the project task. The intranet URL is stored in the database. So when I restore the ProjectServer database to ProjectServer2, it will
carry the orginial value which is 'http://servername/projectserver' in ProjectServer2 database.

To correct this, after you create the new ProjectServer site, you need to logon to the Web Access (EG: http://servername/projectserver2), go to Admin -> Server Configuration. Then change the Server Intranet Address to 'http://servername/projectserver2' (or whatever your project server url).



Post a Comment

<< Home