Stefan H. Holek wrote:
Most ObjectEvents are dispatched to "sublocations".

Well, the ones that deal with the object hierarchy. This mostly concerns IObjectMovedEvents and their sub-event types (added, removed). I don't think it makes a lot of sense to dispatch other object events.

I was wondering whether it is ok for me to expect a certain dispatch order, i.e. top-down (container before sublocation) or bottom-up (sublocation before container)?

No. The dispatch to sublocations is an event handler itself. One should not depend on the execution order of event handlers, therefore you should not depend on this dispatch happening before or after your own event handler(s) for IObjectMovedEvent.

What I find is that this order depends on things like the exact interface a handler is registered for and, in Zope 2.9 (+3.2), even on the way I run tests (!).

I can only conclude that there is no guaranteed dispatch order. Now, should there be? Where can I learn about this contract?

Again, the contract is "don't expect an order".

-- -- Professional Zope documentation and training
Zope-Dev maillist  -
**  No cross posts or HTML encoding!  **
(Related lists - )

Reply via email to