<?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: Proposal: RuntimeService.setProcessDefinitionVersion(pi, pd) in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/proposal-runtimeservice-setprocessdefinitionversion-pi-pd/m-p/53714#M31875</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Next, I'm going to make it work with only a version number.&lt;/BLOCKQUOTE&gt;&lt;SPAN&gt;Committed in: &lt;/SPAN&gt;&lt;A href="http://fisheye.codehaus.org/changelog/activiti/?cs=3080" rel="nofollow noopener noreferrer"&gt;http://fisheye.codehaus.org/changelog/activiti/?cs=3080&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 23 Nov 2011 16:03:22 GMT</pubDate>
    <dc:creator>falko_menge</dc:creator>
    <dc:date>2011-11-23T16:03:22Z</dc:date>
    <item>
      <title>Proposal: RuntimeService.setProcessDefinitionVersion(pi, pd)</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/proposal-runtimeservice-setprocessdefinitionversion-pi-pd/m-p/53707#M31868</link>
      <description>We at camunda would like to introduce a method, which changes the process definition version of an existing process instance, to the runtime service.This method will not perform any migration magic and simply set the process definition version in the database, assuming that the user knows, what he o</description>
      <pubDate>Tue, 15 Nov 2011 13:35:39 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/proposal-runtimeservice-setprocessdefinitionversion-pi-pd/m-p/53707#M31868</guid>
      <dc:creator>falko_menge</dc:creator>
      <dc:date>2011-11-15T13:35:39Z</dc:date>
    </item>
    <item>
      <title>Re: Proposal: RuntimeService.setProcessDefinitionVersion(pi, pd)</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/proposal-runtimeservice-setprocessdefinitionversion-pi-pd/m-p/53708#M31869</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;This would only be useful for simple migrations right? The new process definition must have the exact same activity id to make it still run.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In addition, if there are still process instances running a transaction, what would you do with those process instances?&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>Wed, 16 Nov 2011 18:38:46 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/proposal-runtimeservice-setprocessdefinitionversion-pi-pd/m-p/53708#M31869</guid>
      <dc:creator>trademak</dc:creator>
      <dc:date>2011-11-16T18:38:46Z</dc:date>
    </item>
    <item>
      <title>Re: Proposal: RuntimeService.setProcessDefinitionVersion(pi, pd)</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/proposal-runtimeservice-setprocessdefinitionversion-pi-pd/m-p/53709#M31870</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Tijs.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What do you mean with "running a transaction"? Currently some active thread is working? Then this would be a case for optimistic locking, meaning either the version update or the "real work" wins. Like any other race condition we could have (with e.g. canceling a process instance).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Yeah, this is about a simple upgrade, we need exactly the same activity ids. Maybe at least a consistence check would be a nice feature, but no special magic planned for e.g. activity migration (like we had it in jBPM 3).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Currently the decision is either to implement it in our own monitoring tool or to add it to the Activiti codebase. There I still see 2 possibilites: "Just" implement a Command without exposing it in the public API or even exposing it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Personally I am fine with all options &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cheers&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Bernd&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Nov 2011 19:19:33 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/proposal-runtimeservice-setprocessdefinitionversion-pi-pd/m-p/53709#M31870</guid>
      <dc:creator>bernd_ruecker</dc:creator>
      <dc:date>2011-11-16T19:19:33Z</dc:date>
    </item>
    <item>
      <title>Re: Proposal: RuntimeService.setProcessDefinitionVersion(pi, pd)</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/proposal-runtimeservice-setprocessdefinitionversion-pi-pd/m-p/53710#M31871</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Bernd,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Right. I would go for the "Just" implement a command without exposing it in the public API approach.&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, 17 Nov 2011 18:16:06 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/proposal-runtimeservice-setprocessdefinitionversion-pi-pd/m-p/53710#M31871</guid>
      <dc:creator>trademak</dc:creator>
      <dc:date>2011-11-17T18:16:06Z</dc:date>
    </item>
    <item>
      <title>Re: Proposal: RuntimeService.setProcessDefinitionVersion(pi, pd)</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/proposal-runtimeservice-setprocessdefinitionversion-pi-pd/m-p/53711#M31872</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;If there is "just" such a command, we should make sure that there is a testcase to ensure that it will be not broken by internal refactoring without someone noticing immediately.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Nov 2011 08:09:26 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/proposal-runtimeservice-setprocessdefinitionversion-pi-pd/m-p/53711#M31872</guid>
      <dc:creator>meyerd</dc:creator>
      <dc:date>2011-11-18T08:09:26Z</dc:date>
    </item>
    <item>
      <title>Re: Proposal: RuntimeService.setProcessDefinitionVersion(pi, pd)</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/proposal-runtimeservice-setprocessdefinitionversion-pi-pd/m-p/53712#M31873</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;If there is "just" such a command, we should make sure that there is a testcase to ensure that it will be not broken by internal refactoring without someone noticing immediately.&lt;/BLOCKQUOTE&gt;&lt;SPAN&gt;Of course,&amp;nbsp; the command will be developed test-driven.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Nov 2011 08:42:08 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/proposal-runtimeservice-setprocessdefinitionversion-pi-pd/m-p/53712#M31873</guid>
      <dc:creator>falko_menge</dc:creator>
      <dc:date>2011-11-18T08:42:08Z</dc:date>
    </item>
    <item>
      <title>Re: Proposal: RuntimeService.setProcessDefinitionVersion(pi, pd)</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/proposal-runtimeservice-setprocessdefinitionversion-pi-pd/m-p/53713#M31874</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I added a first version of the command in &lt;/SPAN&gt;&lt;A href="http://fisheye.codehaus.org/changelog/activiti/?cs=3079" rel="nofollow noopener noreferrer"&gt;http://fisheye.codehaus.org/changelog/activiti/?cs=3079&lt;/A&gt;&lt;BR /&gt;&lt;SPAN&gt;Currently, it needs a process definition id. Next, I'm going to make it work with only a version number.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Nov 2011 14:25:16 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/proposal-runtimeservice-setprocessdefinitionversion-pi-pd/m-p/53713#M31874</guid>
      <dc:creator>falko_menge</dc:creator>
      <dc:date>2011-11-23T14:25:16Z</dc:date>
    </item>
    <item>
      <title>Re: Proposal: RuntimeService.setProcessDefinitionVersion(pi, pd)</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/proposal-runtimeservice-setprocessdefinitionversion-pi-pd/m-p/53714#M31875</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Next, I'm going to make it work with only a version number.&lt;/BLOCKQUOTE&gt;&lt;SPAN&gt;Committed in: &lt;/SPAN&gt;&lt;A href="http://fisheye.codehaus.org/changelog/activiti/?cs=3080" rel="nofollow noopener noreferrer"&gt;http://fisheye.codehaus.org/changelog/activiti/?cs=3080&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Nov 2011 16:03:22 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/proposal-runtimeservice-setprocessdefinitionversion-pi-pd/m-p/53714#M31875</guid>
      <dc:creator>falko_menge</dc:creator>
      <dc:date>2011-11-23T16:03:22Z</dc:date>
    </item>
    <item>
      <title>Re: Proposal: RuntimeService.setProcessDefinitionVersion(pi, pd)</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/proposal-runtimeservice-setprocessdefinitionversion-pi-pd/m-p/53715#M31876</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;Is it possible to make this service public ?&amp;nbsp; ( of course with warnings on the limitations of the migration : same activity ids/type, same branches..)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Simple process migration is one of our needs. We plan to use Activiti for service/message orchestration, with camel integration. and it seems easier to keep processes "migratable" than to handle several process versions with the same java/camel code, since it's not possible to have two versions of code running for each process version.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;thanks&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Richard&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Apr 2012 09:21:47 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/proposal-runtimeservice-setprocessdefinitionversion-pi-pd/m-p/53715#M31876</guid>
      <dc:creator>rvi</dc:creator>
      <dc:date>2012-04-11T09:21:47Z</dc:date>
    </item>
    <item>
      <title>Re: Proposal: RuntimeService.setProcessDefinitionVersion(pi, pd)</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/proposal-runtimeservice-setprocessdefinitionversion-pi-pd/m-p/53716#M31877</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Richard,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Is it possible to make this service public ?&amp;nbsp; ( of course with warnings on the limitations of the migration : same activity ids/type, same branches..)&lt;/BLOCKQUOTE&gt;&lt;SPAN&gt; We don't want to expose this feature in the public API, because we want to ensure that the people, who use it, know what they are doing.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;However, you can still start the command like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;CODE&gt;&lt;BR /&gt;((ProcessEngineImpl) processEngine).getProcessEngineConfiguration().getCommandExecutorTxRequired().execute(new SetProcessDefinitionVersionCmd(…))&lt;BR /&gt;&lt;/CODE&gt;&lt;SPAN&gt; But let me quote the warning from the documentation of the command:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Warning:&lt;BR /&gt;This Command will NOT perform any migration magic and simply set the process definition version in the database, assuming that the user knows, what he or she is doing.&lt;BR /&gt;&lt;BR /&gt;This is only useful for simple migrations. The new process definition MUST have the exact same activity id to make it still run.&lt;BR /&gt;&lt;BR /&gt;Furthermore, activities referenced by sub-executions and jobs that belong to the process instance MUST exist in the new process definition version.&lt;BR /&gt;&lt;BR /&gt;If the process instance is not currently waiting but actively running, then this would be a case for optimistic locking, meaning either the version update or the "real work" wins, i.e., this is a race condition.&lt;/BLOCKQUOTE&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;[…]it's not possible to have two versions of code running for each process version.&lt;/BLOCKQUOTE&gt;&lt;SPAN&gt; One approach, you can also think about, is to use an environment with strong class loader isolation, e.g., an application server or OSGi container, and add a version number to the process definition key. This way you can run multiple versions of a process definition and the code that belongs to it in parallel. The &lt;/SPAN&gt;&lt;A href="http://www.camunda.com/fox/community/overview/" rel="nofollow noopener noreferrer"&gt;camunda fox Community Edition&lt;/A&gt;&lt;SPAN&gt; allows that, too.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cheers,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Falko&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Apr 2012 10:07:27 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/proposal-runtimeservice-setprocessdefinitionversion-pi-pd/m-p/53716#M31877</guid>
      <dc:creator>falko_menge</dc:creator>
      <dc:date>2012-04-11T10:07:27Z</dc:date>
    </item>
    <item>
      <title>Re: Proposal: RuntimeService.setProcessDefinitionVersion(pi, pd)</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/proposal-runtimeservice-setprocessdefinitionversion-pi-pd/m-p/53717#M31878</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for reply, I understand your point for keeping it private. I just want to make sure it stays stable and won't be removed or changed without notice.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;[…]it's not possible to have two versions of code running for each process version.&lt;/BLOCKQUOTE&gt; One approach, you can also think about, is to use an environment with strong class loader isolation, e.g., an application server or OSGi container, and add a version number to the process definition key. This way you can run multiple versions of a process definition and the code that belongs to it in parallel. The &lt;A href="http://www.camunda.com/fox/community/overview/" rel="nofollow noopener noreferrer"&gt;camunda fox Community Edition&lt;/A&gt; allows that, too.&lt;/BLOCKQUOTE&gt;&lt;SPAN&gt;yes, i've thought about versioning process definition key for process changes that don't support simple migration. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;but I don't see exactly how strong class loader isolation can solve the problem for class version: you would need one activiti engine per process version (in the same classloader as process code) ? what about persistence, would you also need one database per engine ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;thanks&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Richard&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Apr 2012 07:41:00 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/proposal-runtimeservice-setprocessdefinitionversion-pi-pd/m-p/53717#M31878</guid>
      <dc:creator>rvi</dc:creator>
      <dc:date>2012-04-12T07:41:00Z</dc:date>
    </item>
  </channel>
</rss>

