Moodle
One of the holy grails of Moodle is having it such that students are added to the right courses in an automated way. This becomes particularly true if you have individual courses for each and every class each of which could have up to 30 enrolments to go through (just far to many to do using manual methods).
Moodle has a number of ways to automate the process out of the box and my favourite way at the moment is using an external database…
So in this post I will show how to use SIMS reports (generated using CommandReporter.exe) to populate student and teacher enrolments in courses as part of a Moodle install using the External database enrolment plugin (more on this here – https://docs.moodle.org/27/en/External_database_enrolment).
Pre requisites…
- First up you will need to know your way around Capita SIMS (in particular creating custom reports) as well as the basics of SQL server management (in particular adding a database to an instance) and Microsoft SQL Server Integration Services (there is a great video series on SSIS here – https://www.youtube.com/playlist?list=PLNIs-AWhQzcmPg_uV2BZi_KRG4LKs6cRs).
- Next you will need a SQL server running Standard edition or higher (this gives you access to SSIS as per http://msdn.microsoft.com/en-gb/library/cc645993.aspx), if you only have Express edition installs in your environment then there isn’t much point in following this guide until you do.
- This guide also assumes that you are using LDAP authentication in your Moodle site and that you have your course lists already populated with the course shortname the same as the course name as it appears in SIMS (it is possible to generate courses using the Database Enrolment method but that’s something for another guide).
- Finally you must have the SIMS.net client (which includes CommandReporter.exe) installed on the SQL server from which you will be running the job to get the class lists into Moodle (more on this a little later).
Capita SIMS setup
For best results create a new SIMS user that will be used exclusively for your Moodle Reports, then login with that user and follow the instructions below.
The past few weeks at work have been filled up with going from what has been a very successful pilot of Moodle 2.6 to a fully featured install of Moodle 2.7.1. Hopefully as time allows I’ll be able to get out some posts about how each aspect of Moodle goes down with the staff and students but for now this post serves as a way for me to highlight some features (in no great detail) which I think deserve recognition.
Things to be covered include-
- Linking AD accounts to class lists in Capita SIMS (a Schools Information Management System)
- Using the auto login feature to put Moodle front and centre
- My home
- OneDrive, Google Drive and Dropbox integration
- Moodle updates (going from 2.7 to 2.7.1)
After recently setting up a Moodle install (hosted on IIS on Server 2008 R2) with SSO (LDAP server based (good old Microsoft AD) with NTLM looking after things) we found that any new users were getting this error message appearing.
Fatal error: $CFG->dataroot is not writable, admin has to fix directory permissions! Exiting.
The simple solution is to this problem is to change the NTFS permissions on the moodledata folder to allow write/modify to any user who is using moodle (I just set ours to domain users).
When setting up a new Moodle install with LDAP authentication I was finding that my test users wen’t able to login with the normal Active Directory user name/password (sAMAccountName). After a little playing I found that they could login fine if they used what is known as the container name (cn).
After a little digging it turns out this is one of the big ‘gotchas’ about Moodle and LDAP in that the default Moodle LDAP setup goes for the cn user attribute as the username instead of the sAMAccountName user attribute as you would expect.
Simple solution is to go into the LDAP authentication on your Moodle install and put in samaccountname as you see above in the box ‘User attribute’.