Hi, First Part: Create Index First, create the index "name of mymethod" in the Catalog. ZCatalog can only index objects he knows of ! eg. use "find item to ZCatalog" tab, use the index method or use CatalogAware as base Class for ZClass. Additionally you have to reindex your object if its content changes (via DTML-Call....reindex.) What does the ZCatalog for you ? He takes your object, applies all the indexes that are possible, and reads his data. (so we´re back, you have to return something from your method). This data is store in the Catalog itself, and not in the object. Second Part: OR Query: mmmh, did i get you right ? I Think it´s this way: 1. Case: looking for a or b or c -> type 'a b c' as query string 2. Case: looking for a and b and c -> type 'a AND b AND c' as query string 3. Case: looking for a and b or c -> type 'a AND b OR c' as query string 4. Case: looking for 'a b c' -> type '"a b c"' as query string OR Did you mean somthing like this ? return self.Catalog( {'meta_type' : ['pressemitteilung','volltext','kommentar','kurztext'], 'rubrik_id' : self.id, 'review' : 0 } ) Regards Michael Kobald _______________________________________________ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )