Moodle + Expression Engine Integration + eCommerce

755 Views Asked by At

A client I am beginning to work with has a very specific need that I can't seem to find the best solution too nor any definitive yes or no because of conflicting answers in forums and documentation.

Goal: We are looking to use Moodle to handle the clients course management and course subscriptions. While using EE for other content as well as a store and cart to manage course related materials and supplies that will not be sold through Moodle.

Requirement: A synchronous cart so that if a student purchases a subscription to a course, they can also purchase any materials from the EE store in one go.

Upon doing my research I have found one piece that can help: aMember, but I cannot find a definitive Yes or No to these things:

Is Single Sign On between EE, Moodle, and aMember possible? Is the cart functionality possible?

I apologize if this question is out of place here, but I'd very much like an answer because many of the proposed solutions have a relatively high cost if they don't work.

Any one here dealt with this kind of integration before?

3

There are 3 best solutions below

1
On

I just completed a full EE/Moodle integration and would love to share how I did it. In a quick overview, We are using EE and CarthThrob to manage the purchases of the actual courses and Moodle for course delivery. What I ended up doing was a bit complicated but hopefully this will point you in the right direction.

  • Courses are sold through the EE site. When they're sold, I have a table that is populated on the cartthrob_on_authorize hook to populate a table with email address, role (student) and course id. I run a cron through Moodle to do remote enrollment so it will grab that data and enroll the student. This works both ways so if you delete a row from the table in EE, it will also un-enroll the student in Moodle.

  • I am using Moodle's user sync to pull in all of my EE users into Moodle on a cron job as well as using their remote authentication. One issue is that Moodle only offers SHA1 and MD5 out of the box so I had to modify their remote login script to first query the salt and then do a SHA512 hash of the salt and password for it to authenticate. What this does is allow users to log into Moodle using their EE credentials and creates the record to enroll the students against.

The biggest caveat is that you essentially have two different accounts on two systems and since EE stores its user data across multiple tables, you can't easily pull in data like First Name, Last Name so moodle prompts for this information (again) before taking a course. Not a great solution but it works. I am sure there are ways you could get around this (create an enrollment table that has all of this data in it to sync against Moodle with an EE extension).

Hope that helps move things in the right direction if you're still trying to do this.

2
On

I've never tried to integrate with Moodle or any other third party, but I know you'd have to create a way for the two to talk to each other. Would you use Moodle as the root authentication method? EE? I'm not sure which approach would work best. You can learn more about how to create that integration by browsing the EE add-on development documentation.

Also, depending on what your goals are, you may not need aMember at all. Take a look at Membrr, which excels at managing membership subscriptions. CartThrob and Brilliant Retail are two popular ecommerce add-ons for EE, and they're worth checking out, too.

Sorry I couldn't be more targeted with my answers. Hopefully someone with more experience can chime in as well. Best of luck!

0
On

We have created a solution close to what you are looking for in WordPress. Here we integrate Moodle with WooCommerce, an ecommerce solution for WordPress, to sell Moodle courses online.

Other features include:

  • Automatic registration to Moodle LMS
  • Single Login Credentials for registered users
  • Export Customer Information from WooCommerce

You can read indepth about the features here. http://wisdmlabs.com/woocommerce-moodle-integration-solution/