Drupal - Moodle Integration

I'm the current owner of a pair of Drupal modules which help integrate the Drupal content management framework with the Moodle learning management system. Drupal and Moodle are among the best open-source packages in their respective spaces, and are likewise both very popular.

The two Moodle modules are named moodle and moodlesso. Recently, I committed a new branch to the moodle module tagged 6.x-2.0. This branch is the start of a new direction I want to take with both modules.

Previous versions of the moodle module provided an iframe within which the Moodle site was displayed, and also allowed a form of Single Sign On (SSO). SSO was provided by using an HTTP GET request with the username and password loaded into the request parameters and configuring Moodle to use database authentication and giving Moodle access to the Drupal's users table in its database. This method was kind of hackish and also a security risk.

With the new moodle module branch, I am changing the focus of this module to be strictly data integration features. In fact, there is essentially nothing from the previous versions in the new version as far as code goes, and only the ability to have a menu link which takes a person to the Moodle site remains as a common feature.

The moodlesso module will become the focal point for any SSO capabilities. As originally coded, it used some unsupported session token capabilities. My plan is to try to add several different SSO methods to this module to allow the admin to choose the one which works best in his or her environment. Currently this module has no new code or releases, but I am hoping to have something useful here in the next few months.

To allow data integration, the moodle module requires a plugin in the Moodle side. Because the existing methods for accessing Moodle as a web service had a number of shortcomings and complexities I didn't want to work with, I wrote a new web service interface for my Drupal module to query. It uses a RESTful model for services, and for lack of a better name, it's called the Quick API. The code can be obtained from the Google code repository for the moment. Hopefully, the whole thing can be hosted in a better arrangement in the future.

Comments

qapi

Hello Chris,

I have installed the qapi in our Moodle set up and added the IP of our Drupal site to the Allowed client list. In Drupal 6.10 I installed the Moodle 6.x02.2-beta1 module. I have the link set to the Primary memu. Now, when someone clicks on this link, a new windows opens and they are sent to the Moodle Main page but they don't get logged in. Shouldn't the user be logged into the Moodle site after pressing this link? An I missing a step?

Thanks

Jim

No automatic log in provided

The version 2 branch (i.e. 6.x-2.y... versus 6.x-1.y...) is completely rewritten. In the older version 1 branch, the Moodle module provided a GET URL username and password to Moodle, and Moodle could then use that against the Drupal database to authenticate. That was insecure, and also not the direction I wanted to take the module. In version 2, the authentication ("log in") functionality was removed completely.

There are other methods to make this happen. Having to only log in once (to Drupal) and then automatically be logged into another application (e.g. Moodle) is called Single Signon or SSO. I use OpenID to enable SSO from Drupal to Moodle on my sites. Drupal is the OpenID provider, using the openid_provider module, and Moodle is the OpenID client (or relying party), using the OpenID plugin for Moodle.

I plan to offer another SSO option in the moodle_sso module for Drupal, but haven't completed that project yet.

qapi

Thanks for the reply Chris. I'm looking forward to see how your method works as a SSO option.

Thanks again

Jim

How to track?

I'd be interested in keeping track of your efforts because it currently appears integrating Drupal and Moodle w/b the best choice for my project.

How can I receive notifications of updates etc?

Question about integrating Moodle.

Admittedly, I am still very new to this concept. I understand the advantage of being able to fold Moodle into Drupal. How much will I need to know and do to accomplish this task. I have a site with Fantastico, from which I have installed a drupal and moodle site.

Will your module be a simple install? What will I need to know to take advantage of your contribution?

moodle-drupal integration

i want to integrate drupal6.x with moodle 1.9......... if u guys have any idea pls do reply... i saw ddrupal4.x and moodle 1.6 integration....

Is that apply to the current version too....

thanks in advance.... pls help me out...

No table to add new client in Quick API inside moodle

Hi Chris,

I installed this module according you stated into the installation criteria..

but at one place, when I try to add new client into the Moodle Quick API screen..

it prompt me the error message.. Unable to add new client

any idea. why I am getting this?

thanks in advance

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <pre>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.