Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
SOLVED

Access dialog participation widget's value in process step

Avatar

Level 5

Hi

In my workflow i have Dialog participation step in which i mapped the dialog contains widget having value ./val. Next is process step. I want to fetch the value of dialog's val inside process step. After start WF, When i checked process step logs. i found from map /etc/workflow/instances/2014-09-21/model_20811320033046/history/1411239008186, no node under it shows not any value set with val. Please tell how i can fetch this value in my process step.

Thanks

1 Accepted Solution

Avatar

Correct answer by
Level 3

vdhim23 wrote...

VatsalGupta wrote...

Hi,

When the property name is used in below format-

name="./jcr:content/templatepath"

It will store the value at the actual payload node and not in workflow instance. Payload here means the actual path where workflow is triggered.

In your example the payload would be - "/content/plex/en/customers". The property 'templatepath' should be found under that node.

(Attached - payload.png)

Let me know if this helps.

Thanks

 

Thanks, I got the value, how can i fetch this in process step. I used String argument = args.get("PROCESS_ARGS", "false"); but it returns false. 

 


Hi

You can get the property by reading it from the payload node. In the execute method of the process step, you would get the payload path by the following code-

WorkflowData workflowData = workItem.getWorkflowData(); String payload = workflowData.getPayload().toString();

You can read the property by accessing repository at the payload path.

Thanks

View solution in original post

8 Replies

Avatar

Level 3

vdhim23 wrote...

Hi

In my workflow i have Dialog participation step in which i mapped the dialog contains widget having value ./val. Next is process step. I want to fetch the value of dialog's val inside process step. After start WF, When i checked process step logs. i found from map /etc/workflow/instances/2014-09-21/model_20811320033046/history/1411239008186, no node under it shows not any value set with val. Please tell how i can fetch this value in my process step.

Thanks

 


Hi,

There are two ways the dialog property is stored for dialog participant step in workflow. It can either be stored in payload node or workItem node.

You can check details here.- http://docs.adobe.com/docs/en/aem/6-0/develop/extending/workflows/wf-ref.html#Dialog Participant Step

Let me know if this helps or not.

Thanks

Vatsal

Avatar

Level 5

VatsalGupta wrote...

vdhim23 wrote...

Hi

In my workflow i have Dialog participation step in which i mapped the dialog contains widget having value ./val. Next is process step. I want to fetch the value of dialog's val inside process step. After start WF, When i checked process step logs. i found from map /etc/workflow/instances/2014-09-21/model_20811320033046/history/1411239008186, no node under it shows not any value set with val. Please tell how i can fetch this value in my process step.

Thanks

 


Hi,

There are two ways the dialog property is stored for dialog participant step in workflow. It can either be stored in payload node or workItem node.

You can check details here.- http://docs.adobe.com/docs/en/aem/6-0/develop/extending/workflows/wf-ref.html#Dialog Participant Step

Let me know if this helps or not.

Thanks

Vatsal

 

Hi, I have used both approaches, but not getting the value, even i can't see where it sets. Below is my dialog inside /etc/workflows/dialogs/

<?xml version="1.0" encoding="UTF-8"?> <jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" jcr:primaryType="cq:Dialog" title="Changetemplate" xtype="dialog"> <items jcr:primaryType="cq:WidgetCollection"> <Path jcr:primaryType="cq:Widget" fieldLabel="Select Template" name="./jcr:content/templatepath" rootPath="/apps/myapp/templates" xtype="pathfield"/> </items> </jcr:root>

and not able to see set  templatepath in ant WF instance

Thanks

Avatar

Level 10

This is specified here - http://docs.adobe.com/docs/en/aem/6-0/develop/extending/workflows/wf-ref.html#Dialog Participant Step:

Store Data with the Payload

To store widget data as a property of the workflow payload, use the following format for the value of the name property of the cq:Widget node:

./jcr:content/nodename

The data is stored in the nodename property of the payload node. If the node does not contain that property, the property is created.

When stored with the payload, subsequent uses of the dialog with the same payload overwrites the value of the property.

 

Store Data with the Work Item

Avatar

Level 5

smacdonald2008 wrote...

This is specified here - http://docs.adobe.com/docs/en/aem/6-0/develop/extending/workflows/wf-ref.html#Dialog Participant Step:

Store Data with the Payload

To store widget data as a property of the workflow payload, use the following format for the value of the name property of the cq:Widget node:

./jcr:content/nodename

The data is stored in the nodename property of the payload node. If the node does not contain that property, the property is created.

When stored with the payload, subsequent uses of the dialog with the same payload overwrites the value of the property.

 

Store Data with the Work Item

 

Yes i have gone through both of these options but the widget value is not getting set. I have attached image which shows the same.

Avatar

Level 3

Hi,

When the property name is used in below format-

name="./jcr:content/templatepath"

It will store the value at the actual payload node and not in workflow instance. Payload here means the actual path where workflow is triggered.

In your example the payload would be - "/content/plex/en/customers". The property 'templatepath' should be found under that node.

(Attached - payload.png)

Let me know if this helps.

Thanks

Avatar

Level 5

VatsalGupta wrote...

Hi,

When the property name is used in below format-

name="./jcr:content/templatepath"

It will store the value at the actual payload node and not in workflow instance. Payload here means the actual path where workflow is triggered.

In your example the payload would be - "/content/plex/en/customers". The property 'templatepath' should be found under that node.

(Attached - payload.png)

Let me know if this helps.

Thanks

 

Thanks, I got the value, how can i fetch this in process step. I used String argument = args.get("PROCESS_ARGS", "false"); but it returns false. 

Avatar

Correct answer by
Level 3

vdhim23 wrote...

VatsalGupta wrote...

Hi,

When the property name is used in below format-

name="./jcr:content/templatepath"

It will store the value at the actual payload node and not in workflow instance. Payload here means the actual path where workflow is triggered.

In your example the payload would be - "/content/plex/en/customers". The property 'templatepath' should be found under that node.

(Attached - payload.png)

Let me know if this helps.

Thanks

 

Thanks, I got the value, how can i fetch this in process step. I used String argument = args.get("PROCESS_ARGS", "false"); but it returns false. 

 


Hi

You can get the property by reading it from the payload node. In the execute method of the process step, you would get the payload path by the following code-

WorkflowData workflowData = workItem.getWorkflowData(); String payload = workflowData.getPayload().toString();

You can read the property by accessing repository at the payload path.

Thanks

Avatar

Level 3

Hi

You can get the property by reading it from the payload node. In the execute method of the process step, you would get the payload path by the following code-

WorkflowData workflowData = workItem.getWorkflowData(); String payload = workflowData.getPayload().toString();

You can read the property by accessing repository at the payload path.

Thanks