yuppie wrote: > Martin Aspeli wrote: >> yuppie wrote: >> >>> AFAICS wrapping the object before looking up adapters is unnecessary. >>> The catalog should do the lookup directly and the existing features >>> provided by IndexableObjectWrapper should be reimplemented as adapters. >> Bear in mind that there is a difference between getting the wrapper >> itself, and getting the value to catalogue for a particular *attribute* >> of the wrapper (e.g. allowedRolesAndUsers). > > Why do we need the wrapper? Why can't we look up directly the adapter > for the particular attribute?
This could work as well. It does make it harder to change the policy en masse for a particular type (you'd need to override all the adapters, say). One reason to do that may be if you have a very simple object that you know exactly how to catalogue, and you don't want the overhead of looking up various adapters. Still, the important use case, imho, is to make custom "indexers" for your custom types. I quite like the pattern in plone.indexer where we use an annotation to make a function into an indexer adapter: http://pypi.python.org/pypi/plone.indexer Martin -- Author of `Professional Plone Development`, a book for developers who want to work with Plone. See http://martinaspeli.net/plone-book _______________________________________________ Zope-CMF maillist - [email protected] http://mail.zope.org/mailman/listinfo/zope-cmf See https://bugs.launchpad.net/zope-cmf/ for bug reports and feature requests
