We need a way for sites that have been converted to use Guise Mummy, potentially with .xhtml extensions converted to .html (or with extensions removed altogether for clean URLs) to specify that the old names should be redirected (permanently) to the new names.
Initially the most straightforward way to do this would be to specify an "alternative name" in the XHTML metadata:
The value would be interpreted as a resource path relative to the final target resource path of the artifact. This implementation needs to support relative paths with backtracking, as well as alternate locations that are collections. Here are some examples of artifact target paths and their alt locations:
bar.html: alt location foo.html (Make foo.html redirect to bar.html.)
bar.html: alt location ../foo/bar.html (Make ../foo/foo.html redirect to bar.html.)
bar: alt location bar.xhtml (Make bar.xhtml redirect to bar.)
bar: alt location bar/ (Make bar/ redirect to bar.)
The latter is interesting because normally a web server will redirect foo/bar to foo/bar/ if the latter collection exists. In this example, however, a web site page had been deployed at e.g. foo/bar/index.html in the past (actually a framework that allowed actual contentent at foo/bar/, but now the page has been relocated to foo/bar (an HTML page with no extension), so foo/bar/ needs to redirect to foo/bar.
In the future (not in this ticket) once expressions are implemented, the following could be used to indicate "redirect from the old source name of this resource":