Has anyone done Moodle and Plone integration?

Hi there,

We've done a reasonable amount of work integrating Moodle with Plone. Specifically with our client's, Archetypes based, student management platform. I'm not too sure how much we could offer that would be helpful to anyone else embarking on this process.

Some of what we're using / doing:

  • SAML for SSO: collective.saml2
  • RabbitMQ to asynchronously process requests, keeping data in sync between Plone / Moodle. collective.zamqp
  • There are a number of student management tasks that are carried out in Plone that result in Moodle being updated, these include:
    • Adding users
    • Enrolling users on courses
    • Suspending users
    • Updating user data
  • Also some things that get updated (& displayed) in the Plone student management system from Moodle
    • Completion tracking
    • Results
    • Activity tracking

We have written a basic "local plug-in" for Moodle that hooks in to Moodle events i.e. course_completed and calls a Plone browser view. This adds a task in a Rabbit queue that uses Moodle web services to pull more data back in to Plone - it is displayed for the student and teaching staff to view and assist them with managing their course groups.

We have attempted to keep our Moodle API package decoupled from the student management system. We can look at putting some more work into tidying-up & improving the documentation of this if it was going to be of use to others.