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?
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.