-
Notifications
You must be signed in to change notification settings - Fork 2
Closed
Description
Currently, only "enabled" collections are displayed in the frontend, so "disabled" collections can be considered to be "soft deleted".
Implement APIs and views to support "soft deleting" collections, and add Django Admin pages for our collection models.
openedx-learning
Python API:
- Add "Delete Collection" method(s) which allow users to soft-delete, re-enable, or permanently delete a collection.
- Permanently deleting a collection should also remove all its associated entities -- please update the model if needed, and ping Dave Ormsbee for confirmation.
Add Collections model Django Admin, using basic configuration options to:
- List Collection fields: title, key, enabled, created, modified
- List search fields: title, key
- List filter fields: enabled
- Editable Collection fields: title, description, enabled
Don't worry about making a Collection's components add/removable here (because there can be lots), we're just worried about Collection editing for now.
edx-platform
- Refactor how the collection events are triggered, so that wherever collection or its components are modified or deleted, the search index gets updated. Use django model signals wherever possible.
- Ensure that the search index is updated for each component in a soft/hard deleted or restored Collection.
Use async tasks since there may be a lot of components to update.
Add library collection views:
- "Soft Delete Collection" view: calls oel Soft Delete API method; event handlers will do the rest.
- "Re-enable Collection" view: calls oel Re-Enable API method; event handlers will do the rest.
Out of scope
- Soft-deleted collections are not automatically cleaned up -- Django Admins must do this manually.
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Done