|
This has to be understood before 2.6 is released.
Another example. This page:
http://extranet.atlassian.com/display/MAR/Overdue+Licenses+Report Was renamed to this page: http://extranet.atlassian.com/display/MAR/Long+evaluators+report But the original page doesn't have a redirect. This is weird. Doing the confluence.page_findPagesWithHistoricalTitle query directly on the db finds the page in question:
atl-extranet-conf-cluster=> select distinct prevver from content where lower(title) = 'coho purchase statistics' and prevver is not null and content_status = 'current'; atl-extranet-conf-cluster=> select distinct prevver from content where lower(title) = 'overdue licenses report' and prevver is not null and content_status = 'current'; Looks like it must be a permissions thing. But how? It's just a regular VIEW check on the page. I could, however, reproduce the problem first time on extranet moving content from a personal space into a global space.
Imported Extranet database backup locally. Still can't reproduce the problem – partial page titles and moved pages detected properly, identical test on extranet fails.
Have we checked which application server we are running extranet on? Extranet also sits behind apache - perhaps something there causes the wrong request or headers, or something of that nature?
Can we try extranet directly (not through apache)? Can we try using the same app server as extranet? Reproduced on Tomcat 5.0.28 (the version we're running on extranet)
Ah. Found it. It's the Servlet spec.
In the code for the redirect page, we send back a '404' response code to indicate the original page wasn't found (a must-have so we don't confuse bots) using setStatus(). In Servlet 2.4, sendError() redirects you to the container-defined <error-page> for that status code, while setStatus() still assumes you're going to handle the response yourself. In Servlet 2.3, sendError() and setStatus() are treated the same. Given that most of our supported appservers are on 2.4 now, I'm going to mark this as "won't fix", and file separate issues to (a) document that the auto-redirect stuff may not work on certain appservers, and (b) upgrade Extranet to Tomcat 5.5. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
From what I've read so far, the "page moved" isn't so much of a "page moved" screen as a "there's a page like the one you're looking for in another space" screen. You actually should be able to get it by going to any space. Eg if you went to http://extranet.atlassian.com/display/ds/Coho+Purchase+Statistics
This doesn't seem to hold true for many pages on Extranet though, so it's going to take some serious looking into. My guess is that there is a permission check broken somewhere, saying that people can't see the page and therefore not showing them the link.
The "page moved" screen is still a 404.