<?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: Global eventlistener and history api in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/global-eventlistener-and-history-api/m-p/139448#M97736</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I want to add this to the explanation above: it is also possible to use BpmnParseListeners (note: will be changed to BpmnParseHandlers in 5.12) to hook in custom logic to any step in the process. That way you can for example send an event for every sequencefloiw that is taken…&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 20 Feb 2013 12:54:58 GMT</pubDate>
    <dc:creator>jbarrez</dc:creator>
    <dc:date>2013-02-20T12:54:58Z</dc:date>
    <item>
      <title>Global eventlistener and history api</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/global-eventlistener-and-history-api/m-p/139446#M97734</link>
      <description>Hi,I checked the board, the documentation and the engine and I miss the following:- A global listener/interceptor/bus whatever which can catch events and sending out notifications for each process without modeling. For example to inform the user that an error occure via XMPP or E-Mail or something e</description>
      <pubDate>Tue, 19 Feb 2013 09:39:04 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/global-eventlistener-and-history-api/m-p/139446#M97734</guid>
      <dc:creator>mpriess</dc:creator>
      <dc:date>2013-02-19T09:39:04Z</dc:date>
    </item>
    <item>
      <title>Re: Global eventlistener and history api</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/global-eventlistener-and-history-api/m-p/139447#M97735</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm not quite good in the BPM slang - what "&lt;/SPAN&gt;&lt;EM&gt;process without modeling&lt;/EM&gt;&lt;SPAN&gt;" means?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;From business logic point of view - what do you mean by "&lt;/SPAN&gt;&lt;EM&gt;an error occure&lt;/EM&gt;&lt;SPAN&gt;"? Where do you expect this error to occur?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I can share our experience here: Our processes contain calls to our business logic. We expect that our business logic might fail and throw an exception. That is why our process definitions contain activities to&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; - notify the user&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; - help (an administrator) to repeat the business logic call (if appropriate)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Additionally, BPMN 2.0 contains so called compensation activities - take a look on them.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Yes, it is possible to reveal the state and the history of a process instance but you have to:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; - properly configure the history level;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; - design your process definitions to persist their state right before the activities where you expect crashes.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Although my posting does not give concrete answers to your questions, I hope it contains helpful information.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 20 Feb 2013 08:32:42 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/global-eventlistener-and-history-api/m-p/139447#M97735</guid>
      <dc:creator>mmaker1234</dc:creator>
      <dc:date>2013-02-20T08:32:42Z</dc:date>
    </item>
    <item>
      <title>Re: Global eventlistener and history api</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/global-eventlistener-and-history-api/m-p/139448#M97736</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I want to add this to the explanation above: it is also possible to use BpmnParseListeners (note: will be changed to BpmnParseHandlers in 5.12) to hook in custom logic to any step in the process. That way you can for example send an event for every sequencefloiw that is taken…&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 20 Feb 2013 12:54:58 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/global-eventlistener-and-history-api/m-p/139448#M97736</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2013-02-20T12:54:58Z</dc:date>
    </item>
    <item>
      <title>Re: Global eventlistener and history api</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/global-eventlistener-and-history-api/m-p/139449#M97737</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;My business logik throws maybe an error and an administrator or an user get a notification and should be able to repeat a part of the process.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Hello,&lt;BR /&gt;That is why our process definitions contain activities to&lt;BR /&gt; - notify the user&lt;BR /&gt; - help (an administrator) to repeat the business logic call (if appropriate)&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;That's the feature what I like to use, but without doing the explicit modeling on each process.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 24 Feb 2013 21:31:40 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/global-eventlistener-and-history-api/m-p/139449#M97737</guid>
      <dc:creator>mpriess</dc:creator>
      <dc:date>2013-02-24T21:31:40Z</dc:date>
    </item>
    <item>
      <title>Re: Global eventlistener and history api</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/global-eventlistener-and-history-api/m-p/139450#M97738</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Like I said above: that is possible with a custom class that is added to the process using a BpmnParseListener.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Feb 2013 13:42:27 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/global-eventlistener-and-history-api/m-p/139450#M97738</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2013-02-25T13:42:27Z</dc:date>
    </item>
    <item>
      <title>Re: Global eventlistener and history api</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/global-eventlistener-and-history-api/m-p/139451#M97739</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ok If I use a BpmnParseListeners. I get a call foreach step that is taken. Is this correct? But how can I detect the state or an error inside the ParseListener and retrigger a part of my process. Could you provide an example?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Feb 2013 14:12:27 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/global-eventlistener-and-history-api/m-p/139451#M97739</guid>
      <dc:creator>mpriess</dc:creator>
      <dc:date>2013-02-25T14:12:27Z</dc:date>
    </item>
    <item>
      <title>Re: Global eventlistener and history api</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/global-eventlistener-and-history-api/m-p/139452#M97740</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Ok If I use a BpmnParseListeners. I get a call foreach step that is taken.Is this correct?&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;No, you get the possibility to hook in custom logic during the parsing of the step.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;But how can I detect the state or an error inside the ParseListener and retrigger a part of my process. Could you provide an example?&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;I haven't tried this, but what I would do is wrap the ActivityBehaviour of the service task with a custom ActivityBehaviour that catches any Exception and then send an email or whatever you want to do.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Feb 2013 16:34:24 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/global-eventlistener-and-history-api/m-p/139452#M97740</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2013-02-25T16:34:24Z</dc:date>
    </item>
    <item>
      <title>Re: Global eventlistener and history api</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/global-eventlistener-and-history-api/m-p/139453#M97741</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ok thanks. Any idea how I can retrigger or start a part of a process?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Feb 2013 09:20:05 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/global-eventlistener-and-history-api/m-p/139453#M97741</guid>
      <dc:creator>mpriess</dc:creator>
      <dc:date>2013-02-26T09:20:05Z</dc:date>
    </item>
    <item>
      <title>Re: Global eventlistener and history api</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/global-eventlistener-and-history-api/m-p/139454#M97742</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hmm that is more tricky. The easiest would be to send an event to some external queue. That queue is processed and it restarts the process based on what was in the event.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Feb 2013 10:15:11 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/global-eventlistener-and-history-api/m-p/139454#M97742</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2013-02-26T10:15:11Z</dc:date>
    </item>
    <item>
      <title>Re: Global eventlistener and history api</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/global-eventlistener-and-history-api/m-p/139455#M97743</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;ok thanks, but how can I adress a special part of the process? This is very important for me, because every task need a lot of time.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For example:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;A –&amp;gt; B —&amp;gt; C –&amp;gt; D&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;C failed because something was wrong in B. Now I like to skip back to B and repeat from B forward.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Feb 2013 11:22:08 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/global-eventlistener-and-history-api/m-p/139455#M97743</guid>
      <dc:creator>mpriess</dc:creator>
      <dc:date>2013-02-26T11:22:08Z</dc:date>
    </item>
    <item>
      <title>Re: Global eventlistener and history api</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/global-eventlistener-and-history-api/m-p/139456#M97744</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;IMHO the power of the process definitions, especially their graphical form, is indeed the visibility of the whole process, which helps its understanding. Hiding the knowledge on the decisions - why the process flows in one or another way - does not help process understanding instead it frustrates both the designer(s), implementer(s), and analytic(s).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Nevertheless, the approach, that comes on the top of my head for your case, is to use additional MessageCatchingEvent to each activity where you want to restart. For your example:&lt;/SPAN&gt;&lt;CODE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mceB&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v&lt;BR /&gt;A –&amp;gt; B –&amp;gt; C –&amp;gt; D&lt;/CODE&gt;&lt;SPAN&gt;Then, when you detect an exception, you will need to throw the corresponding message to "call" (again) the corresponding activity (step).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is what "hedgehog" might look your process definition like:&lt;/SPAN&gt;&lt;CODE&gt;mceA&amp;nbsp; mceB&amp;nbsp; mceC&amp;nbsp; mceD&lt;BR /&gt;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;BR /&gt;&amp;nbsp; v&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v&lt;BR /&gt;&amp;nbsp; A –&amp;gt; B –&amp;gt; C –&amp;gt; D&lt;/CODE&gt;&lt;SPAN&gt;and all these "needles" do not make the process definition more easy understandable.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;AFAIK you can also add these catchers programmatically but I never used this option and can not help you with this option.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Feb 2013 09:20:44 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/global-eventlistener-and-history-api/m-p/139456#M97744</guid>
      <dc:creator>mmaker1234</dc:creator>
      <dc:date>2013-02-28T09:20:44Z</dc:date>
    </item>
  </channel>
</rss>

