Skip to content

Prototype implementation of scopes in URLs (#493)

Enrico Zini requested to merge scopeurl into devel

Introduce scopes into Debusine URLs using request.urlconf, which is a supported Django API.

Depends on !1140 (merged), !1141 (merged), !1142 (merged)

Todo entries from docs/reference/devel-blueprints/scoped-urls.rst:

  • Add a DEBUSINE_DEFAULT_SCOPE setting (defaulting to debusine) to specify the name of the default scope to use during the transitioning period where not all of Debusine is yet scope-aware.
  • Design a way to set up a system of best-effort redirects.
  • Make a stricter definition for scope name, and use it on URL matching and model validation. Allow [+._-] to be used but not as first or last characters. Also use a list of reserved scope names, to avoid clashing with existing toplevel URLs
  • Document a header in API calls used to select scope.
  • When the header is missing, use the fallback scope.

Filed as #503 (closed):

  • Add a configuration option in debusine-client to select the default scope
  • Add a command line option in debusine-client to specify a different scope
  • Make sure we have a scope-aware client in testing and stable-backports before we drop support for unscoped API calls.

Filed as #504 (closed):

  • Document a procedure for sysadmins to migrate to scopes
Edited by Enrico Zini

Merge request reports

Loading