[Zope3-dev] interaction between LocationProxy and IIntId utility

Jim Fulton jim at zope.com
Thu Jul 7 14:07:53 EDT 2005


Roger Ineichen wrote:
> Hi Martijn and Jim
> 
> Behalf Of Martijn Faassen
> 
>>Sent: Thursday, July 07, 2005 2:22 PM
>>To: zope3-dev (E-mail)
>>Subject: [Zope3-dev] interaction between LocationProxy and 
>>IIntId utility
>>
>>Hi there,
>>
> 
> [..]
> 
>>Finally with some help from Stephan Richter giving us the 
>>clue that this 
>>__name__ and __parent__ information could only be lost if 
>>LocationProxy 
>>is in play, we figured out what what we think is going on:
>>
> 
> [...]
> 
>>This is all fixed by subclassing Contained, but the catalog 
>>not working 
>>reliably for LocationProxy wrapped objects sounds scary. You could do 
>>something with the IntId utility automatically 
>>un-location-proxy-wrapping the objects if necessary, but that 
>>would mean 
>>that what is stored wouldn't know its location anymore, which 
>>would also 
>>be bad.
> 
> 
> We have had similar discussion about this. Dominik added earlier
> a ITransientLocation (I guess) for such a usecase. Jim suggest to 
> remove this part. But I still think it's important to know if you 
> have a real ILocation or a transient ILocation which you get with 
> LocationProxy.

This was a totally different situation.  In your case, you had
location objects that you didn't need to assign locations too.
There was a bug in the intid utility that made you jump through
hoops when it was simpler to just fix the bug.

> It whould be nice to have a ITransientLocation(Interface)
> and a ILocation(ITransientLocation).
> 
> Persistent location are only supported by ILocation and not by
> ITransientLocation.
> 
> What do you think?

I think it is unnecessary.  Persistency and location are
unrelated.

Jim

-- 
Jim Fulton           mailto:jim at zope.com       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org


More information about the Zope3-dev mailing list