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

Evan Simpson evan at 4-am.com
Tue Dec 9 11:24:47 EST 2003


Summary: absolute_url(1) didn't include the path to the virtual root, 
which broke code that assumed that it could just prepend "/" in all 
cases.  I changed it to include the base path, and broke code that 
prepends BASEPATH1.

Since the old behavior existed for two years (including part of the 2.7 
beta), is arguably easier to work with, and works with existing CMF 
code, I will revert to it.  This will leave "/"-prepending code broken.

In line with Stefan's original suggestion, I will add a new method with 
alternate behavior.  It's not hard to grep for broken code and use the 
new method to make it correct -- Product authors should do so.

def absolute_url_path(self):
    '''Return the entire path of the absolute URL for this object.
       This includes the leading slash, and can be used as an
       "absolute-path reference" as defined in RFC 2396.
    '''

Lennart proposed additional methods, but I'm going to work on that in 
the post-2.7 branches, since I really want to clean up this mess 
properly, and beta 3 isn't the time.

Cheers,

Evan @ 4-am





More information about the Zope-Dev mailing list