Hello team,
I've just finished the base implementation of PLIP #239, adapterise the
ExtensibleIndexableObjectWrapper, for your review.
I've not created a branched buildout, mainly because it takes so long to
check out a full coredev. Instead, please follow the following instructions:
$ cd your checkout of plone-coredev/branches/3.2
$ cd src
$ svn co https://svn.plone.org/svn/plone/plone.indexer/trunk plone.indexer
$ cd ../Plone
$ svn switch https://svn.plone.org/svn/plone/Plone/branches/plip-239
$ cd ../../
$ ./bin/buildout
The bulk of the code is in a new package, plone.indexer. You can read
its doctest here:
http://dev.plone.org/plone/browser/plone.indexer/trunk/plone/indexer/README.txt
I've tried to make this test read as a manual for how to write new
indexers. In short, you do:
@indexer(IMyType)
def index_my_attribute(object, **kargs):
return some value to index
adapter factory=.indexers.index_my_attribute name=my_attribute /
The changes to Products.CMFPlone are just to load plone.indexer and use
it instead of the old ExtensibleIndexableObjectWrapper.
There is one outstanding change that I'll do if and when I merge this:
in plone.app.content, we need to add a deprecated deferred-import for
the IIndexableObjectWrapper interface, which I've moved to the new
plone.indexer package.
I've updated http://plone.org/products/plone/roadmap/239 to reflect the
current state of the PLIP.
Cheers,
Martin
--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book
___
Framework-Team mailing list
Framework-Team@lists.plone.org
http://lists.plone.org/mailman/listinfo/framework-team