
(photo by
oooh.oooh)
One of Solution Grove's clients,
The Center for 21st Century Skills, needs to integrate
Moodle,
ELGG, and
LAMS as an online learning environment for their
Connecticut Career Choices (CCC) program. A requirement of this implementation is to support single sign-on (SSO) between Moodle and ELGG. This post summarizes the steps Solution Grove conducted to make it work on our test servers.
For this particular implementation, we will be working with the following software versions: Moodle 1.8.3 and
ELGG 0.8.1.
The assumption is that Moodle and ELGG were already properly installed and is confirmed to be working.
Here are the steps:
- Download the Moodle-ELGG integration block. This was originally developed by the NZVLE Project [eduforge.org], but they have since discontinued development and several members of the Moodle and ELGG community are now the ones doing the maintenance and bug fixing. We found a working block that is compatible with our Moodle and ELGG installation in this forum post [moodle.org]. You may download it here [moodle.org].
- For actual installation, simply follow the instructions provided by NZVLE [eduforge.org]. Basically, you need to do the following:
- Copy the eportfolio directory from the extracted zip file in the previous step into your moodleroot/blocks/directory.
- Modify your elgg/config.php based on the instructions described in the wiki page.
- Restart ELGG.
- Visit http://yourmoodleurl/admin/ to install the tables needed for the integration block.
- Administer your Moodle blocks and edit the settings for the eportfolio block based on the instructions described in the wiki page.
- Add the block to a Moodle course.
- You need to patch some files in the ELGG installation to make the LMS integration work. The needed patch was mentioned in the forum post [moodle.org]. You may download it here [moodle.org].
- Restart ELGG.
- Test by logging on to Moodle as a user with access to the course to which you added the block in step 2.
- If this is the user's first time, the user will be presented with a "Join now!" button inside the block. Clicking this button will redirect the user to the ELGG lms url with an option to either a) create a new account for this Moodle user's credentials or, b) log in to an existing account and associate this with the Moodle user.
- If the user has authenticated before, the block will instead display a "recent activities" link which opens into ELGG without requiring the user to log in.
- If all works well at this point, then you can start adding the eportfolio block to all courses that need to implement SSO with ELGG.
Possible problems you might encounter:
- After redirecting to http://elggurl/lms/join.php, you get a "NO SUCH LMSHOST" error. Solution: This is most probably caused by a mismatch in the installid you provided in your elgg/config.php and the value you set for the eportfolio block settings in Moodle blocks.
- You get a zero-byte blank page when redirected to http://elggurl/lms/join.php. Solution: Refer to the forum post [elgg.org] and check that you have properly patched elgg/lib/snoopy/Snoopy.class.inc with the patch included in item 3 of the installation steps enumareted above.
- You can't see graphics and/or you can't access the user profile pages in ELGG. Solution: Make sure you have configured your Apache config file properly to set the "AllowOverride All" for your ELGG installation directory and that you have enabled mod_rewrite. You can refer to the forum post [elgg.org] as well as the blog post [elgg.org].
- The CSS is not applied to the ELGG pages. Solution: This is a known bug if you are running a walled garden setup. This has been fixed recently in the ELGG source tree but if your installation exhibits it, refer to the blog post [elgg.org].
Known issues:
- After a user has authenticated in Moodle and accessed ELGG using the link in the integration block, a subsequent logout inside ELGG will make the links in the Moodle block result in "Access Denied". This is described in the forum post [moodle.org].