Goal
Provide a stable /c/<content_uuid> share link for a course unit so course prose and external shares do not depend on the current course/module/unit path.
AISL already resolves /c/<uuid> to the canonical unit URL. Buildcamp optional-content pages now use this form for 24 cross-unit links. DTC should gain the same behavior through community-base rather than a separate site implementation.
Scope
- Resolve the UUID against the database-owned course content and redirect to its current canonical URL.
- Preserve the target's existing publication and access policy; the short link must not expose private content.
- Make generated share URLs available to both AISL and DTC without hardcoded
/courses/<slug>/units/<uuid> routes.
- Test a content move/rename, unknown UUID, and an inaccessible unit in both consumers.
Defer implementation until the AISL hierarchy rollout and current homework work are stable.
Goal
Provide a stable
/c/<content_uuid>share link for a course unit so course prose and external shares do not depend on the current course/module/unit path.AISL already resolves
/c/<uuid>to the canonical unit URL. Buildcamp optional-content pages now use this form for 24 cross-unit links. DTC should gain the same behavior through community-base rather than a separate site implementation.Scope
/courses/<slug>/units/<uuid>routes.Defer implementation until the AISL hierarchy rollout and current homework work are stable.