Has anyone done any integration work between Plone and Moodle? Just trying to determine what's there already and what needs to be done for a Moodle integration. I still need to get details from the client to better understand their goals but it's nice to enter a meeting semi-informed. Would love to get any pointers that might help with Moodle/Plone work.
If Moodle is anything close to Desire2Learn (which I saw and used at UW Oshkosh), it will have slowly crawled into the CMS space. The only limitation might be that you have to host content inside a "class" or equivalent content object. I saw people jump through hoops with D2L, creating fake classes just to post something, and having to add lots of people to that fake class' roster so they could see that content. If that's the case with Moodle, then there is room for Plone. Otherwise, the integration would make sense only if there were something else Plone can do that Moodle can't, like workflow, Dexterity, an add-on that does something that Moodle (or its add-ons) can't.
We were looking for an open source SSO solution who can use SAML2 et OpenIDConnect (http://openid.net/connect/) protocols.
LemonLdap::Ng can use many other protocols (https://lemonldap-ng.org/documentation/1.9/start).
LemonLdap::Ng has a goog TTW configuration interface and the configuration can be export/import in JSON format.
We also found a good LemonLdap::Ng integrator near the university.
We are currently happy with the solution
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.
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.