Moodle has a lovely function that restores data when a user is re-enrolled into a course so their previous grades and scores are returned. It's very useful.
I want to have the option to NOT restore that data so that the user can reattempt the same course a second time the following year - this is all about re-certification... it's not a school based system. I know there is a checkbox to restore data or not, but it doesn't do what I need - specifically, a quiz cannot be re-attempted if all attempts were already used. That checkbox would be ideal if it truly cleared all data.
The problem is that if we re-enrol a user all of the last year's data is restored, and without doing a thing they access the certificate. I need to prevent this, push the user through the same activities (or at last updated ones) and re-issue a subsequent certificate.
In effect, I want the ability to re-enrol as if it is a new user... but also keep access to the history so I can see if a user completed each year - I need to see a completion history.
One thought I had was to use a date based completion report - the activities in a course have completion criteria but also record the date of the attempt. If a date based completion report looked only at the attempts within a specific year, we could construct a completion report for that year.
However, I cannot then see how activity restrictions would work - not without getting down and dirty with core code!