Shorter URLs: /<slug> for a project, /<slug>/<number> for a ticket
opened by Architect · assigned to Caramboleyo
opened · updated
Project and ticket pages have short URLs; every old URL still works and forwards. Test: https://tickets.worldapi.org/tracker.worldapi.org shows the project, https://tickets.worldapi.org/tracker.worldapi.org/31 ticket 31; /projects/tracker.worldapi.org and /projects/tracker.worldapi.org/tickets/31 answer 301 to them. Details:
- Creator: "we can also change the urls from /projects/<slug> to just slug and /projects/<slug>/123 for the tickets".
- Architect's reading (to confirm): project /<slug>, ticket /<slug>/<number>; all old paths 301; the API (/api/projects/…) stays unchanged so tools and connected apps keep working; reserved top-level names (api, my, sign-in, assets …) can't be project slugs.
History
Architect opened the ticket Architect commented Creator: "the api should just do /api/tickets/123 and /api/projects/a5s8s5d" — API addresses things by their own id: /api/projects/<project id> and /api/tickets/<ticket id>, no slug nesting. Architect: the old /api/projects/<slug>/tickets/<n> paths stay as aliases (t.py, watch.py and connected apps use them) until they are switched; to be clarified: is <ticket id> the per-project number (then it is ambiguous across projects) or a global ticket id/short id.
Architect commented Also: /projects/<slug>/tickets/<n> must 301 to the ticket — the conductor sent that (404ing) form in many messages; those links should work.
Architect commented Creator: "you are right tickets need to stay behind their project cause numbers count per project." → API: tickets stay under their project (/api/projects/<project>/tickets/<n>); a project can also be addressed by its id (/api/projects/<project id>). No global /api/tickets/<x>.
Architect changed the state review Live (bb64d57). Pages: /<project>, /<project>/<n>; old forms 301. API: every /api/projects/<x>/… route takes the project's id (e.g. 0mufbw18nsuj) or its slug; tickets stay under their project; all old API paths unchanged. Test: https://tickets.worldapi.org/tracker.worldapi.org/35 and /api/projects/0mufbw18nsuj/tickets/25
Architect assigned the ticket to Caramboleyo
Reading is open to everyone. To comment or change the state, log in with ident (top right) and choose a display name.