[Zope] [Ann] ManagableIndex: combine value, control acquisition,
check types
Dieter Maurer
dieter at handshake.de
Sun Sep 21 17:33:27 EDT 2003
ManagableIndex can mean different things for different people. For a
content manager, it brings flexible field and keyword indexes
managable via the ZMI to
* combine values from different sources, ignoring irrelevant values
and transforming values in an inadequate form,
Example: index an object via title if it is non-empty but use id
otherwise
Example: add portal_type to the Subject index transforming it into
a sequence (as required by a keyword index).
* control acquisition
and prevent acquired values to be indexed
* ignore stop-terms, normalize terms and check types
Example: when you do not want that an object is indexed under a
meaningless default value, you can define this value as a
stop-term
Example: the BTrees underlying Zope indexes require its keys to
have a persistently consistent ordering. When this is not the
case, they become corrupt. While modern Python versions (at least
Python 2.3) compare values from different elementary types
persistently consistent, the result can be quite
unintuitive. Therefore, it is best when all terms in an index
belong to the same types. Normalizing and type checking helps to
ensure this.
For a developer, ManagableIndex provides a framework for index
definition, improving on PluginIndexes. It provides for managability,
automatically and intelligently handles unindexing when an object is
reindexed and implements and, or and range queries (for not too
complex indexes).
ManagableIndex requires OFolder. You can download OFolder from
<http://www.dieter.handshake.de/pyprojects/zope>
More information:
<http://www.dieter.handshake.de/pyprojects/zope/ManagableIndex.html>
Download:
<http://www.dieter.handshake.de/pyprojects/zope/ManagableIndex.tgz>
Dieter
More information about the Zope
mailing list