There is growing interest in our customer communities in creating basic integration between Moodle and Coresoft applications. Coresoft being a stable Training administration and Moodle being an established LMS, there is no need for either package to duplicate the capabilities of the other, but to provide integration between these systems to allow students to enroll through the Corporate website (which is a Coresoft application), and in turn create/enable a Moodle account with the course modules that they have purchased. Then when the student completes any training unit the results are uploaded into Coresoft to be recorded against their training history.
Once recorded, the organization can produce the required RTO reports for upload to the government website.
Technically this is a simple matter using the Moodle API to:
A) Link with Moodle, so when a person registers for a course through our software, web service commands are sent to Moodle to perform functions such as:
- Login and provide Moodle session token
- Add new user, set user name, profile and password
- Register the new person to a course or series of courses
- Remove person from course
- Remove user
- Change user details or password
B) Run a process (on our machine) that sends command/commands to Moodle that extracts data (as JSON) of all the users that have completed a course or course component, along with their results.
In practice however there is a little more to this than first envisaged.
After the set up of a standard Moodle environment on an TEST Amazon instance at http://moodle01.coresoftcloud.biz/ we soon discovered that the Moodle LMS has a number of other features that the RTO is expecting to leverage including its Social Media facilities to allow students to network with piers and mentors, image and document sharing and ability to update their profile and password. Needless to say this then puts further requirements into the mix for Coresoft to allow students to make these changes in Moodle and Coresoft to load any change back into itself and manage timing conflicts, so the two platforms work seamlessly together.
The solution is to design a web service to receive updates from Moodle (which is PHP open source application) and extend specific tables in the Moodle database, to record time stamp information to send / receive with updates.
What other moodle features would you like to see linked to your Back office systems?