Zopists,
Does anyone know if the ZCatalog catalog's the Owner role of an object. This sounds strange, but I'd like someone to only search their own stuff. Is that possible? Is Owner a searchable indexable item? Michel?
Jason Spisak
Jason, This is possible - currently you have to do a little bit of work to make it happen though. Ownership is basically a convention - when an object is created, the user who created the object is given the "Owner" local role on the object automatically. While there is currently no built-in API call to get the "owner" of an object (ownership is still kind of new, so we are letting it percolate before providing a formalized ownership api), here is an example external method that will give you the names of the users who have the "Owner" role on a given object. Note that there can be more than one, since site managers can go into an object and give multiple users the "Owner" local role on an object just as they could with any other local role. def owner(self): """Return a space-separated string of user names who have the local Owner role on an object.""" parent=self.aq_parent roles=parent.aq_acquire('__ac_local_roles__') dict=roles or {} items=[] for key, val in dict.items(): if 'Owner' in val: items.append(key) return string.join(items, ' ') You can either use this as an external method at the top of your site that objects can acquire, or add it to your ZClass definitions if you are indexing ZClass instances. That should effectively give your objects an "owner" method that the Catalog can use. Next, you need to create an "owner" index in your Catalog (you probably want to make this a Text Index instead of a field index so that you can search for a single name and find it though there may be multiple owners). Hope this helps! Brian Lloyd brian@digicool.com Software Engineer 540.371.6909 Digital Creations http://www.digicool.com