Project Server 2010: Approval rules, delegates and task updates

Update 18-09-2012: This now has been fixed in the August 2012 Cumulative update.

Lately I have been working on more projects with Project Server 2010. Some time ago we came across a strange issue. After some investigation we were able to reproduce this on a clean environment without customizations. Maybe you also have this issue, so that’s why I thought it was good to share.

Issue – A task update created by a delegation session is not automatically approved by the rules engine

Symptoms
This problem occurs when you use rules in combination with a delegation session in PWA. It occurs when an approval manager, which has an approval rule for all request types, project and resources, starts a delegation sessions for a resource from his own project. When he submits actuals via a timesheet the task updates aren’t automatically approved by the rule engine.

Steps to reproduce

Preparation
First we created a project plan and a rule for the project manager. And after that we use an administrator to create a delegation session.

Project Manager
1. Log in as Pieter Project Manager
2. Create a new project from project center based on the template Basic Project Plan
3. Create a single task (auto scheduled) with 100h work from 2/1/2012 to 10/1/2012
4. Build Team and assign a Team member, in this case Ted Team Member
5. Assign the Ted Team Member as resource to the task and publish the project
6. Go to Approval Center > Manage Rules and create a new rule
7. This rule automatically runs an publish all updates. Also it applies to all request types and all of the projects and resources

Administrator
1. Log in as Aad Administrator
2. Go to Server Settings > Security > Manage delegates and create a new delegation session for Pieter project manager who is working on behalf of Ted Team Member

#Scenario 1 – Task Update automatically accepted
In this first scenario we check it the rule works and let the resource write actuals on the task.

Team member
1. Log in as Ted Team Member
2. Go to Settings > Manage Timesheets and create a new timesheet
3. Write 40 hours of actuals on the task and send the timesheet
4. Go to the status details page of the task and see that his update is automatically accepted by the rules engine

#Scenario 2 – Delegation Task Update pending
In this second scenario we check if the rule works for a delegation session

Project Manager
1. Log in as Pieter Project Manager
2. Go to Personal Settings > Act as Delegate
3. Start Delegate Session
4. Go to Settings > Manage Timesheets and create a new timesheet
5. Write 40 hours of actuals on the task and send the timesheet
6. Stop Delegate Session
7. Go to Approval Center and see that there is a task update pending and not automatically accepted by the rules engine

#Scenario 3 (in combination with Scenario 2) – Task Update merged and automatically accepted
In this third scenario we check what happens after a delegation session.

Team member
1. Log in as Ted Team Member
2. Go to Settings > Manage Timesheets and create a new timesheet
3. Write 40 hours of actuals on the task and send the timesheet
4. Go to the status details page of the task and see that the pending update from the delegation and his update is merged into one task update and automatically accepted by the rules engine

Applies to
Project Server 2010 – Build 14.0.6614.500

Workaround
The workaround is pretty simple, just let the Project Manager manually accept the task update. In our case this wasn’t a very good workaround because a lot of approval managers were using this rule.

Solution
We are still in the process of finding a solution a filed this as a case with Microsoft.

This now has been fixed in the August 2012 Cumulative update. It is described in kb 2687390 as:
When you start a delegation session as a delegate in Project Server 2010, auto-approval rules for task updates do not work as expected.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.