Skip to content

Rename the copied cadmin package to Studio Courses without changing behavior #116

Description

@alexeygrigorev

Parent: #59
Follows the route/product naming slice: #115

Product decision

cadmin is a legacy CMP implementation name, not a product concept on the unified website. The logical name is Studio → Courses. The final internal Django/Python namespace should be studio_courses; Django /admin/ remains separate.

Scope

After the copied CMP baseline and #115 behavior are independently accepted, move the copied course-operations package from cadmin to studio_courses as a mechanical rename. Preserve the copied implementation rather than reimplementing it. Keep legacy /cadmin/* only in a small, explicitly owned compatibility route module until its removal gate is approved.

Acceptance criteria

  • Perform the implementation move mechanically (mv/cp plus imports and Django configuration); do not rewrite course logic during the rename.
  • The active app config, imports, template namespace, static namespace, test modules, and internal route includes use studio_courses, not cadmin.
  • Any remaining cadmin reference is limited to the legacy URL compatibility adapter, provenance/inventory history, migrations that must remain immutable, or an explicit allowlist entry with owner and removal gate.
  • Public and staff-visible language uses only DataTalks.Club, Studio, Courses, or course operations.
  • Canonical human routes remain /studio/courses... and logical route names remain studio_courses_*; no redirect chain is introduced.
  • /cadmin/* compatibility behavior remains authorization-safe and behaviorally identical to the accepted Make Studio → Courses the canonical course-operations surface #115 contract.
  • The copied behavior/provenance inventory proves that no original CMP behavior or source file was silently lost in the move.
  • Run all course-operation, Studio, account, authorization, redirect/replay, API-parity, readable-template, lint/type/Django, desktop, and mobile gates.

Non-goals

Do not combine this mechanical namespace move with model redesign, course/cohort behavior changes, Relay migration, API implementation, or removal of accepted legacy URL redirects.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1Important follow-upadminArea: admincoursesArea: coursesenhancementNew feature or requesttestingArea: testing

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions