Correct algorithm to create Project using PSI?

  • Thread starter Subramanian Vasudevan
  • Start date
S

Subramanian Vasudevan

We are interning in a software firm and are building a 3rd party Application
that integrates into Microsoft Project using the Microsoft Project Server
2007 PSI Webservices. We are facing a problem that we will be grateful if
anybody could solve.

These are the kind of Projects which will be supplied by our application.
All the Resources we use must fit into the category of Enterprise Resources,
since Status Updates through PSI are only possible with assignments of
Enterprise Resources. We have such need of performing time-phased actuals
updates on Resource Assignments.

Hence, the Global Resources must first be created in the Enterprise Pool if
not found, and then be imported into the Project's Team.
The flow of our algorithm for creating such a project given all the data is
as follows:

First create the empty Project in Project Server using QueueCreateProject
function. It will not have tasks and assignments yet. (roughly 1 second)
Go through the list of resources and create them in the Enterprise Pool if
not already found. (roughly 1-2 secs)

Import those Enterprise Resources into the Project's Team by using
QueueUpdateProjectTeam function. This step requires that the Project have
been created in the first place, otherwise it throws an exception. (roughly
1-2 secs)

Now add the list of tasks and assignments to an empty Project DataSet.
Use QueueAddToProject function to add the tasks and assignments to the
Project created in step 1. (roughly 3 secs)

Finally Publish the Project. (roughly 4-5 secs)

This way of doing things takes a lot of processing time, which we want to
avoid. Whereas if the same steps are carried out using the Microsoft Project
Client, the whole thing completes in one Queue Job called 'Project Save from
Project Professional', which seemingly does all 6 steps in much lesser time.

Are we missing something here? Is there a better way of doing the same thing
that takes lesser time? What is the proper method to create such a Project in
MS Project Server using the PSI? We would be very grateful if you could help
us out.
 
M

Martin Winzig

It's nearly correct.


but After QueueAddToProject you ussualy have to call queueUpdateProject
because same data tables from ProjectDataset ( for example task custom
fields) are not added to project plan.





With
 
S

Subramanian Vasudevan

Martin,

Can you please elaborate on what is a Project Plan? I cant see why
QueueUpdateProject needs to be called because I can see that the Task Custom
Fields (we use a couple of them) have been pushed once I open the newly
created Project.

Regards,

Subramanian
 
M

Martin Winzig

They aree added correctly when you cal queuecreateproject

But you can't add them using queueaddtoproject
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top