HTTP redirects from old to new AspectJ documentation
Summary
I need infra support regarding HTTP redirects, because the AspectJ documentation is now generated in a different way, and I want to make sure that users knowing the old URLs will end up on the right pages for the new ones.
The situation is as follows:
- The old AspectJ documentation lives under https://eclipse.dev/aspectj/doc/released.
- The new AspectJ documentation lives under https://eclipse.dev/aspectj/doc/latest. I chose a different name to enable a smooth transition, i.e. the new documentation is online already, while the old one is still reachable until after we resolve this issue.
- Some URLs will continue working with a generic redirect from
doc/released
todoc/latest
. Sorry for maybe using wrong nomenclature, possibly we are talking about URL rewriting here. E.g., https://eclipse.dev/aspectj/doc/released/runtime-api/org/aspectj/lang/JoinPoint.html and https://eclipse.dev/aspectj/doc/latest/runtime-api/org/aspectj/lang/JoinPoint.html map onto each other. The look & feel is different, but the content is the same. - For other URLs, this simple mapping does not work. I created Excel file AspectJ_Docs_URL_Mapping.xlsx as an input for you to create URL rewriting rules for those cases. If you can use a spreadsheet app to browse the file, I hope it will make life easier for you. I also created CSV file AspectJ_Docs_URL_Mapping.csv, because that might be easier to convert into a
.htaccess
file or whatever is the appropriate form to implement the mapping. (Technically, CSV is an incorrect term, even though Excel calls it so. The separators are semicola, not commata.) - When browsing the file, you will notice a third column, sometimes empty, sometimes not. If not empty, it contains an HTML #anchor that needs to be added to the mapped URL, because some older HTML pages are now part of larger ones, and a redirect needs to add something like "#my-anchor" to the new URL in order to link to the correct section on the new page.
A few examples:
It means that e.g.
- https://eclipse.dev/aspectj/doc/released/adk15notebook/annotations.html simply maps to https://eclipse.dev/aspectj/doc/latest/adk15notebook/annotations.html, but
- https://eclipse.dev/aspectj/doc/released/adk15notebook/annotations-declare.html maps to https://eclipse.dev/aspectj/doc/latest/adk15notebook/annotations.html#annotations-declare.
Sometimes the names are so similar, sometimes not. There is no generic mapping.
It means that https://eclipse.dev/aspectj/doc/released/README-1612.html maps to https://eclipse.dev/aspectj/doc/latest/release/README-1.6.12.html. Please note the dots in the new file name and the release
subfolder.
It means that the https://eclipse.dev/aspectj/doc/released/aspectj5rt-api (a subfolder!) maps to https://eclipse.dev/aspectj/doc/latest/runtime-api (also a subfolder). BTW, there also is https://eclipse.dev/aspectj/doc/released/runtime-api, which maps to the same new subfolder by default rule (map released
to latest
). This is, because two previously seperate javadoc folders have been merged into one. The Excel sheet only lists the cases which are not covered by the default rule.
For the 4 PDFs at the end of the list, you see that they have been moved into a subfolder, too.
Please, by all means feel free to ask questions. Maybe my explanation is insufficient.
Remember, the goal is to first set all the redirects (or perform the URL rewrites), while still retaining the released
folder structure. I would then smoke-test the results, and if everything works as expected, I would then delete the folder from the repository. I.e., if we do not get it right in the first iteration, that will be tedious for all involved, but not fatal.
Priority
-
Urgent -
High -
Medium -
Low
Severity
-
Blocker -
Major -
Normal -
Low
Impact
It is not urgent, but important, because I want to delete the old, partly outdated pages ASAP and only use the new ones.