Hi Al, Melanie,
I don't believe CSVs would be pratical for us, as we constantly have staff and volunteers coming and going and need a solution that'll be scalable with multiple courses (we've launched just with GDPR, but will be adding safeguarding, health and safety, and other core courses before long).
We're currently using cohorts to manage auto-enrolment into the course and will use it for other courses, too. As far as I'm aware, you can't manually suspend enrolments, as this is handled by the cohort sync. Even if we could, that's adding a lot of manual management the more courses we add, so I don't think this is the way to go. I really need a way to have multiple courses updated easily.
Yesterday I realised that I could config the enrolment sync to stop unenroling users removed from the cohort and instead just suspend their enrolment, but this also removes their role. I found this means they don't appear in the gradebook, even if you switch the option to show all sutdents, not just active.
I did find that I could still open this suspended/no role user from the participants screen and view their actual grade, so this might be good enough for us to 1) be able to monitor course completion for active students (and not have the leavers show on the report) and 2) still be able to view historical grades for leavers should we get an enquiry after they've left.
I also found I could manually add the student role back to the suspended enrolment, which meant they then did show in the grade report when the filter was set to show inactive students, too. But this is too manual and isn't scalable, so won't be practical. It would be nice if the cohort sync included a third option to suspend but not remove roles.
I'm not sure if I adequately explained what we're trying to accomplish:
We're going to be adding all our core training to Moodle and need a way to monitor that active staff/vols are completing their required courses in a timely way.
We're using LDAP and external database syncs to auto-create and suspend user accounts.
We're manually adding new users and removing leavers from the cohort via a manual daily check (we run a search for active users that aren't in the cohort to bulk add, and a separate search for suspended users who are in the cohort to manually remove them (unfortunatley not available via bulk action, but individually searching in the cohort itself). I believe there's a third-party plugin for auto-enroling to a cohort, but I'm not keen on using it, as it might lose support.
We need to be able to easily generate a report of active users and their status of the required training (just GDPR for now) that doesn't include suspended users, but we also need to be able to hold and access their history even after they leave per our records retention policy for personnel and volunteer records.
I was considering competencies, but as far as I can tell there's no built-in report to generate a list of active users and their compentencies. I could build an external report via SQL, but am trying my hardest to see how to manage this entirely via Moodle.
We also need staff/vols to retake these same courses annually. I was really hoping to find a way to do this per person (e.g., they get a reminder 11 months after last completion to do the course again), but it's looking like the only way to accomplish this entirely within Moodle is to 'reset' the counter for everyone at the same time (e.g., republish the course annually and switch the cohort to drop the old and add the new course).
It would really be ideal if we could run site-wide reports on course completion, but I'm not seeing this as possible in Moodle. As far as I can tell, the reports need to be run against individual courses.
Sorry, I know this is a bit of a ramble, but I'm trying to work through how to best manage this when staff/vols come and go every day and everyone needs to complete the same courses annually. New to Moodle, so lots to digest!