Simplifying Workflow Execution in Adobe Experience Manager

01 / Feb / 2023 by Rahul Pandey 0 comments

Recently we encountered a use case while working with workflows in Adobe Experience Manager, where Content Authors needed to execute only certain workflows on the pages. The out of the box functionality, renders all the available workflows in the action list. From a user experience perspective, this wasn’t desirable as the Author would need to scroll the entire list to pick the one that needed to be executed.  

In order to provide a better user experience where the Author doesn’t need to scroll the entire list of the workflows, we tried identifying a solution which displays only the relevant list, instead of  the entire one.

We set the ACL for a specific group for which relevant members were allowed to execute the workflow. Here are the steps needed to set the ACL for a group for which members are allowed to run the workflow –

STEP 1: Create a group for the users torun the workflow. I.e. workflow-user-group

STEP 2: Set the Permissions under /var/workflow/models/ folder to deny the nodes which are not required for the workflow-user-group.

This was quite simple as giving the permissions to any user, isn’t it? Now you may be wondering how it was specific to workflow, and what is the learning from this article. So the answer is – Wait, Still, the requirement is not completed. Still, we can see some of the non-required workflows in the Start Workflow list. Now we have below questions –

  • If we have denied all the workflows to which the user/group should not have access, why are some workflows still visible?
  • How to hide these workflows from the list.

So, here is the answer –

Inside the /var/workflow/models folders some workflows are managed under a subfolder and a few are unmanaged directly under the models folder. The permissions we applied from the user admin is applicable only for the folders not for the unmanaged one.

Now, if we can’t assign permissions to the unmanaged workflows, then how we should hide them from the list?

Actually, we can also assign permissions to unmanaged workflows, but not from the user admin console. We need to do some extra work to assign permissions to unmanaged workflows, and below are the steps for the same:-

STEP 1: Open Crx/de.

STEP 2: Go to the /var/workflow/models folder.

STEP 3: Select the models node and open the Access Control tab from the bottom right pane.

STEP 4: Click on the green-colored + symbol.

STEP 5: Select your group, and set permission as deny and select jcr:read.

Are we done? Not yet –  if you click ok here, this will deny access to all the workflows. So we need to do some advance setting under the ‘advance’ section and set value for the rep:glob property. As a value, you need to give the workflow node name starting with ‘/.’

For example, if you want to set permission for the request_for_activation node, then you need to set

rep:glob = /request_for_activation

It supports wild card (*) as well and can be used to set permission for all the nodes started with request key world.

rep:glob = /request*

That’s it; you can set multiple rules for multiple nodes if it can’t be achieved using *.

FOUND THIS USEFUL? SHARE IT

Tag -

workflow

Leave a Reply

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