[Zope3-dev] Contained events interface inheritance order
Florent Guillaume
fg at nuxeo.com
Wed Nov 23 19:24:06 EST 2005
Today the contained events interfaces are:
class IObjectMovedEvent(IObjectEvent)
class IObjectAddedEvent(IObjectMovedEvent)
class IObjectRemovedEvent(IObjectMovedEvent)
From the archives I can find this was decided after:
http://www.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/
SimplifyObjectLifecycleAndLocationEvents
but without motivation for this part. I'm still looking for the
motivation...
Before that proposal, the hierarchy was:
class IObjectAddedEvent(IObjectEvent)
class IObjectRemovedEvent(IObjectEvent)
class IObjectMovedEvent(IObjectAddedEvent, IObjectRemovedEvent)
I contend that this second hierarchy is much more useful to deal
with. The arguments I have are in the use cases explained in:
http://blogs.nuxeo.com/sections/blogs/florent_guillaume/
2005_11_08_events-in-zope-2-9
where you can see the hoops one has to go through to react to objects
being created, deleted or moved with the current event hierarchy.
I'd like to know what non-framework use cases people have today with
the current event interfaces hierarchy, and if they really find it
more useful than the old one.
If not, or if the use cases are borderline, I'd like to propose that
the hierarchy be moved back to the second form. This would have to go
through a deprecation phase, I'm not sure exactly how, but if there's
consensus we can find a way.
Myself I consider the current hierarchy to be a design bug.
Florent
--
Florent Guillaume, Nuxeo (Paris, France) Director of R&D
+33 1 40 33 71 59 http://nuxeo.com fg at nuxeo.com
More information about the Zope3-dev
mailing list