[Zope3-dev] Re: Event fixes

Jean-Marc Orliaguet jmo at ita.chalmers.se
Mon Nov 28 16:47:23 EST 2005


Dominik Huber wrote:

>
> 2. A subtype of IObjectModifiedEvent is cluttering because of 
> redundant modification events. The modification is caused by the 
> containment.
> Regularly the dispatching related to the containment hierarchy tries 
> to emulate an information flow from *parent -> child*, because 
> children should be informed if the location information has been 
> changed. But the other way around you need *never* a notification, 
> because the container is aware of changes related to the container 
> framework! Here an more adequat solution would be an internal 
> container framework event that derives from IObjectEvent but not from 
> IObjectModifiedEvent, because otherwise we would notify the same 
> modification using two redundant modification events.


For your interest, the W3C DOM event model uses a two-way event 
propagation: from parent to child and from child to parent.

- the parent -> child model (event capturing) corresponds to the 
original Netscape 4 implementation. It is similar to the one currently 
implemented in Zope3 for containers (dispatchToSublocations).
- the child -> parent model (event bubbling) is implemented in IE5

the W3C model mixes both approaches.

I would suggest reading the Document Object Model Events recommendation 
[1] and for some background information some great introduction to 
events models in browsers [2]. The notion of event cancellation might be 
useful to consider.

[1] http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.html
[2] http://www.quirksmode.org/js/events_order.html

/JM


More information about the Zope3-dev mailing list