Course: archive course and recover
Archive all data from a course including content objects, subscribed users, etc.
Recover a course from an archive - including content objects.
Do not create new content objects if they already exist.
Recover the content object version if needed. That is if a content object has been modified recover it from the archive.
Do not create a new course during recovery.
Nice to have:
- add parameter to decide if modified content object should be overwritten
- add parameter to decide if new course and content object should be created
Partial solution: use the export/import course functionality.