[Zope-dev] ZCatalog catalogable types and nonproducts

Karl Anderson karl@digicool.com
18 Apr 2001 17:47:37 -0700


I have a Python Product with several subobjects which are not products
in their own right.  I'm trying to make these subobjects selectable in
the Find Objects tab of a ZCatalog, so I can restrict the cataloged
objects to these types.

Whats the right way to do this?

Since they're not addable products, they don't go in the "Find objects
by type" selection by default.  Rooting through the source, I see that
this selection is populated by all_meta_types, and ObjectManager
creates that list by appending a _product_meta_types attr onto an
acquired value.

I can't create a _product_meta_types property on the ZCatalog.  I can
add a _products_meta_type dict to the ZCatalog via Python:

app.catalogtest.catalog._product_meta_types = ({'permission': 'Dummy', 'name': 'Manageable Element', 'action':'Dummy'},)

I added the dummy permission and action becuase the contents view
doesn't display without them.

This seems to work, and these meta types aren't displayed in the add
list for the container view (becuase I don't have the 'Dummy' perm),
which is what I want.  But should I be telling the users of my product
to do this?

-- 
Karl Anderson                          karl@digicool.com