The Moodle User Group Greater London (MUGGL) met on 11th December 2012 and discussed institutional backup policies. It would seem most of us either turn off regular backups or have only disaster recovery in place. Most large Moodle installations struggle to run periodic automated backups but even with improvements it could be that it's used primarily for recovering data when there could be another way.
From experience, the majority content content restorations are deleted 'things' from either 'a moment ago' or 'not sure, I dont know who deleted it'. Therefore, I wanted to ask the wider Moodle community - why does Moodle delete anything anyway?
> Delete a user - it stays and is flagged as deleted.
> Delete a role assignment (yes, unassign) - student data remains but is 'invisible'
> Delete a resource - it's gone!
> Delete user data (say from the Quiz Results table) - it's gone!
I wanted to submit a feature request that Moodle has a 'recycle bin' for all deleted items. The workflow for deleting something adds the item to the recycling bin, when the item is deleted it's only flagged for deletion. Then a cron job runs and checks for 'flagged as deleted', when it was deleted and when the garbage should clean it out for good. The garbage can be cleared periodically (day, week, month, year, forever) and only then is it properly and fully deleted. By that time the Disaster Recovery backups (usually system-level) have also captured the data and it is also then recoverable.
A further extension would be an admin interface to 'undelete' without having to go into the database, effectively a O/S Recycling/Trash bin.
I think it could save some huge problems for Moodle users and support staff. It may be hard to implement but it could be very useful.
This is a Tracker submission based on the forum thread located here: