Background: we're running Moodle 2.5 and using manual enrolment for our courses with an external database managing authentication. We have a single set of courses that are always available. Users purchase access to the course for a set period of time. So the courses are never "over" but rather always running and students come and go.
When a new user purchases access their are enrolled in a course and set to expire after a set time period (usually one year) but may renew for successive periods if they choose.
Here is my question: what happens to the users' data when they are "un-enroled" from the course? I am asking the question because based on what I read in the forums and elsewhere quite -- quite consistently I might add -- is that if the action on expire is set to "unenrol" then all user data (quizzes, assignments, grades, completion, etc.) will be PURGED! We would like to make sure that all the users' data is PRESERVED and that any user may re-enrol at any time and pick up where they left off. Is this possible? What is actually happening when a user is "un-enroled?"
We have tested this and we find that we can un-enrol a user, then re-enrol them a day later and they seem to recover all their work -- including their completion data. So what actually happens seems to run counter to what everyone says will happen. (We do have disablegradehistory unchecked and gradehistorylifetime set to "never delete," which may be helping.) However when they are un-enroled they disappear from the gradebook and all of our course reports. (As if they never existed, which is not desired.)
Heading off the suggestions... we have also tested changing the action to "disable course enrolment and remove roles." However, this seems to be even worse because re-enroling users requires two manual actions: changing the user from "suspended" to "active" and (re)assigning them the role of "student." I can see no advantages to this method over "unenrol." Am I missing something?
What is our desired action? When a user "expires" they should no longer have access to the course. However, we would like to maintain their grades, activity, assignments, etc. for two reasons: 1) to run usage reports that accurately reflect course activity, and 2) to allow them to re-enrol at a later date and pick up where they left off. Is this outcome possible? If it is, I have yet to find the solution.
Thanks so much for your help!