Expand my Community achievements bar.

Mark Solution

This conversation has been locked.

AEM 6.4, SP-1 and SP-2 workflow and launcher creation

Avatar

Level 3

11/15/18

Hi All,

We are migrating from 6.1 to 6.4 and faced multiple issues while doing this.

Please find out below steps to create workflow and launchers in AEM 6.4, SP-1 and SP-2.

Workflow class:

import org.osgi.service.component.annotations.Component;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.adobe.granite.workflow.WorkflowException;
import com.adobe.granite.workflow.WorkflowSession;
import com.adobe.granite.workflow.exec.WorkItem;
import com.adobe.granite.workflow.exec.WorkflowProcess;
import com.adobe.granite.workflow.metadata.MetaDataMap;

@Component(service=WorkflowProcess.class, property = {"process.label=ik practise",
   org.osgi.framework.Constants.SERVICE_DESCRIPTION+"=Add opt out key to resource",
   org.osgi.framework.Constants.SERVICE_VENDOR+"=The Coca-Cola Company - FreeStyle CMS",
   "value=Add Optout Key"})

public class CustomStep implements WorkflowProcess {

   private static final Logger log = LoggerFactory.getLogger(CustomStep.class);
  public void execute(WorkItem item, WorkflowSession session, MetaDataMap args) throws WorkflowException {

        log.info("========Workflow called ========");
   }

}

Launcher:

In 6.4 Adobe suggested to create launchers in /conf/global/settings/workflow/launcher/config/update_page

<?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:WorkflowLauncher"
   condition="jcr:content/sling:resourceType==weretail/components/structure/page"
   description="ik test practise"
   enabled="{Boolean}true"
   eventType="{Long}16"
   excludeList=""
   glob="/content"
   nodetype="cq:Page"
   runModes="author"
   workflow="/var/workflow/models/ikpractise/update_page/jcr:content/model"
/>

Workflow Model page:

In 6.4 Adobe suggested to create model page in /var/workflow/models/ikpractise/update_page

<?xml version="1.0" encoding="UTF-8"?>

<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0"

      jcr:primaryType="cq:Page">

    <jcr:content

        cq:designPath="/etc/designs/default"

        cq:lastModified="{Date}2017-10-25T10:53:50.433+05:30"

        cq:lastModifiedBy="admin"

        cq:template="/libs/cq/workflow/templates/model"

        jcr:primaryType="cq:PageContent"

        jcr:title="LS Genomic Indexing Workflow"

        sling:resourceType="cq/workflow/components/pages/model">

        <flow

            jcr:primaryType="nt:unstructured"

            sling:resourceType="foundation/components/parsys">

            <process

                jcr:created="{Date}2017-10-25T10:53:16.696+05:30"

                jcr:createdBy="admin"

                jcr:lastModified="{Date}2017-10-25T10:53:50.428+05:30"

                jcr:lastModifiedBy="admin"

                jcr:primaryType="nt:unstructured"

                jcr:title="Genomic Indexing"

                sling:resourceType="cq/workflow/components/model/process">

                <metaData

                    jcr:primaryType="nt:unstructured"

                    PROCESS="ikpackage.core.listeners.CustomStep"

                    PROCESS_AUTO_ADVANCE="true"/>

            </process>

        </flow>

        <model/>

    </jcr:content>

</jcr:root>

Workflow Model page:

In 6.4 Adobe suggested to create model in /var/workflow/models/ikpractise/update_page/_jcr_content

<?xml version="1.0" encoding="UTF-8"?>

<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0"

          jcr:isCheckedOut="{Boolean}false"

          jcr:primaryType="cq:WorkflowModel"

          jcr:uuid="fd9a69e1-a024-43dc-905e-78285cae0e01"

          sling:resourceType="cq/workflow/components/model"

          description="No Description"

          title="FOS Content Bundle Deploy Workflow">

    <metaData

            cq:lastModified="{Long}1527862148126"

            cq:lastModifiedBy="admin"

            jcr:primaryType="nt:unstructured"/>

    <nodes jcr:primaryType="nt:unstructured">

        <node0

            jcr:primaryType="cq:WorkflowNode"

            title="Start"

            type="START">

            <metaData jcr:primaryType="nt:unstructured"/>

        </node0>

        <node1

            jcr:primaryType="cq:WorkflowNode"

            title="FOS Create Bundle JSON"

            type="PROCESS">

            <metaData

                jcr:primaryType="nt:unstructured"

                PROCESS="ikpackage.core.listeners.CustomStep"

                PROCESS_AUTO_ADVANCE="true"/>

        </node1>

        <node2

            jcr:primaryType="cq:WorkflowNode"

            title="End"

            type="END">

            <metaData jcr:primaryType="nt:unstructured"/>

        </node2>

    </nodes>

    <transitions jcr:primaryType="nt:unstructured">

        <node0_x0023_node1

                jcr:primaryType="cq:WorkflowTransition"

                from="node0"

                rule=""

                to="node1">

            <metaData jcr:primaryType="nt:unstructured"/>

        </node0_x0023_node1>

        <node1_x0023_node2

                jcr:primaryType="cq:WorkflowTransition"

                from="node1"

                rule=""

                to="node2">

            <metaData jcr:primaryType="nt:unstructured"/>

        </node1_x0023_node2>

    </transitions>

</jcr:root>

Please find below image reference for the same.

workflo.PNG

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
      jcr:primaryType="cq:Page">
    <jcr:content
        cq:designPath="/etc/designs/default"
        cq:lastModified="{Date}2017-10-25T10:53:50.433+05:30"
        cq:lastModifiedBy="admin"
        cq:template="/libs/cq/workflow/templates/model"
        jcr:primaryType="cq:PageContent"
        jcr:title="LS Genomic Indexing Workflow"
        sling:resourceType="cq/workflow/components/pages/model">
        <flow
            jcr:primaryType="nt:unstructured"
            sling:resourceType="foundation/components/parsys">
            <process
                jcr:created="{Date}2017-10-25T10:53:16.696+05:30"
                jcr:createdBy="admin"
                jcr:lastModified="{Date}2017-10-25T10:53:50.428+05:30"
                jcr:lastModifiedBy="admin"
                jcr:primaryType="nt:unstructured"
                jcr:title="Genomic Indexing"
                sling:resourceType="cq/workflow/components/model/process">
                <metaData
                    jcr:primaryType="nt:unstructured"
                    PROCESS="ikpackage.core.listeners.CustomStep"
                    PROCESS_AUTO_ADVANCE="true"/>
            </process>
        </flow>
        <model/>
    </jcr:content>
</jcr:root>

For mor

2 Comments