I'm in a similar situation with Aaron, except my product is mostly python. I emulated the cataloging in the PortalCatalog method, but left out the permission check. When my product is added to a folder, the catalog gets created, and has the indexes I set up. I can create a zsearchinterface, and search/find the instance of my product, but none of the data that exists below that. Do my sub-objects need to inherit from any zope classes in order to get indexed? I know the Zclasses do this automatically, what's the majick trick for this in python? I have tried, catalogAwareness, index_object at item creation, and reindex_object at item edit. none of these seem to do it, I imagine because the catalog wants them to be a certain type, and they're not. Any ideas?