"resolve_url" problem (was: Re: [Zope] Re: ZCatalog enhancement wishes (and a zcatalog question))

Dieter Maurer dieter at handshake.de
Wed Jan 28 19:11:48 EST 2004


You do not ask for a ZCatalog enhancement!
You face a "resolve_url" problem.

Small Business Services wrote at 2004-1-28 10:17 -0500:
>How about some form of record-locking features?
> ...
>    <dtml-with DNSData>
>      <dtml-in "Catalog({'id' : dns_id})">
>        <dtml-with "resolve_url(getpath(data_record_id_),REQUEST)">
>          <dtml-call
>"propertysheets.GritsDNSPS.manage_changeProperties(REQUEST)">
>          <dtml-call reindex_object>
>        </dtml-with   resolve url>
>      </dtml-in   catalog>
>    </dtml-with>
>
>What I expect to happen is that the property field on the object in the
>DNSData subfolder is updated, then the zcatalog record is updated.
>
>What actually happens is that the zcatalog creates a new entry (a copy of
>the original entry) with the new field data (property fields on the object
>are metadata fields in the zcatalog).  The original object in the subfolder
>is NOT modified (ie. the property field is not changed) and the original
>zcatalog entry is still in the zcatalog, also not modified.

What you (almost surely) see is "virtual host dependancy" of
"resolve_url" or another "virtual host dependancy" (e.g.
by using "CatalogAware" instead of "CatalogPathAware").

You should avoid "resolve_url" and instead use "getObject";
you should avoid "CatalogAware" and instead use "CatalogPathAware".


-- 
Dieter



More information about the Zope mailing list