plone/plone.app.linkintegrity — pull request #9 by reinhardt (2013-11-14 17:32:45+00:00)
Title: Absolute links

I've had the case that an absolute url was used in an object in a portal (let's call the portal "/plone") to link to a different portal ("/other"), while an object with the same id as that other portal existed in the first portal ("/plone/other"). The integrity checker created a reference to this object ("/plone/other") although clicking the link lead to the other portal ("/other").

I'm not 100% sure about the fix in this pull request, so I would be grateful for feedback. First, maybe I'm missing some cases here - images seem to be treated differently than links for example. Second, there is at least one case where the code as it is works correctly, that is if there is virtual hosting that "hides" the portal name, e.g. "www.somedomain.org" maps to "localhost:8080/plone". In this case the absolute url links to the current portal ("www.somedomain.org/other" maps to "localhost:8080/plone/other") and the integrity check gets it right. But I'm not sure how to reliably catch this case (and maybe similar ones?).