As we transition to the new Hyland Community, some post links may be temporarily disrupted as we finalize redirects. We apologize for the inconvenience and are working to resolve this as quickly as possible. Details.
<?xml version="1.0" encoding="UTF-8"?> <!– This describes a process for submitting changed content in a user –> <!– sandbox, via one or more approval groups, to the staging sandbox. –> <process-definition name="gmac:contentapprovesubmit"> <!– ############## –> <!– Swimlane–> <!– ############## –> <swimlane name="initiator"> </swimlane> <swimlane name="toAdministrator"> <assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment"> <actor>#{people.getPerson("admin").properties["cm:userName"]}</actor> </assignment> </swimlane> <!– ############## –> <!– Initiate Workflow –> <!– ############## –> <start-state name="start"> <task name="gmac:submitReviewTask" swimlane="initiator" > </task> <event type="node-leave"> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> for (var i = 0; i < bpm_package.children.length; i++) { if (!bpm_package.children[i].hasAspect("gmac:WFStatus")) { bpm_package.children[i].addAspect("gmac:WFStatus"); } } </script> </action> </event> <transition name="Initiate" to="authorverification"> <!– <condition>#{initiator.properties.userName == "admin"}</condition> –> </transition> </start-state> <!– ############## –> <!– Author verification- Author needs to check the compliance for the content–> <!– ############## –> <task-node name="authorverification"> <task name="gmac:authorverification" swimlane="initiator" /> <transition name="Abort" to="AdminInfo" /> <transition name="Continue" to="submitpooledreview"> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> for (var i = 0; i < bpm_package.children.length; i++) { bpm_package.children[i].properties["gmac:status"] = "ComplianceChecked"; bpm_package.children[i].save(); } </script> </action> </transition> </task-node> <!– ############## –> <!– Pooled Review –> <!– ############## –> <node name="submitpooledreview"> <action class="org.alfresco.repo.workflow.jbpm.ForEachFork"> <foreach>#{bpm_groupAssignees}</foreach> <var>reviewGroup</var> </action> <transition name="review" to="pooledreview" /> </node> <swimlane name="Reviewers"> <assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment"> <!– <pooledactors>#{people.getGroup('GROUP_Reviewers')}</pooledactors> –> <pooledactors>#{reviewGroup}</pooledactors> </assignment> </swimlane> <task-node name="pooledreview"> <task name="gmac:reviewTask" swimlane="Reviewers"> </task> <event type="node-enter"> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> for (var i = 0; i < bpm_package.children.length; i++) { bpm_package.children[i].properties["gmac:status"] = "WithReviewer"; bpm_package.children[i].save(); } </script> </action> </event> <transition name="Approve" to="onapprove"> </transition> <transition name="Reject" to="rejected" > </transition> </task-node> <!– ############## –> <!– End the Review –> <!– ############## –> <task-node name="rejected"> <task name="gmac:rejectedTask" swimlane="initiator" > </task> <event type="node-enter"> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> for (var i = 0; i < bpm_package.children.length; i++) { bpm_package.children[i].properties["gmac:status"] = "Rejected"; bpm_package.children[i].save(); } </script> </action> </event> <transition name="Abort" to="AdminInfo" /> <transition name="Resubmit" to="submitpooledreview"/> </task-node> <decision name="onapprove"> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> for (var i = 0; i < bpm_package.children.length; i++) { bpm_package.children[i].properties["gmac:status"] = "Approved"; bpm_package.children[i].save(); } </script> </action> <transition name="launchnow" to="authorCertify" /> <transition name="launchpending" to="submitpending"> <condition>#{wcmwf_launchDate != null}</condition> </transition> </decision> <task-node name="submitpending"> <task name="gmac:submitpendingTask" swimlane="toAdministrator"> <event type="task-create"> <script> taskInstance.dueDate = wcmwf_launchDate; </script> </event> <event type="node-enter"> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> for (var i = 0; i < bpm_package.children.length; i++) { bpm_package.children[i].properties["gmac:status"] = "SubmitToStagingPending"; bpm_package.children[i].save(); } </script> </action> </event> <timer duedate="#{wcmwf_launchDate}" transition="launch" > <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> logger.log("WCM Submission " + bpm_workflowDescription + " submitted at " + wcmwf_launchDate + " by " + person.properties.userName); </script> </action> </timer> </task> <transition name="cancel" to="AdminInfo" /> <transition name="launch" to="authorCertify" /> </task-node> <!– ############## –> <!– Certification fron Author –> <!– ############## –> <task-node name="authorCertify"> <task name="gmac:authorCertify" swimlane="initiator" /> <transition name="Submit" to="decisionCertify"/> </task-node> <decision name="decisionCertify"> <transition name="Certified" to="Submitted" > <condition>#{gmac_checkCertify != "Not Certified"} </condition> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> for (var i = 0; i < bpm_package.children.length; i++) { bpm_package.children[i].properties["gmac:status"] = "Certified"; bpm_package.children[i].save(); } </script> </action> </transition> <transition name="NotCertified_End" to="AdminInfo" > <condition>#{gmac_checkCertify == "Not Certified"} </condition> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> for (var i = 0; i < bpm_package.children.length; i++) { bpm_package.children[i].properties["gmac:status"] = "NotCertified"; bpm_package.children[i].save(); } </script> </action> </transition> </decision> <node name="Submitted"> <event type="node-enter"> <action class="org.alfresco.repo.avm.wf.AVMSubmitPackageHandler"/> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> for (var i = 0; i < bpm_package.children.length; i++) { bpm_package.children[i].properties["gmac:status"] = "SubmitToStagingPending"; bpm_package.children[i].save(); } </script> </action> </event> <transition name="AdministratorInformation" to="AdminInfo" /> </node> <!– ############## –> <!– End the Process –> <!– ############## –> <task-node name="AdminInfo"> <task name="gmac:AdminInfo" swimlane="toAdministrator" /> <timer duedate='3 minutes' transition="End" > <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> logger.log("WCM Submission " + bpm_workflowDescription + " submitted at " + wcmwf_launchDate + " by " + person.properties.userName); </script> </action> </timer> <transition name="End" to="endfinal" /> </task-node> <end-state name="endfinal"/> <event type="process-end"> <action class="org.alfresco.repo.avm.wf.AVMRemoveAllSrcWebappsHandler"/> <action class="org.alfresco.repo.avm.wf.AVMRemoveWFStoreHandler"/> </event> </process-definition>