Skip to main content

Tutor Contrib Delete Course

Standalone Open edX plugin for admin-only course deletion from Studio.

Structure

  • backend/ Django app (delete_course_plugin) exposing API + admin model
  • frontend/ reusable Authoring MFE widget package (@openedx/frontend-component-delete-course)
  • tutor/ Tutor plugin that injects backend/frontend into Open edX and Authoring MFE builds

Backend API

POST /delete_course_plugin/v1/courses/<course_key>/delete/

Body:

{
  "reason": "optional"
}

Admin model

  • DeletedCourseRecord
  • Admin label: Deleted course records

Installation

Install the Tutor plugin package:

pip install tutor-contrib-delete-course

Enable plugin:

tutor plugins enable delete-course

Rebuild images so backend + authoring frontend package are injected:

tutor images build openedx mfe

Apply migrations in CMS:

tutor local run cms ./manage.py cms migrate delete_course_plugin

Restart services:

tutor local restart cms lms mfe

Development

For local development from this repo root:

git clone git@github.com:Abstract-Tech/tutor-contrib-delete-course.git
cd tutor-contrib-delete-course
pip install -e .
tutor plugins enable delete-course
tutor images build openedx-dev mfe
tutor mounts add cms:/path/to/tutor-contrib-delete-course/backend:/openedx/delete-course-plugin-backend

Local mounted MFE

If you are using a locally mounted mfe/frontend-app-authoring, local env.config.jsx can still be used for dev. For staging/production, use the Tutor plugin integration in tutor/ instead of manual env config edits.

TODO

  • Add a soft-delete/archive backup flow for deleted courses so staff/admin can restore a deleted course within a configurable retention window (for example, 30 days), after which the course is permanently deleted.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tutor_contrib_delete_course-1.1.0.tar.gz (65.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tutor_contrib_delete_course-1.1.0-py2.py3-none-any.whl (75.3 kB view details)

Uploaded Python 2Python 3

File details

Details for the file tutor_contrib_delete_course-1.1.0.tar.gz.

File metadata

File hashes

Hashes for tutor_contrib_delete_course-1.1.0.tar.gz
Algorithm Hash digest
SHA256 eb77bb65a82be4cca66c5d294fb768db08ec31af9ce587896471a9709d958bdf
MD5 fe2e182ba3490a31a8bfeb736ba65918
BLAKE2b-256 7e3f8df712c38510a233ebfdaa730053027eb22ca58de3d93a691772027bf074

See more details on using hashes here.

Provenance

The following attestation bundles were made for tutor_contrib_delete_course-1.1.0.tar.gz:

Publisher: publish-pypi.yml on Abstract-Tech/tutor-contrib-delete-course

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tutor_contrib_delete_course-1.1.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for tutor_contrib_delete_course-1.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 8abf711e13b88ccc80bfe0b2ceb17d7b19b002e2136e9106698326805c37655a
MD5 858c3e9ee09c77445fb760e16d8678b5
BLAKE2b-256 d1c35df2f35dc9e3e6ba8ceb5cacc8f65a343a73e7902e474d78ed35b9495121

See more details on using hashes here.

Provenance

The following attestation bundles were made for tutor_contrib_delete_course-1.1.0-py2.py3-none-any.whl:

Publisher: publish-pypi.yml on Abstract-Tech/tutor-contrib-delete-course

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 files

1.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page