When is a Publish Not a Publish?

I was looking through some of the comments and saw a question that the response really called for a post on it's own.  Here is the comment, edited down for brevity, feel free to look up the whole comment from the post on Project Conference:

The PDS calls for changing the code values does not update the msp_view tables for project summary information. After fruitless searches on google, google-groups, etc, I had to resort to opening the project, saving it, and then closing it. The XML from the SOAP peeking tool showed Project Checkin including this data, but there must be as easier way. Hence the opening-saving-closing of each project.  

What this question really comes down to is publishing. In Project Server there is a two phased commit for saving 1) Save which puts updates the MSP_* tables 2) Publish, which updates the MSP_VIEW_* and MSP_WEB_* tables. PDS lives in the same rules.

This issue here is around the scheduling engine. Project Server does not have a scheduling engine, all that logic is housed in Project Professional. You can use the PDS to create a project, then you can call ProjectViewTablesCreate (or set the AutoPublish flag in ProjectCreate) to push the information into the MSP_VIEW tables. The issue is none of the dependencies have been calculated, fields values haven't been calculated, etc. To get that work to occur you need to open the project in Project Pro and then perform a save and publish. So it's really not an issue with the programming model as much an issue of where functionality lies.

When is a Publish not a Publish? When the scheduling engines haven't ran over the data, you really don't have a complete publish.

In Project Server 2007 there is some lightweight scheduling on the server, some updates to users views will be able to occur without requiring Project Pro to open the project. What the final count of "You must use Project pro to do XXX", and "Project Server will handle YYY" is still up for debate. That will be a good topic for a future post. Unfortunately it will have to wait till all the dust settles on feature adds/cuts which will probably be late summer. I'd hate to say you can do XXX, and have that feature cut :(.

Comments

  • Anonymous
    May 01, 2006
    Thanks for the update.  It is comforting to know that the dark alley I am heading down is the correct one. :-)

    Additional information for the current task. The project(s) already exist, I am not creating new ones. I am only updating custom fields and some outline codes.  Would ProjectViewTablesCreate update existing information, espcially the <ProjectSummaryRecord> data ?

    Consideration for project 12: for us, it is common to update custom text fields and outline codes where the data is in essence only a label.  We update from our highway project database items such as the project leader, the official project name, project highway and milepost and other static data.  I would not imagine that the scheduling engine would be required to process the updates.  The custom text and outline codes are part of the global template, hence, they are not added but only changed for the individual project.  It is an external process that populates these field values.  Am I alone in this?

    Again, thanks for taking the time out of your busy schedule.
  • Anonymous
    April 09, 2008
    Hi, I am facing different issue. I am using PDS <ProjectCodeValues> method to get enterprise custom fields value in a project (created in Project 2003) but the result-set missing all calculated custom fields and give me only those fields value that available through 'Project Web Access' on 'Edit Custom Fields'-screen. I can see the missing calculated custom fields in views.