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/ ---------------------------------------------