Courses can be in Preparation (B), published (BA, BAR, BARG, Members-only), closed and deleted. In the UI, those states are not directly visible and the closed and deleted state are confusing and irreversible.
This will be addressed by implementing a clear life-cycle status and standard workflows how the states can be changed.
Many details still have to be defined, the most important task to be done is to implement a proper closed status, in which the course is available only in a read-only state, also known as the "freeze" state. In this new read-only state, the course memberships are all preserved, however all course elements and tools in the course are only accessible read-only. This applies also for the course owner or the administrator.
Read-only state / freeze / closed
- Each course element needs a read-only mode
- Each course tool needs a read-only mode or is hidden entirely
- User data is preserved
- User-course relations are preserved
- All downloads still work, course results can still be browsed etc.
- Closed courses are removed from the "My courses" listing and moved into a new tab "Closed".
- Closed courses are hidden in the catalog listing and displayed in a section below the published courses
- In this state, the course should not trigger any emails (notifications, reminders etc)
- The delete operation does not really delete anymore, but only flags the course as deleted
- User data is preserved
- User-course relations are removed, except for the owners
- Deleted resources are not visible in the authoring views that we have today
- In the authoring site, a new tab "Deleted" is added that shows the deleted resources including the name of the person who deleted and the deletion data.
- Deleted courses can not be opened, only "restore".
- When restoring, the course is in "closed state". Restore can be done by owners for their own deleted courses.
- System administrators have next to the "restore" also a "delete permanently" action to delete the resource from disk (same as todays delete). This action is not available for owners, only system administrator.
- The restore and delete can also be triggered using a bulk action.
The idea is also to have a life-cycle admin environment where we can configure rules for automatic life-cycle management (e.g. 2 month after course end date course is changed into closed state, after 2 years into deleted state and after 3 years the admin gets a mail about the courses that are scheduled for permanent deletion (but admin must press the button to delete). This is a bonus task that makes it into release only when we have time and when we find a sponsor for this part of the issue.