[Zope-dev] Bug in Zope VersionControl

Martijn Pieters mj@digicool.com
Fri, 8 Jun 2001 12:01:51 +0200


On Thu, Jun 07, 2001 at 08:30:26PM +0200, Christian Theune wrote:
> Okay ... I admit using opera and enjoying it.
> 
> Problem is, that opera is sooo standardsconform.
> 
> See Zope/lib/python/Products/OFSP/Version.py:175
> in function enter()
> 
> Somebody thats the path for the cookie as SCRIPT_NAME.
> This seems that the scope of the versions should be
> limited to the subtree where the version object was 
> instanciated. Nice idea.
> 
> But this doesn't work.
> 
> First:
> 
> Internet Explorer and Netscape ignore the path of the cookie
> and assume '/'.
> 
> Second:
> 
> Opera is conform to the rfc of http 1.1, and this means, that 
> the cookie is only valid for the version itself, and is not
> used in any place out of http://myzope:8080/blaah/myVersion
> 
> Proposed solution:
> 
>  Change the path to '/'. And have the same behaviour on all
>  browsers.
> 
> Or:
> 
>  Change the path to REQUEST["URL1"] (is this the parent folder?)
>  and have the intended mechanism working at least on opera.
> 
>  The last is my personal favorite, because you can have different
>  versions concurrently open on different projects @ one server.
> 
> Proposed patch for both solutions comes as attachement.

REQUEST['SCRIPT_NAME'] is the root of the Zope server. In a pure ZServer
environment, this is '/'. In a situation where the Zope server is running
behind another webserver, and is not at the root of that server,
SCRIPT_NAME represents the path to the Zope server.

For instance, if your Zope server is presented to the outside world as
'http://a.server.com/a/path/to/zope/' then SCRIPT_NAME will be
'/a/path/to/zope/', whereever you are in the Zope object hierarchy.

Thus, a version cookie is bound to the root of the Zope server. In your
case, it seems that Opera is ignoring the cookie path altogether, and
instead falls back on the default, which is the path of the Version object
itself.

-- 
Martijn Pieters
| Software Engineer  mailto:mj@digicool.com
| Digital Creations  http://www.digicool.com/
| Creators of Zope   http://www.zope.org/
---------------------------------------------