A few months back I wrote about creating a project using PSI from a template.  I got a question that said, great but how do I publish the project and create the WSS workspace?

If this was Project Server 2003 it would take at least three posts to answer that question, and it did earlier this year J.  For Project Server 2007 I can answer both questions with one PSI call, QueuePublish.  Here is the signature for the call:

public ProjectRelationsDataSet QueuePublish (
Guid jobUid,
Guid projectUid,
bool fullPublish,
string WssURL
)

jobUid              For tracking you job in the queue

projectUid       The project you are publishing

fullPublish      Publish everything, or just the changes

WssURL           This is interesting.  There are three possibilities for what you enter in this parameter:

1.      If you put null, no WSS site will be created. 

2.      If you put an empty string “” AND you have auto create of workspace enabled you’ll get a site off the default specified WSS in the name of the project.

3.      Specify a WSS URL, and that is the site that gets created.

QueuePublish slices, dices, and quite possibly will be the next product for Ronco.  Remember that Publish has a some different consequences in the Project Server 2007 versus Project Server 2003 due to the changed architecture.  Most notably is you are now copying the project into the published store from the draft store and kicking off a job to populate the reporting store.  Just know QueuePublish is how to publish a project and create the corresponding WSS workspace.