<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Modify properties of workflow B while in workflow A in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/modify-properties-of-workflow-b-while-in-workflow-a/m-p/265742#M218872</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello, &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'd like to set a process variable of a workflow B while in the Java code called in the &amp;lt;event type="node-enter"&amp;gt; of a workflow A.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In other words, I'd like to realise the equivalent to "executionContext.setVariable("varName", value)". But how can I get the equivalent to "executionContext" of workflow B since I am not in the context of workflow B ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is it possible ? If yes, how ? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you for your help&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 17 May 2011 09:06:58 GMT</pubDate>
    <dc:creator>sycha</dc:creator>
    <dc:date>2011-05-17T09:06:58Z</dc:date>
    <item>
      <title>Modify properties of workflow B while in workflow A</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/modify-properties-of-workflow-b-while-in-workflow-a/m-p/265742#M218872</link>
      <description>Hello, I'd like to set a process variable of a workflow B while in the Java code called in the &amp;lt;event type="node-enter"&amp;gt; of a workflow A.In other words, I'd like to realise the equivalent to "executionContext.setVariable("varName", value)". But how can I get the equivalent to "executionContext</description>
      <pubDate>Tue, 17 May 2011 09:06:58 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/modify-properties-of-workflow-b-while-in-workflow-a/m-p/265742#M218872</guid>
      <dc:creator>sycha</dc:creator>
      <dc:date>2011-05-17T09:06:58Z</dc:date>
    </item>
    <item>
      <title>Re: Modify properties of workflow B while in workflow A</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/modify-properties-of-workflow-b-while-in-workflow-a/m-p/265743#M218873</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;this is not possible without some major jBPM coding, e.g. using the "low-level" jBPM API in an action handler to gain access to the other process instance via jBPMs process instance management API / services.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Why can't you use the WorkflowService and update task properties with the appropriate method? It is nearly the same as setting a process instance variable, as tasks submit their variables per default into the process instance context. You could define an ever-present system task (assigned to user "System") and have that task transition back to itself right after updating the properties..&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Other trail of thought: When these workflows are so inter-related, why are they not distinct, parallel forks within the same process definition or sub-processes (granted, I have not tried working with sub-processes in Alfresco's jBPM engine)?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Axel Faust&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 May 2011 23:47:38 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/modify-properties-of-workflow-b-while-in-workflow-a/m-p/265743#M218873</guid>
      <dc:creator>afaust</dc:creator>
      <dc:date>2011-05-18T23:47:38Z</dc:date>
    </item>
    <item>
      <title>Re: Modify properties of workflow B while in workflow A</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/modify-properties-of-workflow-b-while-in-workflow-a/m-p/265744#M218874</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello, &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I did it &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the piece of code I used : &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;import org.alfresco.service.cmr.workflow.WorkflowPath;&lt;BR /&gt;import org.alfresco.service.cmr.workflow.WorkflowService;&lt;BR /&gt;import org.alfresco.service.cmr.workflow.WorkflowTask;&lt;BR /&gt;import org.alfresco.service.cmr.workflow.WorkflowTaskDefinition;&lt;BR /&gt;import org.alfresco.service.namespace.QName;&lt;BR /&gt;import org.alfresco.web.bean.repository.Node;&lt;BR /&gt;import org.alfresco.web.bean.repository.TransientNode;&lt;BR /&gt;import org.alfresco.web.bean.workflow.WorkflowUtil;&lt;BR /&gt;&lt;BR /&gt;WorkflowService ws = ServicesUtilsGP.getServiceRegistry().getWorkflowService();&lt;BR /&gt;&lt;BR /&gt;// Create full workflow id (with 'jbpm$' prefix)&lt;BR /&gt;String workflowFullId = "jbpm$" + relatedWfId;&lt;BR /&gt;&lt;BR /&gt;// we find the workflow instance&lt;BR /&gt;List&amp;lt;WorkflowPath&amp;gt; listeWfPaths = ws.getWorkflowPaths(workflowFullId);&lt;BR /&gt;for (WorkflowPath workflowPath : listeWfPaths)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; List&amp;lt;WorkflowTask&amp;gt; listWfTasks = ws.getTasksForWorkflowPath(workflowPath.id);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;for (WorkflowTask workflowTask : listWfTasks)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Map&amp;lt;QName, Serializable&amp;gt; workflowProperties = ws.getPathProperties(workflowPath.id);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Map&amp;lt;QName, Serializable&amp;gt; taskProperties = workflowTask.properties;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Here wa can get workflow or task properties&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String wfPropValue = (String) workflowProperties.get(QName.createQName("namespaceUri", "wfPropName"));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String taskPropValue = (String) taskProperties.get(QName.createQName("namespaceUri", "taskPropName"));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// And set task properties&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// setup a transient node to represent the task we're managing&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WorkflowTaskDefinition taskDef = workflowTask.definition;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Node taskNode = new TransientNode(taskDef.metadata.getName(), "task_"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+ System.currentTimeMillis(), taskProperties);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Map&amp;lt;QName, Serializable&amp;gt; properties = WorkflowUtil.prepareTaskParams(taskNode);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;properties.put(QName.createQName("namespaceUri", "taskPropName", "value");&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// execute update&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.updateTask(workflowTask.id, properties, null, null);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 May 2011 09:12:05 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/modify-properties-of-workflow-b-while-in-workflow-a/m-p/265744#M218874</guid>
      <dc:creator>sycha</dc:creator>
      <dc:date>2011-05-23T09:12:05Z</dc:date>
    </item>
  </channel>
</rss>

