<?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 Re: Undo Activiti in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/undo-activiti/m-p/24685#M12105</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;1) is indeed a lot of work to get right. Maybe you could inject such behavior automatically with a BpmnParseHandler, but it will still be complicated to implement and get working for each case.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;2) and 3) are conceptually ok … but the history would be seriously messed up&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;4) That would indeed be a valid approach. But as you say it is not a generic solution and requires designing.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you are only concerned about user tasks, another path you could go is to move the execution pointer yourself from the next step back to the user task. You can find which variables were set (runtime / history) and remove/roll those back. Of course, that is only valid for user tasks.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 14 May 2013 07:13:15 GMT</pubDate>
    <dc:creator>jbarrez</dc:creator>
    <dc:date>2013-05-14T07:13:15Z</dc:date>
    <item>
      <title>Undo Activiti</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/undo-activiti/m-p/24678#M12098</link>
      <description>Hi,Wanted to know if Undo of any activitity (so that user can go back to previous task) is builtin to activiti? I'm using jbpm 4.x currently and had to write undo api for myself by finding out what entries are made into all tables when a task is completed. Undo is commonly used, i think it's a goodf</description>
      <pubDate>Mon, 31 May 2010 22:26:24 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/undo-activiti/m-p/24678#M12098</guid>
      <dc:creator>activiti-admin</dc:creator>
      <dc:date>2010-05-31T22:26:24Z</dc:date>
    </item>
    <item>
      <title>Re: Undo Activiti</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/undo-activiti/m-p/24679#M12099</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;A generic 'undo' activity is not planned (also not part of BPMN 2.0), since it requires business specific code most of the times.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;BPMN 2.0 does have compensating transactions, which could be used for exactly that purpose, but then you still would need to write the compensation logic yourself.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Jun 2010 11:50:44 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/undo-activiti/m-p/24679#M12099</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2010-06-04T11:50:44Z</dc:date>
    </item>
    <item>
      <title>Re: Undo Activiti</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/undo-activiti/m-p/24680#M12100</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Rams, please explain what you exactly expect to get from the Undo activiti.&amp;nbsp; Do you want to roll back the process state to how it was at a certain moment in time?&amp;nbsp; How should we deal with concurrency in case of Undo.&amp;nbsp; What about all kinds of side effects.&amp;nbsp; Rolling back the state of the process to where it was at a certain moment is doable.&amp;nbsp; But what about invoked web services or java code that was invoked?&amp;nbsp; What are your expectations there for Undo.&amp;nbsp; It's because these kind of combinations can get quite tricky that we didn't prioritize it in jBPM 4.&amp;nbsp; If we get a clear understanding of what the exact scope and use case is of this, then we can surely consider to put it on our roadmap.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Jun 2010 07:44:26 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/undo-activiti/m-p/24680#M12100</guid>
      <dc:creator>tombaeyens</dc:creator>
      <dc:date>2010-06-09T07:44:26Z</dc:date>
    </item>
    <item>
      <title>Re: Undo Activiti</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/undo-activiti/m-p/24681#M12101</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I've thoughts similar to Rams.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Consider a production process, which has several tasks/steps.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Successors of previous steps may find that the quality of the product does not meet the requirements for the current production stage, which makes it necessary to go back one or more steps.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Using a BPMN 2.0 process that supports the production process you will have to model either gateways after each task or exception events that allow to "jump" back, don't you?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;This is quite clumsy from my point of view. I think having possibilities to reset the process to a certain stage would be more elegant. It would be even more interesting to have possibilities to leave the predefined path and to define further steps for handling the exception on the fly (ACM? :-)).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Since I'm working on a comprehensive system for production logistics that is based on Activiti, I'd be interested in ideas/hints about how to approach this with the current Activiti Version.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Markus&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Sep 2011 11:06:25 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/undo-activiti/m-p/24681#M12101</guid>
      <dc:creator>unknown-user</dc:creator>
      <dc:date>2011-09-06T11:06:25Z</dc:date>
    </item>
    <item>
      <title>Re: Undo Activiti</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/undo-activiti/m-p/24682#M12102</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;I also want that there was "undo mechanism" in activiti, but also I understand that it is not trivial…&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;My vision is that people can make a mistake while working with application, and they can complete task by accident.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am right, that activiti has no mechanism to undo "complete" action in user task that was made by accident?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Oct 2011 10:32:19 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/undo-activiti/m-p/24682#M12102</guid>
      <dc:creator>partizano</dc:creator>
      <dc:date>2011-10-25T10:32:19Z</dc:date>
    </item>
    <item>
      <title>Re: Undo Activiti</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/undo-activiti/m-p/24683#M12103</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;yes you are right. activiti does no support that&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Oct 2011 17:03:44 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/undo-activiti/m-p/24683#M12103</guid>
      <dc:creator>ronald_van_kuij</dc:creator>
      <dc:date>2011-10-25T17:03:44Z</dc:date>
    </item>
    <item>
      <title>Re: Undo Activiti</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/undo-activiti/m-p/24684#M12104</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;SPAN&gt;I agree with partizano, that's what a think: a simple user mistake, like two wrong mouse clicks, can lead to a user task becomes completed. In that case, without "undo", the whole process becomes wrong. I think it is a too common case, to be avoided. I can think in two strategies to face this problem:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; 1) A general 'go back', after each user task (task1), there will be a gateway with a path to the previous user task (parent of task1). Managing variables you can go back any task you want. I think this approach is very complicated, it requires to write this logic for each task, the diagram would be too confusing. The real model would be 'hidden' by all this. Also there would be more than one task of the same type completed, which I think it is not good for several reasons.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;2) A complete delete, the actual process would be modeled as a subprocess, with a boundary signal. That signal would be the 'delete' signal triggered in case of user input error. This approach forces the user to create a new process, with the corrections. All the information about time completeness tasks, etc. would be lost. It is more manageable than the previous one, it is easier to implement. There should be user warnings for non-undoable changes.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Some variations of the ones above:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;3) That after a delete like in 2, all the information significant to the process, the collection of all the forms, in a VO for example, there be used to build another process instance, automatically by the system, with the corrections included.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;4) Also compensation does not really undo a completed user task, but I think it could be used to redo one task, also the current execution should be canceled. I am not still very acquainted about it, but when I studied it some weeks before, I could not find a good solution.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;None of these approaches are good enough. Does anyone have other ideas? What should be the best approach to this problem?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I think that at least, it would be a good idea to provide a basic undo, to undo the last change, of the last user task. Maybe something similar to 1), but transparent to a bmpn designer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards.&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 May 2013 21:11:22 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/undo-activiti/m-p/24684#M12104</guid>
      <dc:creator>abentan</dc:creator>
      <dc:date>2013-05-08T21:11:22Z</dc:date>
    </item>
    <item>
      <title>Re: Undo Activiti</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/undo-activiti/m-p/24685#M12105</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;1) is indeed a lot of work to get right. Maybe you could inject such behavior automatically with a BpmnParseHandler, but it will still be complicated to implement and get working for each case.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;2) and 3) are conceptually ok … but the history would be seriously messed up&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;4) That would indeed be a valid approach. But as you say it is not a generic solution and requires designing.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you are only concerned about user tasks, another path you could go is to move the execution pointer yourself from the next step back to the user task. You can find which variables were set (runtime / history) and remove/roll those back. Of course, that is only valid for user tasks.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 May 2013 07:13:15 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/undo-activiti/m-p/24685#M12105</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2013-05-14T07:13:15Z</dc:date>
    </item>
    <item>
      <title>Re: Undo Activiti</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/undo-activiti/m-p/24686#M12106</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;SPAN class=""&gt;&lt;A _jive_internal="true" data-userid="93456" data-username="jbarrez" href="https://community.alfresco.com/people/jbarrez" rel="nofollow noopener noreferrer"&gt;JOram Barrez&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;I'm facing this problem too, our customer request a undo proposal for us and I didn't find any solution about this here.&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;There are many situations that this feature would be usefull. Is there any evoluttion about this theme?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Mar 2017 14:02:37 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/undo-activiti/m-p/24686#M12106</guid>
      <dc:creator>samueel</dc:creator>
      <dc:date>2017-03-03T14:02:37Z</dc:date>
    </item>
  </channel>
</rss>

