Expand my Community achievements bar.

Passing Values between AEM Workflow Steps

Avatar

Level 10

You can develop a custom Adobe Experience Manager (AEM) workflow step that sets a value that can be retrieved by another step in the same workflow. For example, assume you read a property of a payload and you need that value in a later step. You can store the value and retrieve it in a later step.

To read and write values in an AEM workflow, you need to write custom steps. A custom workflow step is implemented as an OSGi bundle that you can build using Maven and the AEM Workflow APIs that belong to the com.adobe.granite.workflow.exec package. For information, see Package com.adobe.granite.workflow.exec.

To demonstrate how to pass values in a workflow between steps, this article uses the following workflow model.

To read this development article, click   https://helpx.adobe.com/experience-manager/using/creating-custom-aem-workflow-pass-data.ht ml.

11 Replies

Avatar

Level 9

Hi Scott,

Thank you for sharing this across.

Avatar

Former Community Member

Hi Scott,

I have tried to this example on AEM 6.1 Service Pack 1 server, and I got some error when I deploy and start the bundle.

21.04.2016 17:28:05.384 *ERROR* [FelixStartLevel] ERROR: Error starting inputstream:demobundle-bundle-1.0-SNAPSHOT.jar
(org.osgi.framework.BundleException: Unresolved constraint in bundle com.dsa.demo.demobundle-bundle [470]: Unable to resolve 470.0:
missing requirement [470.0] osgi.wiring.package; (&(osgi.wiring.package=com.adobe.granite.workflow)(version>=1.0.0)(!(version>=2.0.0))))
org.osgi.framework.BundleException: Unresolved constraint in bundle com.dsa.demo.demobundle-bundle [470]:
Unable to resolve 470.0: missing requirement [470.0] osgi.wiring.package; (&(osgi.wiring.package=com.adobe.granite.workflow)(version>=
1.0.0)(!(version>=2.0.0)))
        at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4095)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:2114)
        at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1368)
        at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
        at java.lang.Thread.run(Thread.java:745)

Thanks.

Avatar

Level 10

can you try on an fresh version of AEM. We have had many community members get this working., Did you use all of the Dependencies in the POM in the artilce and follow it exactly? 

Avatar

Level 10

Hi Qian,

This(Passing Values between AEM Workflow Steps) got working for me in AEM 6.1 without SP1 and also I don't think so, it is problem with the SP1 pack.

Please see this attached screenshots

Thanks,
Ratna Kumar.

Avatar

Level 3

Restart the instance, redeploy the bundle again and refresh the packages of workflow bundle.

Avatar

Former Community Member

I have to re-install a fresh version of AEM 6.1 with SP1, and test the bundle, it works. 

Avatar

Level 10

When bundle issues occur like that - its typically something in environment that causes it,  All HELPX articles have been tested many times by community members.  I am glad it's working for you! 

Avatar

Level 7

Very practical example, required often in the real world.

An installable package of this would help people, who want to quickly install and test, before digging deep..

Thanks,

Rama.

Avatar

Level 10

Good feedback - we will package up this example. 

Avatar

Level 1

@smacdonald2008 ,

Do you have the correct development article link or working package of it?
https://helpx.adobe.com/experience-manager/using/creating-custom-aem-workflow-pass-data.html is taking to different page.

 

Thanks,

Shiv MN