|
From: Dylan J. <dj...@pr...> - 2011-07-31 03:00:03
|
On 31/07/2011, at 11:54 AM, Dylan Jay wrote: > On 14/07/2011, at 5:07 PM, Hanno Schlichting wrote: > >> On Thu, Jul 14, 2011 at 2:18 AM, Dylan Jay <dj...@pr...> wrote: >>> We've just done a large site upgrade and noticed that a subset of >>> the >>> redirectiontools redirections have gone missing. >>> We're not sure if it's migration code related yet as we're still >>> investigating. I'm wondering if anyone else has experienced this? >>> We ran a linkchecker on the site before and after and got 105 extra >>> broken links. >> >> There's two things that could be related here: >> >> - We migrated the UID index to a new type which won't allow >> duplicates >> anymore. If you had duplicate UID assignments the upgrade will warn >> you about them. >> - We've rewritten the logic that apply the resolve_uid transformation >> (converting such links to render as normal links using a path instead >> of http://somehost/resolve_uid?uid=abc-def) >> >> We didn't touch the redirection tools data structure at all. >> >> If you compare the data structures, they should still be the same. >> You'd have to look at some of the new broken links to find a pattern. > > Slowly unravelling this problem and it appears to be neither of the > above. > > We have a bunch on relative urls in our content. > e.g. ../../documents/guidance/NSW_appendix_Compliance_Enforcement > %20.pdf > > In plone 3 this was left to the browser to resolve and that resulted > in a link like > "/documents/guidance/NSW_appendix_Compliance_Enforcement%20.pdf" > which in turn has a redirection associated with it > > In plone 4 the cooked body has a absolute link to > "/rail/documents/guidance/NSW_appendix_Compliance_Enforcement%20.pdf" > This fails as there is no redirection for this link. > > I'm not sure which code is to blame here but it looks at the moment > like the transformation of relative urls in plone 4.1 is assuming > the base is a folder not a page which seems like a wrong assumption. I've tracked down the code which is causing the issue and raised a bug. I'm not sure what a general solution would be however https://dev.plone.org/plone/ticket/12078 We'll try our upgrade again with a modified version of plone.outputfilters, changing the relative url handling to assume the context is a page rather than a folder, and see if that breaks less links than it does now :). > > > >> >> Hanno > |