<?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 Multi Instance User task assignee overwriting in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/multi-instance-user-task-assignee-overwriting/m-p/132960#M93381</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Good day All,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We are using the Activiti engine that came bundle with Alfresco 4.1*.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;We have a custom workflow developed. In this workflow we have a review task that is a multi Instance, what happens is if any of the reviewer (starting from the second person) rejects, it goes back to the initiator. Once the initiator has made adjustments, they can send it back to the &lt;/SPAN&gt;&lt;STRONG&gt;reviewer who rejected&lt;/STRONG&gt;&lt;SPAN&gt; the document.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What we would like help with is the overwriting of the original assignees with reviewer who rejected and those ahead of them in the task; so if there are 4 Reviewers and the 3rd rejects. When the flow comes back, the userTask should be assigned to the 3rd reviewer followed by the 4th in the loop.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What we have tried was using the TaskService interface with no success, here is the implementation we tried with:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;blockcode&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;package dac.gov.controller;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;import java.io.IOException;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import java.util.logging.FileHandler;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import java.util.logging.Logger;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.engine.TaskService;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.engine.delegate.DelegateTask;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.engine.delegate.TaskListener;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;public class RecommendationUser implements TaskListener&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Override&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void notify(DelegateTask execution)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// TODO Auto-generated method stub&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String user = execution.getVariable("sita_recommenders").toString();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TaskService task = TaskService.class.newInstance();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;task.setAssignee(execution.getVariable("taskid").toString(), user);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;log.info("Reassigning");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;catch (InstantiationException e)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// TODO Auto-generated catch block&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} catch (IllegalAccessException e) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// TODO Auto-generated catch block&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/blockcode&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If there is a way of achieving this please help.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DarkRedd&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 May 2013 06:55:45 GMT</pubDate>
    <dc:creator>darkredd1</dc:creator>
    <dc:date>2013-05-15T06:55:45Z</dc:date>
    <item>
      <title>Multi Instance User task assignee overwriting</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/multi-instance-user-task-assignee-overwriting/m-p/132960#M93381</link>
      <description>Good day All,We are using the Activiti engine that came bundle with Alfresco 4.1*.We have a custom workflow developed. In this workflow we have a review task that is a multi Instance, what happens is if any of the reviewer (starting from the second person) rejects, it goes back to the initiator. Onc</description>
      <pubDate>Wed, 15 May 2013 06:55:45 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/multi-instance-user-task-assignee-overwriting/m-p/132960#M93381</guid>
      <dc:creator>darkredd1</dc:creator>
      <dc:date>2013-05-15T06:55:45Z</dc:date>
    </item>
    <item>
      <title>Re: Multi Instance User task assignee overwriting</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/multi-instance-user-task-assignee-overwriting/m-p/132961#M93382</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;blockcode&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;TaskService.class.newInstance()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/blockcode&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;That's not how you should access the TaskService.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;What you can do is the following:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;blockcode&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ProcessEngine processEngine = ProcessEngines.getProcessEngine(Context.getProcessEngineConfiguration().getProcessEngineName());&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;TaskService taskService = processEngine.getTaskService();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/blockcode&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 May 2013 17:20:03 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/multi-instance-user-task-assignee-overwriting/m-p/132961#M93382</guid>
      <dc:creator>trademak</dc:creator>
      <dc:date>2013-05-16T17:20:03Z</dc:date>
    </item>
    <item>
      <title>Re: Multi Instance User task assignee overwriting</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/multi-instance-user-task-assignee-overwriting/m-p/132962#M93383</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you for the correction.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Though, it does not necessarily answer my question. My task is a multi Instance, with a collection of users involved, how would I then reassign the task with a new collection of users. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the scenario I'm working on, there can 4 users in this task; say the first two approves the process and the third rejects. When the originator has done their part it has to be sent back to the user who rejected and then continue with the flow there onwards. Meaning the original collection of assignees has to be overwritten with a new one with on two users (the one who rejected the last one of the approves in line).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;How do I achieve this?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DarkRedd&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 May 2013 07:44:37 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/multi-instance-user-task-assignee-overwriting/m-p/132962#M93383</guid>
      <dc:creator>darkredd1</dc:creator>
      <dc:date>2013-05-17T07:44:37Z</dc:date>
    </item>
    <item>
      <title>Re: Multi Instance User task assignee overwriting</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/multi-instance-user-task-assignee-overwriting/m-p/132963#M93384</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You would need to use variables for the assignments. When you arrive again in the multi instance, the variables will be used to set the assignee of the task (regardless of it is multi instance or not)&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 May 2013 15:48:57 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/multi-instance-user-task-assignee-overwriting/m-p/132963#M93384</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2013-05-21T15:48:57Z</dc:date>
    </item>
    <item>
      <title>Re: Multi Instance User task assignee overwriting</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/multi-instance-user-task-assignee-overwriting/m-p/132964#M93385</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Jbarrez,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have tried your suggested solution to no success with the code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var recommenders;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;recommenders = dac_recommenders.get(current);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;execution.setVariable('dac_recommenders', recommenders);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;"current" represents the current user in the original collection. After setting this, I get a "Variable dac_recommenders' not a collection" when the task has to be created.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't know if I am the dumb one in that maybe I am failing to assign data to a collection variable.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The code above is run inside the "complete" event of a taskListener in a script.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any other suggestions are welcome.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 May 2013 13:02:15 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/multi-instance-user-task-assignee-overwriting/m-p/132964#M93385</guid>
      <dc:creator>darkredd1</dc:creator>
      <dc:date>2013-05-28T13:02:15Z</dc:date>
    </item>
    <item>
      <title>Re: Multi Instance User task assignee overwriting</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/multi-instance-user-task-assignee-overwriting/m-p/132965#M93386</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;This is code I wrote last week which kinde does what you want:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var feedbackProviders = new java.util.ArrayList();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;feedbackProviders.add('gonzo');&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;feedbackProviders.add('mispiggy');&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;feedbackProviders.add('fozzie');&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;task.getExecution().setVariable('feedbackProviders', feedbackProviders);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 May 2013 08:25:54 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/multi-instance-user-task-assignee-overwriting/m-p/132965#M93386</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2013-05-29T08:25:54Z</dc:date>
    </item>
  </channel>
</rss>

