Provide short-URLs for arbitrary indico links
- Dominant language
- Python
- Stars
- 2.1k
- Forks
- 551
- Avg merge
- 2d 9h
- Merged PRs (30d)
- 21
Description
This could work similar to GitHub's [git.io](https://git.io/), i.e. only supporting URLs from that Indico instance. Maybe without the form to paste a URL yourself.
The shorturl could default to `https:///go/` with a random shortcut. Creating it could be done through a RESTful API like `POST /shorturls/` with a payload like `{"url": "/event/xx/whatever"}` which would either return the existing shorturl for it or create a new one.
A possible way of displaying the current shortcut and/or creating one could be an ajax-loaded tooltip on links where a shortcut makes sense.
To support a custom domain (such as `https://indi.co/`) we could have a config option that allows overriding the format for shortlinks - then the administrator of the instance would just need to configure their webserver to map that domain to actually call the `/go/...` URL.
Contributor guide
Research direction
Start by mapping the existing REST API and link-handling paths against the proposed POST /shorturls/ and /go/ endpoints. Define how existing short URLs, random shortcuts, instance-only URLs, and the configurable custom-domain format should behave. Done should include the API and redirect flow, with the optional link tooltip considered as a separate interface.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100