[Zope] Preventing duplicates in ZCatalog

Oliver Bleutgen myzope@gmx.net
Tue, 22 Apr 2003 23:37:31 +0200


Wankyu Choi wrote:
>>When you see the same object catalogued under different catalog uids, you
> 
> should either upgrade to Zope 2.6.1 or fix the code that does not use
> "getPhysicalPath". A likely candidate it >"Products.ZCatalog.CatalogAware".
> Replace this by "Products.ZCatalog.CatalogPathAware".
> 
> I already use Zope 2.6.1.
> 
> Hm.. CMFCore's PortalContent imports Products.ZCatalog.CatalogAware, not
> CatalogPathAware. Probably, this is the source of my problem, then? ( CMF
> 1.3.1, the latest. )
> 
> May I ask why CMF imports CatalogAware instead of CatalogPathAware? CMF
> people should know better than that. I just want to know if there's any
> particular reason why, since I'm basing my own applications on CMF.

Sorry for asking that, but are you really sure that you are using CMF 
1.3.1? With my copy, it imports CMFCatalogAware, and CMFCatalogAware 
calls the portal_catalog's index_object() method, which is as follows:


  def __url(self, ob):
        return join(ob.getPhysicalPath(), '/')

  ...

  def indexObject(self, object):
         '''Add to catalog.
         '''
         url = self.__url(object)
         self.catalog_object(object, url)

This is why I wondered about your example with the news item (or 
whatever it is called).

cheers,
oliver