Plone-specific optimization of looking up CMF's "opaque items"
experimental.opaquespeedup is an approach to speed up event handling in
Plone 3. Currently all events on content objects are getting dispatched to
so called “opaque” objects, which are sub-objects not handled by
ObjectManager class. Apart from the commenting framework such objects are
mostly unused nowadays. However, for dispatching every single fired events
CMFCatalogAware’s rather expensive method
opaqueItems is used in order to
collect all “opaque” objects for a given folderish object. The method call
wakes up all objects in the folder and is completely uncached. So the more
objects reside in a folder and the more event subscribers are being used by
the system, the slower things get. And all events count.
This package tries to optimize things by replacing
opaqueItems with a
version that’ll query the catalog for contained “opaque” objects and cache
the results. Initial tests indicate a significant performance improvement.
1.0 - 2009-05-22
- Package metadata cleanup. [hannosch]
1.0a1 - 2008-09-02
- Initial release [tesdal, witsch]