Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

Custom Participant Step with multiple users / groups selection

Avatar

Level 2

I have requirement where I am trying to create custom Participant step which should allow multiple groups to be displayed in the drop down while advancing workflow. I was able to overlay Participant Step using following this guide (https://docs.adobe.com/docs/en/aem/6-0/develop/extending/workflows/wf-extending.html) and I have used multifield widget which includes pathbrowser to choose the group multiple times. But when I save the workflow and re-open, it does not display the groups selected previously. Also, in the log I am getting below exception ( I have pasted only few lines). So it is not storing it correctly under workflow model /etc/workflow/models/POC/jcr:content/model/nodes/node3/metaData where it should create PARTICIPANT property with value. 

javax.jcr.ValueFormatException: PARTICIPANT = [/home/groups/test/rollout_notifications1, /home/groups/test/rollout_notifications2,] is multi-valued.

at org.apache.jackrabbit.oak.jcr.delegate.PropertyDelegate.getSingleState(PropertyDelegate.java:112) at org.apache.jackrabbit.oak.jcr.session.PropertyImpl$5.perform(PropertyImpl.java:238) at org.apache.jackrabbit.oak.jcr.session.PropertyImpl$5.perform(PropertyImpl.java:235) at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.perform(SessionDelegate.java:293) at org.apache.jackrabbit.oak.jcr.session.ItemImpl.perform(ItemImpl.java:113) at org.apache.jackrabbit.oak.jcr.session.PropertyImpl.getValue(PropertyImpl.java:235) at org.apache.jackrabbit.oak.jcr.session.PropertyImpl.getString(PropertyImpl.java:259) at com.adobe.granite.workflow.console.servlet.ModelGenerateServlet$ContentVisitor.copyMetaData(ModelGenerateServlet.java:399) at com.adobe.granite.workflow.console.servlet.ModelGenerateServlet$ContentVisitor.handleStep(ModelGenerateServlet.java:332) at com.adobe.granite.workflow.console.servlet.ModelGenerateServlet$ContentVisitor.entering(ModelGenerateServlet.java:287) at javax.jcr.util.TraversingItemVisitor.visit(TraversingItemVisitor.java:182)

Any clue on this ?

0 Replies

Avatar

Community Advisor

OOB, participant step is a single valued and hence you cant have multiple groups or users that can be sent..

Instead see if below thoughts can be used

1. Create a new single group combining multiple groups in it and use that group in the participant step

2. Have multiple participant step one after the other for each group

Avatar

Level 2

I can't have multiple participant step one after the other because all of them have to be siblings of each other (at same level in hierarchy) and should not block each other in notification. Is there any way, we can return multiple participants using ParticipantStepChooser interface (or any other class / interface) because its getParticipant() has return type of String and not String[]. 

Avatar

Level 3

RonnieForum wrote...

I can't have multiple participant step one after the other because all of them have to be siblings of each other (at same level in hierarchy) and should not block each other in notification. Is there any way, we can return multiple participants using ParticipantStepChooser interface (or any other class / interface) because its getParticipant() has return type of String and not String[]. 

 

 

Hi Folks,

I have similar requirement for my project so would like to know if above got resolved and completed . If yes, can you please provide me solution that you implemented. It would be really helpful.

Thank you so much in advance !!