I'm the Moodle developer for a big college in Scotland. We use an external MySQL database to handle enrolments. It maps students to a 'class code', classes to top-level courses, and top-level courses to their child units.
Pulling all this logic out of Moodle and into our own database gives us a lot of flexibility. For example, we have certain courses (e.g. health and safety) that all staff need to be enrolled on. All we have to do is write a view that says:
get everyone who is assigned to be a staff member on a course, and enrol them on this list of all-staff courses
This database approach originally started when my college merged with two others. Since our student record system, Novell logins and everything else were changing, having this database gave us a bit of protection against things not quite adding up given our short deadline in launching Moodle.
My boss would like the database approach to be a temporary measure, and she'd like to move to just using Moodle's built-in enrolments as of next year. My questions are:
- Does anyone else use an external database to handle enrolments on a permenant basis?
- If not, is there a way of keeping groups in sync across courses? (So if someone is in group A on a parent course, they're put into group A on all child courses and if you move them to group B on the top-level course, they're moved to group B on all child courses).
Thanks for taking the time to read this long forum post,