If a page is renamed, the old topic name should redirect users to the new page.
One option would be to replace the old topic contents
with new content that says something like
"This topic has moved to NewTopic
This clutters the wiki a bit but IMHO it's still a big improvement on just breaking the links and returning 'page does not exist yet'.
A cleaner answer, suggested in discussion below, would be to somehow log that the renaming has been done and then display a suitable message when someone tries to access the old page's URI. But the page itself wouldn't need to be left around.
(The idea for this feature was triggered by JohnAltstadt
who correctly remarked that renaming topics
violates common web design principles,
such as rule 6 on http://www.useit.com/alertbox/990530.html
- 17 Jan 2002
although i agree that we need some way to do remapping for externaly links to renamed twiki topics, I think messing up a Web with pages that do nothing other than refer to another is bad for wiki-ness. could wen not acheive this in some other way?
- 19 Sep 2003
Colas came up with a good idea.
- A better solution may be to have the move operation log into a specific file, and have the code called by TWiki on unknown web and/or unknown topic prompt a page such as "the page that was there has moved to XXX, do you want to go there or create a new one?"
- 19 Sep 2003
I agree that adding pages which do nothing but refer to another page is bad for wiki-ness. Yet that's what you are forced to do (manually) with the current Twiki behaviour; either that, or break all links and bookmarks when you rename a page.
If you rename page A to B, then page A no longer exists. It won't show up in the index or searches, and if you make a wiki-style hyperlink 'A' then it will appear with the little question mark. Of course, since there is no such page called A. Clicking on the question mark link will let you then create a new page called A. Again, completely vanilla behaviour for a page that doesn't exist. So I've changed my mind a bit since I originally logged this feature request.
The only difference in user-visible behaviour, then, would be that if page A is renamed to B and someone tries to look at an old twiki/bin/view URI for page A, instead of 'this page does not exist' they get a redirection to page B. (In implementation, it may be necessary to change the question-mark-links generated for nonexistent pages so that Twiki can tell the difference between such a link and an external one. But that's not really a user-visible difference.)
Moved here from RenamingWithoutBreakingOldLinks
The fastest, and in a sense cleanest, way of doing this is to write a .htaccess file for Apache with lots of 'redirectmatch' or similar directives so that the redirections are generated by the web server. But for all but very high-traffic sites it'd be simpler for Twiki to write a stub file A.has_been_renamed_to.B at the same time it moves A.txt to B.txt - and then check for the existence of this file on page views. Obviously if topic A is later recreated the redirection would stop.
If you agree that this is a desirable feature, and the suggested implementation is reasonable, then I should be able to start hacking on it and send a patch.
- 25 Dec 2005