[Zope-dev] ZCatalog and Zope 2.8

Andreas Jung lists at andreas-jung.com
Sun Jan 30 09:30:37 EST 2005


I changed the ZCatalog and indexes codebase for Zope 2.8 in the following 
way:

 - ZCatalog and indexes derived from UnIndex used a nasty implementation of 
__len__
    which lead to problems in Zope 2.8 with new-style classes. The 
corresponding code
    has been cleaned up. For ZCatalog instances there is an implicit 
migration built-in
    for the __len__ attribute. For all indexes I added a 
manage_convertIndexes() method
    that re-creates and reindexes all indexes of a given ZCatalog instance.


Outstanding issues:

 - some indexes show the number of indexed objects vs the number of indexes 
terms
    within the ZMI which is totally inconsistent. I think the ZMI should 
show the number
    of indexed objects. Index specific information e.g. the number of 
indexed terms
    should be shown within the indexes default view (if necessary). 
Objections?

 - Indexes derived from UnIndex also store informations about objects 
although they do
    not index useful information. E..g. if you have one  thousand objects 
and a keyword index
    indexing only two objects (because these two objects have the required 
property or method
    returning indexable values) than you have the RIDs of one thousand 
objects within the internal
    data structure of the index....a total waste of space. An optimised 
version of UnIndex would
    store only  values evaluating to non-zero.  Such an optimisation is 
already used in Dieter's
    Managablexes. This might change the behaviour of some applications
    but I am not completely sure about this issue. Thoughts?

Andreas

 


More information about the Zope-Dev mailing list