Expand my Community achievements bar.

SOLVED

Dynamic Group Workflow Assignment

Avatar

Level 2

Hi all,

I am working with an AEM setup running multiple sites. Lets call them "Site A" and "Site B". There are multiple Groups within the organization. Lets call them "Group 1" and "Group 2". Within the organization people are assigned to a group and a site. An individual might belong to "Site B" and "Group 1".

The workflow wants to target specific Groups. Example: Step 1 goes to Group 1 for approval, then Step 2 goes to Group 2 and then finally gets activated. The desire is when workflows get started for content on Site A, Step 1 only goes to people belonging to both "Site A" and "Group 1".

I am trying to avoid having to manage "Site A - Group 1" groups within AEM for management reasons.

In looking at the Workflow implementation they need to be assigned to a specific principal. That seems to rule out the possibility of dynamically pulling the list of people in both groups.

My best idea is to have a dynamic participant step chooser that, base on the payload, would populate a group like "Site A - Group 1" so it doesn't need to be managed explicitly.

Is this a bad path? Can anyone point me in a better direction?

Thanks!

1 Accepted Solution

Avatar

Correct answer by
Employee

Hi,

I think your approach sounds fine, it should work.

Another alternative you might consider is having different workflows for each site.  You can put them in different folders like this /etc/worklfow/models/sitex and have ACLs on the folder sitex that only permits users for that site to start that workflow.  Or if you're using workflow launchers to start the workflows you could have different launchers configured to start the different workflows.  This may or may not be an alternative, but it could be easier to manage/debug - up to you.

Will

View solution in original post

2 Replies

Avatar

Level 2

Yes this is a right path you are taking. You have to write a Custom "Process Step" to identify the users from both the groups of Site A/Site B.

You can then assign it in the Dynamic Participant step.

Avatar

Correct answer by
Employee

Hi,

I think your approach sounds fine, it should work.

Another alternative you might consider is having different workflows for each site.  You can put them in different folders like this /etc/worklfow/models/sitex and have ACLs on the folder sitex that only permits users for that site to start that workflow.  Or if you're using workflow launchers to start the workflows you could have different launchers configured to start the different workflows.  This may or may not be an alternative, but it could be easier to manage/debug - up to you.

Will