[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