ticketsLog in with ident

tickets.worldapi.org #25

Shorter URLs: /<slug> for a project, /<slug>/<number> for a ticket

review

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

  1. Architect opened the ticket
  2. 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.

  3. 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.

  4. 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>.

  5. 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

  6. 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.