You're probably talking about dispatchToSublocations. This is the code that looks up a containers sublocations and dispatches the event to them.

One way to prevent this behaviour for your container is to write a new ISublocations adapter for your container that simply returns an empty sequence:

  class MyContainerSublocations(object):

      def __init__(self, context):
          self.context = context

      def sublocations(self):
          return ()
This is probably the approach I will follow, but what if I want my container objects notified? Even if I don't it seems the default Folder implementation follows this logic and so if you have a folder with several large images for example, then you will pay a price whenever an event is issued. In general it seems that any change will result in the entire ZODB being read for each event dispatch...if I still follow the logic here.


Zope3-users mailing list

Reply via email to