Enable modern approval process


Purpose

Modern approval feature targets to improve batch approval reliability. Performance may be improved because of reliability improvement, but not a direct goal of this feature.


Preparation

Before enabling modern approval process, we need to do following two things.

  1. Clean up all "Pending" project approval entities, because the modern approval process doesn't use "Pending" state, remaining "pending" project approvals won't be be processed by modern approval.
  2. Clear local browser cache. This includes internet file caches. With remaining cache, the legacy approval process could be triggered. Also any customization may block normal functionalities of modern approval process.

How to enable modern approval process?

  1. Go to "Project Parameter" folder.
  2. Open a project parameter, click "Feature Control" button, then click "Enable Modern Approvals" button.
  3. Make sure the change has happened by click "F5".




Background Approval Threshold

This attribute controls whether a batch of approvals can be processed immediately or asynchronously.

When the count of approvals in a batch is bigger than the threshold, the batch will be processed asynchronously by cloud flows. An integer value of 30 is a good start.



Modern asynchronous bulk approval process 

  1. Make sure following processes are activated through customization page. The modern flow recurrently wake up every 5 minutes, then calls action "Project Service - Schedule Project Approval Sets". The action will schedule system jobs to process the existing queued/active approval sets. You can check the system jobs in customization page as well. You should be able to see them called every 5 minutes.
 2. 
If the modern flow isn't activated, go to the power automate design page to identify the cloud flow and turn it on. You may need to go through the "Solutions" folder to identify the flow through the "Project Service" solution.




Confirm the modern approvals have been executed

Legacy Process

If you see following information in a pop-up dialog, you are still using the legacy approval process.

"Click OK to close this dialog. The system will continue processing your selected records for approval."



Modern Process

If you see following information in a pop-up dialog, you are using the Modern approval process.

"The system has processed the requested action "Approve" for your selected records."





Check the system jobs

Check if following system job is running "Project Service - PostApprovalSetmsdyn_ScheduleProjectApprovalSets" every 5 minutes.




Explore approval set

You can see a project approval linked to an approval set in Pending Approvals and Failed Approvals views.



You can open the linked approval set from a project approval form.



Main attributes for Approval Set.

Approval sets are created when you calling to approve project approvals. They are created per project, entry type, action type, target status.



Attribute/TabFunction
Logsyou can check logs tab for approval operations.
Entry TypeEntity type of Time, Expense and Material.
Action TypeApproval operation of the approval set.
Target StatusThe target status of a Time/Expense/Material entity.
Status ReasonThe status of the approval set.
Life TimeHow many retries can take on the approval set.
Pending ApprovalsProject approvals in the approval set.


Comments