I am revisiting the topic of my earlier postings on this topic here, and here as I’ve since seen a couple of customers running into this, and my earlier posts were really focused on the tools (PowerShell) to fix the problem rather than the problem itself. So to recap, the symptoms are that you cannot create or edit projects in PWA, and you cannot open Project Details Pages in Server Settings. The error message received will be headed ‘Project Fields” for the example of adding a new basic project plan or sample proposal and the error will say:
This Web Part was unable to load.
Information that may be useful in solving this problem was written to the Unified Logging Service (ULS) log on the Project Server with the following ID:
and will be followed by a GUID.
The error when trying to open a Project in Project Center will depend on the stage in workflow, if any, and the associated Project Detail page – but will be similar to the above, but labeled, for example, “Proposal Summary”.
If the ULS logs are examined the GUID will be found by searching (Web Front End in a multi server environment), but will not be present in the Correlation column but in the Message text. the message will be like:
Web Part Exception Unique ID: 60278184-b699-405f-8a8b-54ed9a0aa6af System.NullReferenceException: Object reference not set to an instance of an object. at Microsoft.Office.Project.PWA.WebParts.ProjectFieldPartBase.GatherAndLoadCFList(Boolean bForceRefresh) at Microsoft.Office.Project.PWA.WebParts.ProjectFieldPartBase.RebindGrid(Boolean forceRefresh) at Microsoft.Office.Project.PWA.WebParts.ProjectFieldPartBase.PWA_OnLoad(EventArgs e) at Microsoft.Office.Project.PWA.WebParts.PWAResiliencyPart.OnLoad(EventArgs e)
and will be of level Exception with Tag ce9r.
It is possible that the exception will be slightly different based on the configuration of the PDP being loaded for the specific Enterprise Project type. The key piece here is the NULLReferenceException and GatherAndLoadCFList and the cause is that the PDP infrastructure is not loaded correctly so it cannot get the data it is expecting for the web part..
It is also possible that the same error could occur for different reasons – such as other script failures with the PDP infrastructure. However, these would normally also show an IE script error, while this particular issue does not. (I may have an interesting posting soon about PC firewall products truncating the pdplib.js…).
More evidence of this problem is that pdplib.js is not loaded, so will not be present if you View Source on the broken page in IE, or if you go to IE Developer Tools and look for the script.
The cause of the issues I have seen is that a certain property of the PWA web site is set (PWAURL) that is expected to be NULL for the PWA site. It should be set for project sites, but not the PWA site itself. I can make this property get applied by turning on the Project Site Collaboration features on my PWA site and then associating it with a project – but have also seen customer scenarios where this certainly isn’t the current state of the system, so not sure if the same steps cause the same problem. It is only an issue when you migrate to a different URL, such as during a move to 2010, or moving from production to test – so will not immediately break if you do have PWAURL set. The reason for this is that PWAURL will actually be the same context of the current site –so the code will get the right result for the wrong reasons – but once you migrate, which carries over this URL then this will no longer be the case.
For the remedial steps see the links in the first sentence – but wanted to give a better explanation of the issue and symptoms to make this more discoverable.