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 :(.