Publishing a Project


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.


 


Comments (1)

  1. Brian L says:

    I use this method all the time and love it. However, I’m left wanting a bit more: My created workspaces end up with the default description of "Microsoft Office Project Server Workspace." I then need to manually go into the site settings of that workspace and change the name. Same thing with the Title of the workspace.

    Can Title and Description also be programmatically entered as part of QueuePublish?