<?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: Process Instances Life-Cycle in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/process-instances-life-cycle/m-p/129863#M91249</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thank you R.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In effect it is good practice not to couple too much application objects and processes instances.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;So, I will have to create at least two workflows: creation/validation and update/delete. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Some issues happen if someone start to update a document when it is not yet validated. In this case I have either to make the two processes communicate each other with signals or messages, either duplicate some states/activities to allow performing update in the validation flow.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Sorry to get too deep into my specific business case &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Bye&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;F&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 05 Feb 2013 11:35:14 GMT</pubDate>
    <dc:creator>fcauti</dc:creator>
    <dc:date>2013-02-05T11:35:14Z</dc:date>
    <item>
      <title>Process Instances Life-Cycle</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/process-instances-life-cycle/m-p/129861#M91247</link>
      <description>Hello,I know that a process, by definition, has always an end state and that the workflow has to be completed in a limited time.But if I would like to map exactly the workflow with a real-life entity life-cycle I would end the workflow only when that object is destroyed.In my case the real life obje</description>
      <pubDate>Mon, 04 Feb 2013 16:40:17 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/process-instances-life-cycle/m-p/129861#M91247</guid>
      <dc:creator>fcauti</dc:creator>
      <dc:date>2013-02-04T16:40:17Z</dc:date>
    </item>
    <item>
      <title>Re: Process Instances Life-Cycle</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/process-instances-life-cycle/m-p/129862#M91248</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Personally, I prefer a design where the process lifecycle and the business object lifecycle are two distinct things. Often the process will change the state of the business object, hence there is some synergy.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I advise my BAs to think of a lifecycle as 3 distinct stages;Create, Use, Destroy. Hence define the business object lifecycle making sure there is representation at each one of these stages.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So in your case, in the create stage, your document may go through states, authored, reviewed, published and you may have a process which manages the transition through these states. Once its published however, there would be no running processes.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Now in the use stage, you may want to track who is reading the document etc. Hence you may have a process (like a library process) which manages a checkout, checkin state change. The duration of this process instance would be until the item has been checked back in.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In the last stage, you may have a purge process to cleanup. The tricky bit with processes in this part of the lifecycle is identifying the start trigger event. Often they may be temporal, eg after 'n' years, purge the document.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;As a design rule, I use the business object key as a process instance variable, hence the process instance knows which business object it is 'bound' to. Occasionally, I embed the process instance ID as a transient attribute on the business object. Hence I can navigate from process to business object or vice-versa. Can be useful if a process gets stuck or crashes etc…&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In summary, Im not an advocate of having a very long lived process managing the entire lifecycle…&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;R&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Feb 2013 05:49:51 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/process-instances-life-cycle/m-p/129862#M91248</guid>
      <dc:creator>webcyberrob</dc:creator>
      <dc:date>2013-02-05T05:49:51Z</dc:date>
    </item>
    <item>
      <title>Re: Process Instances Life-Cycle</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/process-instances-life-cycle/m-p/129863#M91249</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thank you R.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In effect it is good practice not to couple too much application objects and processes instances.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;So, I will have to create at least two workflows: creation/validation and update/delete. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Some issues happen if someone start to update a document when it is not yet validated. In this case I have either to make the two processes communicate each other with signals or messages, either duplicate some states/activities to allow performing update in the validation flow.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Sorry to get too deep into my specific business case &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Bye&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;F&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Feb 2013 11:35:14 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/process-instances-life-cycle/m-p/129863#M91249</guid>
      <dc:creator>fcauti</dc:creator>
      <dc:date>2013-02-05T11:35:14Z</dc:date>
    </item>
    <item>
      <title>Re: Process Instances Life-Cycle</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/process-instances-life-cycle/m-p/129864#M91250</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi F,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;perhaps you need three process designs, author (includes validate step), update and delete. Your business object seems to have states authored-&amp;gt;validated-&amp;gt;updated-&amp;gt;deleted. Lets assume your three process templates are started by a user gesture (eg user form submission) and the form submission contains the key of the business object so the process instance is then bound to the correct business object reference…&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You could have logic in the update process which tests the state of the business object; If object.state == validated then continue else throw exception. If you want to avoid concurrent updates etc, then add a semaphore mechanism to the business object…&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hence whilst signals and inter-process messages can work, would simpler process designs suffice?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;R&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Feb 2013 14:07:09 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/process-instances-life-cycle/m-p/129864#M91250</guid>
      <dc:creator>webcyberrob</dc:creator>
      <dc:date>2013-02-05T14:07:09Z</dc:date>
    </item>
  </channel>
</rss>

