Hello All,

This is an exciting week, because the Project Conference is going on.  Please keep an eye here for the latest information on the next version of Project, or “P12” as it is being called right now.  If you are going to the conference, look me up.

If you are a Project Server 2002 or 2003 administrator, then you know there is no built-in functionality to create new MS Project sites on the same computer.  Having this capability is extremely helpful for any number of reasons.  Maybe you want a copy of your production site for training, another for development and even another for testing out new ideas.

Depending on your needs (and your budget), it may not make sense to install the same Project Server softare on three servers.  This is where a free utility from Microsoft comes in handy.  It is called the “EditSite” utility.  It allows you to provision a new Project Server site on the same machine Project Server's default installation is located.

To cover all the ins-and-outs of EditSite here on the BLOG would be difficult.  Instead, I am going to share with you some tips that cover common issues around using EditSite:

1) Service Packs: EditSite will work with the latest service packs for Project Server.  However, the tool is basically creating a new website and linking to a database.  It is not creating a whole new copy of Project Server and all the support files (like DLL's, etc.)  Therefore, if you install a new service pack on the Project Server box where you have multiple sites, then Project Server's base files will all use the new Service Pack.

  • So far, all the Service Packs for Project Server have a database script component.  Therefore, you will need to upgrade all your databases for the Service Pack to be complete.
  • Because of the above issue, be sure to plan out this process, because you usually have to upgrade Project Professional to a new service pack so it supports the current version of Project Server.

2) EditSite does not support PDS: If you or someone on your team is doing development work and needs access to Project Server database information, there is a good chance the developer will be using the PDS (or Project Data Services).  This is a rich set of Application Programming Interfaces (API's) that allow the developer to get at Project Server information while maintaining Project Server's inherent business logic and security model.

  • The PDS is based on an Internet standard called “SOAP“.  You need to make the new Project Server website SOAP-aware.  Go to the Internet Services Manager and open the properties for your new Project Server Virtual Directory.  From the Virtual Directory tab, click on the Configuration button.  In the Mappings tab, enter the following information:
    • Executable (include the quotes): "c:\Program Files\Common Files\MSSOAP\BINARIES\SOAPIS30.dll"
    • Extension: WSDL
    • Verbs: All Verbs (You could type “GET, POST“... this time without the quotes)
    • Script Engine: Yes
    • Verify That File Exists: Yes
    • Save your changes.  You no longer need to be in the Internet Services Manager.
  • Your new website is now configured for SOAP support.  However, the developer will still not be able to access Project Server.  This is because PDS SOAP calls use a WSDL file that defines the location of the Project Server.  Go to the “IIS Virtual Root“ folder for Project Server.  In this example, we are renaming the files for a training environment.  How you name the file is less important than making sure the WSDL/WSML files are named exactly the same and you tell the Developer to reference the file.
    • Copy/paste PDS.WSDL and PDS.WSML.  Call the new files “PDSTraining.WSDL“ and “PDSTraining.WSML“.
    • You only need to edit the WSDL file.  Open it in Notepad.  Find the “<soap:address...“ line (usually line 36).
    • Your original line should look like this: <soap:address location="http://myserver/projectserver/PDS.WSDL"/>
    • Edit this line to point to the new virtual directory, like this: <soap:address location="http://myserver/msptraining/PDSTraining.WSDL"/>
    • Save the PDSTraining.WSDL file.
    • There is another way to use PDS and your developers may make use of this model.  Follow the same steps for copying/pasting the files called “pdsbiz.wsdl“ and “pdsbiz.wsml“ (i.e. make the files “PDSBIZTraining.wsdl“ and “PDSBIZTraining.wsml“ and edit the WSDL file.
    • Your developers should now be able to access the PDS, which will communicate with your training database.
    • FYI: If the developers are using the PDSTest.NET tool or have their own code that 'hardcodes' the PDS.WSDL file, then they will need to edit the code and re-compile to support the new PDSTraining.WSDL file.

3) If you are using EditSite with a backup of another Project Server database, it does not automatically update the settings in the database.  Let's say you restored your Production database to a new Development database.  Once you used EditSite to link a new Virtual Directory to the Dev database, login to Project Server.  Go to the Admin tab, and determine if you need to change any of the following settings:

  • Server Configuration->Features: Change the Internet and Intranet settings at the bottom of the page.
  • Server configuration->Menus: If you are using custom menus, modify the links if needed.
  • Manage Windows SharePoint Services->Connect to SharePoint Server: Modify with the new SharePoint site related to this Project Server environment (note: you do not have to use SharePoint, unless there is a requirement to do so, but you definately should not have more than one Project Server talking to a single SharePoint site).
  • Manage Windows SharePoint Services->Manage SharePoint Sites: Choose “Edit Site Address“ and use the Remove URL option (note: do not use the delete option because you might accidentally delete SharePoint sites owned by another Project Server environmnent).
  • Manage Windows SharePoint Services->Connect to SharePoint Portal: Modify if needed.
  • Manage Enterprise Features->Update Resource Tables and OLAP Cube: I recommend creating a new cube just for this instance (i.e. MSPS_DEV).
  • Manage Views: If you are using custom views or have Portfolio Analyzer views, the links to the appropriate reports and/or OLAP cube (respectively) may need to be changed.
  • Make any other configuration changes you feel are applicable, but the ones I listed above are the critical ones to allowing the environment to work properly.

4) EditSite does not create a link on the Project Professional client.  With EditSite configured on the server, you now need to think about the client machines.  Firstly, Project Professional will not be 'aware' of the new instance.

  • In Project Professional, go to Tools->Enterprise Options->Microsoft Office Project Server Accounts: In the very first screen, make sure the “Manual“ option is selected, so Project Professional asks the user what environment to connect to.  Add a new site and enter the appropriate information (name it something like “Dev Environment“.  Note: you will need to exit Project Professional and go back again to see the new server.  Another note: These settings are in the client computer's registry, so your IT department may be able to 'rollout' the new settings to the desktop with the right tools.
  • As you know, client computers cannot truly access Project Server until the site is configured as Trusted in Internet Explorer.  If the Project Server instance is using a new DNS name or is located on a new server that is not trusted on the client machine, be sure to set that up as well.  Note: This is a policy setting that your IT Department may be able to 'rollout' as well.

Other than that, make sure you read the EditSite instructions carefully before using it and test, test, test that new environment before releasing it to the user community.

-Bill