Hello all, On Fri, 2011-06-24 at 15:24 +0530, Joshua Immanuel wrote:
In setitem function of zope.container.contained 'notify(ObjectAddedEvent)' happens, this causes the 'addIntIdSubscriber' adapter of zope.intid to be called. This in turn registers the 'Client' object and notifies for 'IntIdAddedEvent'.
But I don't see the 'indexDocSubscriber' of zope.catalog.catalog which is the adapter for 'IIntIdAddedEvent' being called. Why is this so?
I found the source of the problem, zope.catalog package was not a part of bluebream's default package set. I've manually added that package in my buildout.cfg but I forgot to include that package in zcml. Including that package in ZCML solved my problem. As Thierry said, I didn't write a separate subscriber to update the catalog indexes. As Christian said, I overridded the 'create' method of zope.formlib's AddForm instead of 'createAndAdd method. Moreover in my container's interface file I added two methods namely 'add' and 'nextURL', and implemented them. So, I removed the 'allow attributes' tag in zcml for my container class altogether. Now everything works out of the box. Thanks guys for your invaluable inputs. -- Joshua Immanuel HiPro IT Solutions Private Limited http://hipro.co.in