When we were approached by Kaiser Permanente to create a site that could seamlessly sell and deliver healthcare education, we immediately turned to Drupal and Moodle.
Drupal provides a versatile front end that supports eCommerce functionality. Moodle offers peerless management capabilities for creating and delivering course content on the back end.
Both are open source, highly flexible, and supported by active communities that regularly contribute to their development.
When this project was delivered, a Drupal-Moodle integration was unfortunately not (and still isn’t) a turn-key solution. Custom development was required to provide a comprehensive integration that allowed for unified user management and course enrollment, all from a single interface.
More importantly, the cost savings from open source licensing and in-house site management allow educators to invest their money where it belongs: in education and not costly licensing fees.
Why Moodle?
Did we mention that Moodle is peerless?
In fact, it handily beats Blackboard on basically every measure. From cost of ownership to supporting diverse learning styles and goals, educators and students both overwhelmingly prefer it to Blackboard.
Still not convinced? Read our blow-by-blow comparison of Blackboard and Moodle.
Why Drupal?
Drupal’s flexibility and extensibility are perhaps the core of its appeal. You can easily and quickly install additional functionality to meet your needs, whether that means setting up an eCommerce system or completely overriding the behavior of a specific feature or workflow within your system.
Of course, that modularity wouldn’t mean much without the community behind it. Drupal developers frequently publish free plug-ins that extend core capabilities, ensuring that the cost of adoption and development is minimal. After all, why reinvent the wheel?
User roles and permissions can be managed on a very granular, module-by-module level, allowing educators a great deal of flexibility. You can also use multiple content types, including wikis, blogs, groups, and forums—which are all suitable for student participation and interaction.
Integrating Drupal and Moodle for eCommerce
There are two primary eCommerce options in Drupal 7: Ubercart and Drupal Commerce. Each has its own strengths and weaknesses.
Ubercart is more of a standard commerce solution out-of-the-box. It supports basic eCommerce functionality and has extensive module support, but it’s relatively rigid and really only intended to work in specific ways.
Commerce also has these capabilities, but since it’s a newer project, it has not garnered the substantial long-term support that Ubercart has. For now, that makes implementing Drupal Commerce more involved (and therefore more expensive).
However, the upside is that Commerce includes a fairly comprehensive set of APIs that give developers a great deal of flexibility. The result is much more specific implementations that can be better tailored to organizational needs.
We chose Ubercart for Kaiser because at the time of the project Commerce was still in its early states of development.
While there isn’t currently a (comprehensive) plug-and-play method of integrating Drupal with Moodle, customizing and extending the Moodle Integration module allowed us to create a seamless experience for both administrators and students alike.
Keep an eye out, because we plan to request co-maintainer status for the existing modules, or contribute them as new modules, in the near future.