Le mer. 17 oct. 2018 à 10:47, Simon Urli <simon.u...@xwiki.com> a écrit :

>
>
> On 10/17/18 10:35 AM, Guillaume Delhumeau wrote:
> > I'm OK.
> >
> > <OFF TOPIC>
> > I'm just thinking about an other particular case:
> > Imagine you have 3 event listeners (A, B, C):
> > - A receives the event and perform some actions (saving something in the
> > database).
> > - B receives the event and cancels it
> > - C don't receive the event because it had been canceled
> >
> > However, we may want to resend some infos to listener A so it can
> rollback
> > its actions (otherwise we end up with bad info in the database).
> >
> > Do we have a strategy for this?
>
> I don't think we have a strategy for that, but we might add a new method
> in EventListener:
>
> onRollback(CancelableEvent canceledEvent, Object source, Object data)
>
> and store somewhere the list of called listener to be able to call their
> rollback method if the event has been cancelled. Should do the trick, WDYT?
>

Sounds like a good idea, indeed. Or it could be called onCanceled() instead
of onRollback, since the rollback is what we expect, not the event that is
triggered.


>
> > </OFF TOPIC>
> >
> > Le mer. 17 oct. 2018 à 09:09, Thomas Mortagne <thomas.morta...@xwiki.com>
> a
> > écrit :
> >
> >> +1 to stopping event propagation when it's cancelled
> >> On Tue, Oct 16, 2018 at 6:07 PM Simon Urli <simon.u...@xwiki.com>
> wrote:
> >>>
> >>> Hi everyone,
> >>>
> >>> the current behaviour of the ObservationManager is to always triggers
> >>> the listeners if it matches the events.
> >>> Now regarding the CancelableEvents, the match is only done on the type
> >>> of the event and some given filter rules, but never with its cancel
> >>> status: if an event is cancelled, the matching listeners are always
> >>> triggered.
> >>>
> >>> I propose to change that behaviour, to trigger listeners only if the
> >>> CancelableEvents are not canceled: basically, a cancelled event
> wouldn't
> >>> match any listener.
> >>>
> >>> My primary reason for wanting that change is that the current behaviour
> >>> led to a bad UX: if an event triggers multiple questions, no matter if
> >>> one is cancelled, all questions will be asked to the user.
> >>>
> >>> Do you know if the current behaviour is required at some places?
> >>> Else do you agree on changing it?
> >>>
> >>> Simon
> >>> --
> >>> Simon Urli
> >>> Software Engineer at XWiki SAS
> >>> simon.u...@xwiki.com
> >>> More about us at http://www.xwiki.com
> >>
> >>
> >>
> >> --
> >> Thomas Mortagne
> >>
> >
> >
>
> --
> Simon Urli
> Software Engineer at XWiki SAS
> simon.u...@xwiki.com
> More about us at http://www.xwiki.com
>


-- 
Guillaume Delhumeau (guillaume.delhum...@xwiki.com)
Research & Development Engineer at XWiki SAS
Committer on the XWiki.org project

Reply via email to