<?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 Saving variables/data for incomplete user tasks in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/saving-variables-data-for-incomplete-user-tasks/m-p/194592#M147722</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;My usecase is following : I have a large form (User Task). I'm expecting the user to fill this form over a period of couple of days. I need the ability to save the local variables for the task even though the task might not be complete. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;There are two ways of doing this - &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;a) Every time the user fills up one field in the browser, I update the local variable via REST update local variable call (&lt;/SPAN&gt;&lt;A href="http://activiti.org/userguide/index.html#N14C0C" rel="nofollow noopener noreferrer"&gt;http://activiti.org/userguide/index.html#N14C0C&lt;/A&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;b) Have a Java service task for validating that all the required fields have indeed been entered. If all the fields have been put in, proceed to next task, else save the local task variables and throw an activiti exception. Eg. &lt;/SPAN&gt;&lt;A href="https://www.evernote.com/shard/s352/sh/d4a07f09-03d1-48c7-812a-38a5146ba016/d817c394e0aca41f3f80b5064f5116ec" rel="nofollow noopener noreferrer"&gt;https://www.evernote.com/shard/s352/sh/d4a07f09-03d1-48c7-812a-38a5146ba016/d817c394e0aca41f3f80b5064f5116ec&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm trying to implement the *b* option, as *a* would require too many PUT calls to the REST API (one for each variable). &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But for some reason, &amp;lt;b&amp;gt;I'm unable to save the local variable in the java service task&amp;lt;/b&amp;gt;. Is there some rule in Activiti, that if a Java Service Task throws an activiti exception during execution, we roll back all changes to local variables ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My Java Service Task looks like this :&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String processId = execution.getProcessInstanceId();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TaskService tkService = execution.getEngineServices().getTaskService();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;Task&amp;gt; ltasks = tkService.createTaskQuery().processInstanceId(processId).list();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Task task = ltasks.get(0);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String taskId = task.getId();&lt;BR /&gt;&amp;nbsp;&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;&amp;nbsp; TaskService taskService = execution.getEngineServices().getTaskService();&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Set local variable&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; taskService.setVariableLocal(taskId, "mobile", execution.getVariable("mobile"));&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // throw Activiti Exception&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new ActivitiException(error);&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;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Anybody got any ideas as to what could be the probable reason here ? &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;This seems like a somewhat common usecase, is there a more appropriate way of solving this problem in general ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;TIA&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 18 Jun 2014 11:24:24 GMT</pubDate>
    <dc:creator>texens</dc:creator>
    <dc:date>2014-06-18T11:24:24Z</dc:date>
    <item>
      <title>Saving variables/data for incomplete user tasks</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/saving-variables-data-for-incomplete-user-tasks/m-p/194592#M147722</link>
      <description>Hi,My usecase is following : I have a large form (User Task). I'm expecting the user to fill this form over a period of couple of days. I need the ability to save the local variables for the task even though the task might not be complete. There are two ways of doing this - a) Every time the user fi</description>
      <pubDate>Wed, 18 Jun 2014 11:24:24 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/saving-variables-data-for-incomplete-user-tasks/m-p/194592#M147722</guid>
      <dc:creator>texens</dc:creator>
      <dc:date>2014-06-18T11:24:24Z</dc:date>
    </item>
    <item>
      <title>Re: Saving variables/data for incomplete user tasks</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/saving-variables-data-for-incomplete-user-tasks/m-p/194593#M147723</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Combine the two solution,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When the user is submitting the task, break it in two parts, first make a rest call to save the variable and then form data submit to move on to the next task. The next task will validate the data. If data validation service throws the exception, you didn't moved to a next task and current data is being saved.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In such cases one should always, create a draft copy of the variable, make changes in these and do validation over this only, so that old data can be reloaded at any time.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Jun 2014 14:44:27 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/saving-variables-data-for-incomplete-user-tasks/m-p/194593#M147723</guid>
      <dc:creator>ashendra1</dc:creator>
      <dc:date>2014-06-18T14:44:27Z</dc:date>
    </item>
  </channel>
</rss>

