[Zope-dev] Post-mortem [Was: Zope 2.7.0 b3 regressions]

Stefan H. Holek stefan at epy.co.at
Tue Dec 9 09:47:31 EST 2003


After causing all this noise, let me summarize what I now understand is the 
intended behavior of Zope's URL methods.

Given an object is accessed by
/VirtualHostBase/http/example.com:80/VirtualHostRoot/_vh_foo/folder/doc

1) doc.absolute_url()

  Returns the full URL of doc including protocol and host.
  e.g. http://example.com/foo/folder/doc

2) doc.absolute_url(relative=1)

  Returns the path of doc, relative to the virtual root.
  e.g. folder/doc

3) REQUEST.BASEPATH1 + '/' + doc.absolute_url(1)

  Results in the absolute path of doc, starting at the server root.
  e.g. /foo/folder/doc

Comments:

ad 2) This may or may not be RFC-2396 compliant, I must admit I fail to 
parse the RFC here. It certainly appears necessary for b/w compatibility at 
least.

ad 3) It may still be a good idea to add an API method for this (e.g. 
'absolute_path') like I proposed in February (#809). If only to increase 
the visibility of this requirement. I understand that it may be too late 
for 2.7.

Whoever is going to unroll the fix, please also adapt the tests in 
Products/SiteAccess/tests.

Finally, please accept my apologies for the tone of some replies; I do 
certainly need a vacation.

Stefan


--
The time has come to start talking about whether the emperor is as well
dressed as we are supposed to think he is.               /Pete McBreen/



More information about the Zope-Dev mailing list