Florent Guillaume wrote at 2005-11-29 15:32 +0100:
... I'm a bit peeved though at the lack of willingness from the few people that have reimplemented their version of _setObject/_delObject (which could be considered "private" APIs, seeing that they're prefixed with an underscore)
All methods necessary to implement your own "ObjectManager" have the "_" at the start. There is no official API allowing to add new objects to an ObjectManager...
... This is supposed to be open source, can't we be reactive to change in such situation?
Why must "_setObject/_delObject" grow a new parameter "suppress_events"? Where is it used for? Up to now, the methods called "manage_afterAdd/manage_beforeDelete" indiscrimently -- without the need to suppress these calls (the predecessors of events). In the very few places where "manage_afterAdd/manage_beforeDelete" should behave specially, a specialized fake object was used. Can classes no longer control event creation (such that a parameter to "_setObject/_delObject" must be used to prevent normal (event generating behaviour).
Are folks really going to ship their framework code with _setObject unmodified from the current version when they ship it for Five 1.2 or Zope 2.9?
I am quite happy, when a single version of my "framework" works with many Zope versions. I am even happier when nothing needs to be changed for a new version (because it may take me quite a long time before I/we accept a new Zope version and support it). The following products installed here define their own "_setObject": * "LocalFS" * "PluggableAuthService" * several private products (for versioning, temporary instance creation, "multi container") -- Dieter