Kanonische URLs
Jede Organisation und jedes Projekt hat eine kurze, stabile public_id, auf der die öffentlichen URLs beruhen. Benenn die Organisation oder das Projekt um, und bestehende Links funktionieren weiter.
Warum nicht der Slug
Slugs sind praktisch, bis jemand etwas umbenennt. Eine Formular-URL auf Twitter, ein QR-Code auf einem Flyer, ein Link in einer Willkommensmail: Alles ist tot, sobald aus acme acme-labs wird.
Opini löst öffentliche URLs über eine 10-stellige public_id auf (Crockford base32, also ohne verwechselbare Zeichen wie I/l/O/U). Die ID ändert sich beim Umbenennen nicht.
Wie sie aussehen
Organisation und Projekt haben jeweils eine eigene ID. Die kanonische URL des gehosteten Formulars sieht so aus:
https://opini.dev/f/<org-public-id>/<project-public-id>Release-Posts und Endpunkte der öffentlichen API folgen demselben Muster: /r/..., /api/v1/public/projects/....
Die public_id eines Projekts kopierst du unter Einstellungen → Allgemein. Sie steht direkt unter dem Namen, mit einem Kopieren-Button. Die Einstellungen der Organisation haben dasselbe.
Slug-URLs leiten weiter
Alte Slug-URLs (/f/acme/main) gehen nicht kaputt: Sie leiten mit 301 auf die kanonische URL mit public_id weiter. Browser speichern die Weiterleitung, Suchmaschinen aktualisieren ihren Index. Du kannst weiter Slug-URLs teilen, sie landen mit der Zeit bei der kanonischen Form.
Nach dem Umbenennen einer Organisation oder eines Projekts funktionieren alter und neuer Slug. Die public_id ist maßgeblich, der Slug nur eine lesbare Abkürzung.
Eine public_id ändern
Geht nicht. Die public_id ist absichtlich stabil: Eine Änderung würde jeden Link brechen, der sie nutzt, und damit den ganzen Zweck verfehlen.