This is important as it comes up from time to time in the form of a request from my customer like this "so and so from school district x had a student take a course a while back, can we see the grades?".
In our system, we like to *reset courses at least once a year. Students who took courses in 13-14 should be moved out of the system for 14-15. Often, we have new course content anyway, so we are deploying new courses.
What to do with the student progress or record in the moodle course? - That is the question.
How to archive student grades from a course - That is the same question.
1 - I keep one copy of the entire moodle DB for each month - forever. I have a folder on a Windows network drive where like this
My solutions
1 - Backup the entire DB - the bazooka approach
2012
studentBackup1_30_12.sql
studentBackup2_27_12.sql
studentBackup3_30_12.sql
.
.
2013
studentBackup1_30_13.sql
studentBackup2_27_13.sql
studentBackup3_30_13.sql
This is a safe and smart way to keep a snapshot of the entire system - which, I can restore any of the backup DBs to a test moodle instance and see all the student data.
2 - Backup the individual courses - the rifle approach
This is a more precise way to archive the student grade data. We start each fall with courses 1 - 20
course1
course2
course3
.
.
During the school year students a,b,c are enrolled in course1 and have grades and progress and submissions etc. Student a,b,c either complete or drop the course. Either way, we want to keep a copy of their performance/grades/submissions/posts etc for perpetuity. My customer used to remove the enrollment from the course and create a single backup file for that student. This was because the teachers wanted student who were no longer active removed from the course. I appeased this request by creating a enrollment status bit, where the student enrollment could be identified as completed or dropped. Now, we simply leave the enrollment in the course until the end of the school year and make a single course backup with student data. After the backup file is created, we move it onto the same Windows share drive like this.
2012StudentCourseBackups
course1.mbz
course2.mbz
course3.mbz
2013StudentCourseBackups
course1.mbz
course2.mbz
course3.mbz
course4.mbz
course5.mbz
course6.mbz
2014StudentCourseBackups
course1.mbz
course2.mbz
course3.mbz
course4.mbz
course5.mbz
You get the idea.
Now - when our customer says "we need to see the grades for student x" - I can say "what course and what year" - and should be able to find the data necessary. I would try first restoring a course to my temp moodle instance. If we cannot find the student in a specific course, perhaps they have the wrong course - then I could try restoring the entire DB for a particular month to the test instance and I can search for their name in the accounts and find their course that way.
The end.
No comments:
Post a Comment