<?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: Versioning Web Application code and BPMN in Alfresco Forum</title>
    <link>https://connect.hyland.com/t5/alfresco-forum/versioning-web-application-code-and-bpmn/m-p/7009#M3371</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;SPAN style="color: #727174; background-color: #ffffff;"&gt;I know the process definitions complete at their current version, but our application code changes over time.&amp;nbsp; A good example of this is form processing for a new Task definition in a parent process definition. &amp;nbsp; The application code must change to process the Task, but previous incarnations of the process definition (and application code) didn't have the task/processing defined.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Two ideas come to mind for this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;One is you can have your application code do a check on the process definition version.&amp;nbsp;So when you release new Grails code&amp;nbsp;you can have that Grails code be aware of which version of the process a particular task belongs to.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Another approach is when you upgrade the Grails app you also migrate all of the existing process instances to the new version. That may be easier or more difficult depending upon what specifically is changed. Actually there are at least two sub-options within this (both listed in&amp;nbsp;&lt;A href="https://migration33.stage.lithium.com/thread/225665"&gt;Process Instance migration&lt;/A&gt;&amp;nbsp;). You could programmatically update the old process definition by looking it up through the repositoryService and applying changes, which would immediately&amp;nbsp;apply to all the running instances but can be tricky code to write depending upon the changes to the model. Or you can programmatically close the exiting instances and create new ones that 'match' them, porting across the values of the variables and moving them through state if needed. I think there is actually a third option, which is to use an Activiti feature to migrate but that comes with disclaimers as again it depends on the process definition whether it will work for you - see&amp;nbsp;&lt;A href="https://migration33.stage.lithium.com/thread/220980"&gt;There are a motive for not exist a exposed API for 'SetProcessDefinitionVersionCmd' ?&lt;/A&gt;&amp;nbsp; and&amp;nbsp;&lt;A href="https://migration33.stage.lithium.com/thread/222403"&gt;Process instances migration&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 21 Feb 2018 09:59:05 GMT</pubDate>
    <dc:creator>ryandawson</dc:creator>
    <dc:date>2018-02-21T09:59:05Z</dc:date>
    <item>
      <title>Versioning Web Application code and BPMN</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/versioning-web-application-code-and-bpmn/m-p/7008#M3370</link>
      <description>My team is using the Activiti 5.19 engine embedded in a Grails 3.1.4 WAR deployment (Spring Config).&amp;nbsp; Our application is being developed against&amp;nbsp; development and pre-production Apache Tomcat stacks.&amp;nbsp; We have been very pleased with the engine and what it has to offer.&amp;nbsp; As we approach a production rel</description>
      <pubDate>Tue, 20 Feb 2018 22:18:46 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/versioning-web-application-code-and-bpmn/m-p/7008#M3370</guid>
      <dc:creator>cpfrank</dc:creator>
      <dc:date>2018-02-20T22:18:46Z</dc:date>
    </item>
    <item>
      <title>Re: Versioning Web Application code and BPMN</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/versioning-web-application-code-and-bpmn/m-p/7009#M3371</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;SPAN style="color: #727174; background-color: #ffffff;"&gt;I know the process definitions complete at their current version, but our application code changes over time.&amp;nbsp; A good example of this is form processing for a new Task definition in a parent process definition. &amp;nbsp; The application code must change to process the Task, but previous incarnations of the process definition (and application code) didn't have the task/processing defined.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Two ideas come to mind for this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;One is you can have your application code do a check on the process definition version.&amp;nbsp;So when you release new Grails code&amp;nbsp;you can have that Grails code be aware of which version of the process a particular task belongs to.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Another approach is when you upgrade the Grails app you also migrate all of the existing process instances to the new version. That may be easier or more difficult depending upon what specifically is changed. Actually there are at least two sub-options within this (both listed in&amp;nbsp;&lt;A href="https://migration33.stage.lithium.com/thread/225665"&gt;Process Instance migration&lt;/A&gt;&amp;nbsp;). You could programmatically update the old process definition by looking it up through the repositoryService and applying changes, which would immediately&amp;nbsp;apply to all the running instances but can be tricky code to write depending upon the changes to the model. Or you can programmatically close the exiting instances and create new ones that 'match' them, porting across the values of the variables and moving them through state if needed. I think there is actually a third option, which is to use an Activiti feature to migrate but that comes with disclaimers as again it depends on the process definition whether it will work for you - see&amp;nbsp;&lt;A href="https://migration33.stage.lithium.com/thread/220980"&gt;There are a motive for not exist a exposed API for 'SetProcessDefinitionVersionCmd' ?&lt;/A&gt;&amp;nbsp; and&amp;nbsp;&lt;A href="https://migration33.stage.lithium.com/thread/222403"&gt;Process instances migration&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Feb 2018 09:59:05 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/versioning-web-application-code-and-bpmn/m-p/7009#M3371</guid>
      <dc:creator>ryandawson</dc:creator>
      <dc:date>2018-02-21T09:59:05Z</dc:date>
    </item>
  </channel>
</rss>

