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.
<swimlane name="otherperson"> <assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment"> <actor>#{bpm_assignee}</actor> </assignment> </swimlane>
<task-node name="approved"> <task name="wf:completed" swimlane="otherperson" /> <transition name="Done" to="end" /> </task-node>
initiator = people.getPerson(assignee).properties.userName;
initiator = "username";
bpm_initiator = "username";
<transition to="approved"> <action class="com.mydomain.MyClass" /> </transition>
package com.mydomain; import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.repo.workflow.jbpm.JBPMSpringActionHandler; import org.alfresco.service.ServiceRegistry; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeService; import org.jbpm.context.exe.ContextInstance; import org.jbpm.graph.exe.ExecutionContext; import org.springframework.beans.factory.BeanFactory; public class MyClass extends JBPMSpringActionHandler { private ServiceRegistry services; @Override protected void initialiseHandler(BeanFactory factory) { services = (ServiceRegistry) factory .getBean(ServiceRegistry.SERVICE_REGISTRY); } public void execute(ExecutionContext executionContext) throws Exception { ContextInstance ci = executionContext.getContextInstance(); // You can set the already existing assignee to become the initiator as below: NodeService nodeService = services.getNodeService(); NodeRef newUser = ((JBPMNode) ci.getVariable("bpm_assignee")).getNodeRef(); ci.setVariable("initiator", new JBPMNode(newUser, serviceRegistry)); } }