Andreas Jung wrote:
How about the following idea:

- within the Zope core we define an _optional_ interface for indexes -
  something like:

     class IIndexConfiguration(Interface):

         def getConfiguration():
             """ Returns a dict with index specific configuration

- on the CMF/GS side we could register adapter for each index type
  we know (basically the Zope 2 core indexes, ExtendedPathIndex,
  TextIndexNG 3) and retrieve the related information

- the related GS asks each index for its configuration and takes
  appropriate action based on the comparison of the values from the
  profile and the existing index.

Adding the interface to Zope 2.11 or backporting it to Zope 2.10
would not be a problem. Since the Zope 2.11 branch is offically closed for new features, the index specific implementations of IIndexConfiguration should be implemented outside the Zope core but we might move the implementation into the Zope core with Zope 2.12. Sounds reasonable?

Yes. textindexng already has getSettings(), I used it for the export/import code of TextIndexNG3:


That code compares the settings and makes sure TextIndexNG3 is only modified and cleared if necessary. We could use similar code for all other indexes if they would provide a method like that.

I'd prefer a IConfigurableIndex interface that also has a set method.



Zope-CMF maillist  -  Zope-CMF@lists.zope.org

See http://collector.zope.org/CMF for bug reports and feature requests

Reply via email to