URLs for hosted app and website
Thanks to contributor @alecbcs for starting this conversation.
When we implement #617, we will have both 1. a software project that is hosted and delivered as a web application (what currently lives at
try.exosphere.app), and 2. a web site that describes this software project. Each of these things will need a URL. If someone is searching for information about Exosphere, they should be taken to the web site first. If they are accessing the application by direct navigation for the first time (not logged into any OpenStack projects), and the referrer is not from the web site, they should probably also be taken to the web site first. But when they want to start using Exosphere, navigating to the login page of the web application should be a frictionless experience. Similarly, when using the web application, navigation to the web site should be discoverable.
The hosted web application is currently at
https://try.exosphere.app/exosphere, and if you browse to https://try.exosphere.app` you get redirected to
/exosphere. This URL is longer than necessary, and we can probably get rid of the
The "try" in
try.exosphere.appmay give people the wrong impression, i.e. that the hosted application is only for trial/demonstration purposes instead of for "real use".
What would success / a fix look like?
- Our plan to fix all of this should preserve backward compatibility with current URLs that start with
https://try.exosphere.app. That is, if someone has an existing deep link into the app, we should avoid breaking it, and redirect appropriately.
- However we decide to do this, it needs to be reasonably implementable in Nginx.
- This arrangement should be re-usable / configurable for white-labeled deployers. For example,
https://exosphere.jetstream-cloud.orgshould be configurable to guide people to
https://jetstream-cloud.orgif they are a first-time visitor and not logged into anything yet.
- For developers, it should be easy to work on only the application, or only the website, without having to set up a complicated local development environment.
- Different hostnames. The application is at
https://exosphere.appand the website is at
https://exosphere.somethingelse. (Note: subdomains
useare to be avoided.)
GitLab does it this way: a new, not-logged-in visitor is redirected to
https://about.gitlab.com, and if you click "log in" from the hamburger menu, you end up at
- GitLab does it this way: a new, not-logged-in visitor is redirected to
- Same hostname, different paths. For example,
https://exosphere.appis the application, and
https://exosphere.app/aboutis the web site. Or,
https://exosphere.appis the web site, and
https://exosphere.app/exosphereis the application (or perhaps