[Zope-CMF] IndexableObjectWrapper
Miles
miles at jamkit.com
Wed Mar 18 08:46:00 EDT 2009
Hi,
>>> - The CatalogTool tests set up the adapter at the moment, as a lot of
>>> the catalog tests require the adapter to work properly. This is done in
>>> the _makeContent method as it applied to most tests that used the dummy
>>> content. However, I think it belongs somewhere else, but I wasn't sure
>>> whether that place was a layer, a setup method or somewhere else. Any
>>> suggestions?
>> I agree it belongs somewhere else. Maybe a registerWrapper method. But
>> can't we make the adapter lookup in catalog_object optional and wouldn't
>> that make test setups simpler?
>
> Agreed. I had expected that the catalog would do a queryAdapter, and
> default to the existing wrapper class if not found.
Makes sense for BBB - it's possible that someone might be inheriting
from the Catalog but not loading the adapter registrations, in which
case their code would just break.
Can I suggest the following logic:
1. if the object already implements the IIndexableObject marker
interface, no wrapping is required;
2. otherwise, adapt to IIndexableObject to do the wrapping;
3. if no adapter is registered, fall back to the existing
IndexableObjectWrapper class for BBB.
In the case of 3, I would like to issue some deprecation warning or log
message to alert that a registration is required in future. As 2.2.0 is
not yet released, is it possible/desirable to make it a deprecation?
Miles
More information about the Zope-CMF
mailing list