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? </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 > -- Guillaume Delhumeau (guillaume.delhum...@xwiki.com) Research & Development Engineer at XWiki SAS Committer on the XWiki.org project