Project Server 2010: Scheduling on the Web, the PSI and Project Professional

There is an excellent article on the Web-based capabilities of Project 2010 at which does a schedule management comparison of Project Web App (PWA) 2010 compared to Project Professional 2010.  The comparison chart is available as a download, and has six pages of bullet points detailing what works in both PWA and Project Professional, what has some limitations in PWA and what can only be done in Project Professional.


I wanted to give a couple of examples that relate to the limitations section, and some of the less obvious behaviors you can run in to.  You should also assume that many (but not all) of the limitations with PWA may also be limitations when using the PSI.  See the SDK for more detail at “What the PSI Does and Does Not Do”.

First I’ll talk about cost resources.  From the document above we have this statement, which labels this feature as Limited or Read-Only for PWA:

Cost and Material Resource Assignments
Ability to assign Cost Resources or Material Resources to tasks (NOTE: assignments cannot be made in the web but previous
assignments from Project Professional 2010 are available as Read-Only.)

In PWA this is handled well, and if you try and assign a cost resource, or edit a task that has a cost resource assigned then you will get a message: “Scheduling Warning: You cannot edit tasks with cost, material or budget resources while using Project Web App.  If you wish to make this change, open your project using Project Professional. Your last edit has been undone.” Yours will probably be a different color – my current theme is “Laminate”.


However, the same issue can have other less expected consequences.  If you have a project template that contains an assignment to a cost resource, and this template is set as the template to be used for a specific Enterprise Project Type (EPT), then if you try and create a new project of this type through PWA it will fail to publish.  The message you get will be: “Your new EPTWithCostResource has been created successfully, but failed to publish and will not be listed in the Project Center.” where the phrase EPTWithCostResource will be the name of your EPT.


Going to the queue you will find a Project Create job with failed and blocking correlation.  The project name will be NA, as it cannot find it referenced in the database, and viewing the error details will give you:

    • Datasets:
    • ProjectDataSet
    • Table Assignment
    • Row: ASSN_UID=’bf66c711-97a1-4a31-9d49-fa827763a483′ PROJ_UID=’4d09fd45-0eb3-4641-aedd-5e70fe539ee3′
    • Error AssignmentInvalidOwner (139) – column RES_UID_OWNER
  • General
  • Queue:
  • GeneralQueueJobFailed (26000) – ProjectCreate.ProjectAddToMessage. Details: id=’26000′ name=’GeneralQueueJobFailed’ uid=’e97c84bb-d679-4958-b616-7f7782bc3cd3′ JobUID=’08991866-6a13-4639-9dd0-1770e57550b4′ ComputerName=’BRISMITH8100′ GroupType=’ProjectCreate’ MessageType=’ProjectAddToMessage’ MessageId=’1′ Stage=”. For more details, check the ULS logs on machine <servername> for entries with JobUID 08991866-6a13-4639-9dd0-1770e57550b4.

So it hasn’t just failed to publish, the Project Create job has failed. This project will not exist on the server.  This is because as well as the editing of cost resources in PWA being blocked, the creation through PWA of tasks with cost resources assigned will not work.  The workaround would be to create the project in Project Professional.  If you wanted to use a workflow with this project then you can use the Server Settings option to change or restart workflows.

The SDK article referred to above has this to say about cost resources and the PSI:

Cost Resources
  • Editing, creating, or deleting cost resources and assignments using the Project methods. The Resource methods can create cost resources but cannot edit them.

One feature that is only supported using Project Professional is editing of assignment fields.  This has caught me out a couple of times when I have opened a plan to edit it in PWA and it has been read-only.  It was because I had the view set to Assignments Summary last time I was looking at a drill-down view in Project Center.  This screen-shot also helps to explain the “AssignmentInvalidOwner” error from the queue, as the Cost Resource has no Assignment Owner – and also shows this project has been submitted to the “Sample Proposal” workflow after being created in Project Professional.


Finally Inactive Tasks. 

Inactive Tasks
Mark a task as inactive. (Note: In PWA, tasks marked as inactive in Project Professional 2010 are Read-Only.)

These display in PWA, but you cannot make a task inactive through PWA.  I have been recently playing around with inactive tasks and the PSI and found that it is possible to set a task to Inactive (setting TASK_IS_ACTIVE = false) but it is only reliable if this is the only change made.  If you also change the task name then the Inactivation doesn’t hold.  This is one consideration when using the PSI when scheduling changes will happen as a result – and this could relate to many of the items listed in the comparison document with the “Limited” icon.  If you are seeing some behavior that you are not expecting then try just making a change to a single property at a time (this appears to be the case for TASK_IS_INACTIVE at the task level and Assignment Owner – RES_UID_OWNER at the assignment level).  In Project Professional the changes you make are sequential and the scheduling engine works on them as such – even if recalculating later – but when you submit updates to the PSI in a QueueUpdateProject dataset there is not the same flow of changes so you can get results you might not expect.  If you do then take a step back and rather than trying to fight the server scheduling engine just feed the changes in a different way and you may get the results you are looking for.  Of course there may just be situations that are unsupported – and these are documented in the SDK link above.

Technorati Tags: ,
Comments (1)

  1. Marcel Visscher says:

    Is the issue for being able to assign cost resources solved in Project Server 2013 SP1? I tried it, but I think it is not solved.