Skip to content

D1.2c Retire the datamailer client, the data app and the studio datamailer views #372

Description

@alexeygrigorev

Split out of the combined D1.2 mail-adoption issue (community-base plan phase 1). Depends on #370 (D1.2b, landed).

Scope:

  • Delete course_management/datamailer* (the client package, its payloads, sync modules, templates registry), email_app/ (donor PendingUnsubscribe, replay jobs, relay links), the data app (DatamailerOutboxEvent, DatamailerSendAudit, dispatch runs), and studio_courses/views/datamailer*.py with their templates. Studio email pages come from the package.
  • P6 second PR: delete the donor models kept read-only since D1.2a/D1.2b; migrations drop their tables. Migration rehearsal with counts (P14) before landing; development-copy counts recorded in the PR.
  • Link bridge URLs keep their exact paths; RELAY_LINK_BRIDGE_* settings become COMMUNITY_BASE keys declared by the mail app.
  • Retire the retained datamailer outbox storage from D1.2b (P6 step 4): storage goes read-only-to-dropped with the rollback window closed by the D1.2a/D1.2b dev deploys.

Non-goals:

  • No Relay-side changes; the R1.x catalog/callback contracts stay as pinned.
  • No new mail purposes; the five D1.2b purposes are unchanged.

Verification:

  • grep -rln datamailer --include=*.py . | grep -v migrations -> nothing.
  • Open pixel and click bridge respond as before (existing contract tests).
  • Fresh-database and development-copy migrations; table-drop rehearsal with counts.
  • Full gate set: ruff check/format, makemigrations --check, mypy, Django suites per the change-selection plan.

Not run here: production freeze activities (D1.3, separate issue).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    emailArea: email

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions