I took my cues from how ObjectModifiedEvent is handled. I figured copied and moved should be treated the same. Also, there is this comment in OFS/subscribers.py: # The following subscribers should really be defined in ZCML # but we don't have enough control over subscriber ordering for # that to work exactly right. # (Sometimes IItem comes before IObjectManager, sometimes after, # depending on some of Zope's classes.) # This code can be simplified when Zope is completely rid of # manage_afterAdd & co, then IItem wouldn't be relevant anymore and we # could have a simple subscriber for IObjectManager that directly calls # dispatchToSublocations. Cheers, Stefan On 20. Jun 2007, at 12:25, Philipp von Weitershausen wrote:
Stefan H. Holek wrote:
Log message for revision 76597: Collector #2307: ObjectCopiedEvent not dispatched to sublocations.
...
@@ -130,7 +131,15 @@ if OFS.interfaces.IObjectManager.providedBy(ob): dispatchToSublocations(ob, event) +@zope.component.adapter(OFS.interfaces.IItem, IObjectCopiedEvent) +def dispatchObjectCopiedEvent(ob, event): + """Multi-subscriber for IItem + IObjectCopiedEvent. + """ + # Dispatch to sublocations + if OFS.interfaces.IObjectManager.providedBy(ob): + dispatchToSublocations(ob, event)
Why are you subscribing to IItem if you really want to work only with IObjectManagers?
-- Anything that, in happening, causes itself to happen again, happens again. --Douglas Adams