• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1597
  • Last Modified:

Project Server PSI QueuePublish method does not refresh enterprise Calculated fields

Hi all,

If I create a new enterprise calculated custom field I noticed that the
calculation is not processed until the project is re-published using project
Pro 2007.

I have writtern a service that re-published a set of projects every day with
the intention of forcing a re-calculation of the custom fields. I am using
the QueuePublish method (with a FullPublish) of the Project Web Services to
re-publish projects. There are no errors in the queue and everything seems to
be working. However, the custom fields values on the re-published projects
are not being refreshed....If I use Project Pro to re-publish the project the
Custom Fields are refreshed !!!
Any Idea's

Thanks in advance for any reply's.
  • 3
1 Solution
I'm not surprised that you are seeing this. There are some project calculations that only happen when a project is opened in Project Pro.

Two possible answers:
1. The February Cumulative update (a hotfix) fixed some issues with the PSI QueuePublish method. Make sure to test that. My suspicion is that that still won't solve this for you.

2. The other option is to publish via Project Pro. You can run the app on the server and publish changed projects. Messy, but gets the job done. Colby Africa recently blogged about exactly this, and included sample code for elements of this solution:

Hope this helps...
James Fraser
sortechAuthor Commented:
Thanks James.

I gave the Project Pro method a think over before attempting to use the Project PSI. The problem I have is that the solution needs to be rock solid.

I did get some feedback from another blog. They noted that QueueUpdateProject method forces a recalc of custom fields and I am currently looking into this.

sortechAuthor Commented:
Ok... After many hours I found the solution.

Using the PSI you need to...
1. Open each Project
2. Get all the Custom Fields setup on the Project Server Installation
3. Check if the Field exists on the opened project. If not then add it to the project
3. Save the Project and Publish it using QueueUpdateProject

This works.

Thanks for all imput
sortechAuthor Commented:
Oh and you need to work backwards on calculated fields. IE create all the dependant fields before creating the top level field.

Featured Post

Receive 1:1 tech help

Solve your biggest tech problems alongside global tech experts with 1:1 help.

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now