Tuesday 18 October 2011

Enabling SSO between Moodle and Mahara (Mahoodle)

There are a couple of documents you can look at to help you get you Moodle and your Mahara talking.

There is this PDF which is a bit out of date for Moodle 2.0 and there is this slideshow which has details for 1.9 and 2.0.

I am writing this as I read through the PDF as not everything in there is correct for my Moodle 2.0 build. I only found the slideshow version after I'd finished so I can't vouch for it. I suggest you have this post, the PDF and the slideshow open and go through reading all three at each stage.

Have a Moodle and a Mahara set up. I'm running a Moodle 2.0.3 and a Mahara 1.4

In Moodle, log in as admin. Go to Site administration > Advanced Features > Networking dropdown to On (I also enabled Portfolios while I was there, I don't know if this makes a difference.). Save Changes

In Mahara (as an admin) click on Networking under Configure Site. Enable Networking dropdown to Yes.

Save changes.

Still on Mahara, go to Admin home and click on Institutions under Manage Institutions.

The PDF says at this point you can either edit the default institution or add a new one. Seeing as this Mahara might be used with more than one Moodle I am adding a new institution.

Fill the Institution Name. This can be only letters, no spaces or numbers.

Fill in the Display Name. This can contain letters, numbers and spaces.

Click Submit.

I think, going forward, you can change the Display Name. The Institute name can't be change but it isn't seen by users.

Still on the Administer Institutions page, from the Authentication Plugin dropdown choose XMLRPC and click Add. You'll get a popup. Enter an Authority Name. Only Admins will see this. I used "Learning XMLRPC" because I think I'll have to set up another one for the Student Association Moodle.

The Parent Authority is not in the same place as it is in the pdf, it's a bit further down. I've left it as none.

In the WWWroot box enter the web address of your Moodle including the http. For me this is http://moodle.companyname.org.uk

The pdf doesn't mention what to put in the Site Name box. From the help popup I think this is how the Mahara will refer to your Moodle so I've put "Learning Site" Hopefully this can be changed later.

Choose Moodle from the Application dropdown adn leave the port alone unless you know what this is. I don't.

I've chosen "They SSO in" from the dropdown and ticked all three of the boxes below. I think this means users can access the Mahara from the Moodle site (they will be automatically signed in to Mahara), Mahara will check the Moodle database for changes and update its own database every time a user logs in, Mahara will automatically create a database entry is it is a new user and finally users can import content from Moodle.

Click submit.

The popup should close and your new XMLRPC authentication plugin instance should appear on the Administer Institution page next to Authentication Plugin. If you've done something wrong you'll get an error message. Double check your settings. I can't offer you any more advice than that cuz mine worked. *smug*

Everything else on the Administer Institution page should be fine so click submit.

Back on Moodle go to Settings > Site Administration > Advanced Features > Networking > Manage Peers

Under Add New Host enter your Mahara web address including http and select Mahara from the Application Type dropdpwn. Click Add Host.

You should get a page with a big block of seemingly random letters. This means it has worked. You can change what is in the box marked Site. I think this is how Moodle refers users to your Mahara and is editable later too. Click Save Changes, the same you should get a changes successful message before being redirected back to the same page with new tabs at the top.

Click the services tab.

Leave Remote enrolment service and Portfolio services alone for now because the PDF is out of date and I don't know what those are for. Under SSO (Identity Provider) check Publish and under SSO (Service Provider) check Subscribe. Click Save Changes.

Go to Settings > Site Administration > Advances Features > Plugins > Authentication > Manage Authentication and open the eye next to MNET Authentication. (MNET means Moodle Networking which is what it used to be called.)

You don't have to change any of the settings associated with this plugin but if you go into them you'll see the list of sites in your Moodle network, at this stage this should just be your Mahara.

Go to Settings > Site Administration > Advanced Features > Users > Permissions > Define Roles. Select Authenticated user and click the edit icon. Scroll to "Roam to a remote application via MNetmoodle/site:mnetlogintoremote" and check Allow. Save Changes.

Go to your Moodle homepage and turn editing on. Add a Network Servers block. This should have your Mahara in it and allow your users to be automatically logged in.

It didn't work for me and I don't know why yet so I'll update this post when I suss it out.

Edit: OK, so I went back into the Define Roles page and for some reason the box Roam to remote applications box wasn't checked even though I had checked it. Either way I checked the box and made sure I saved the changes and now the Network Server box displays the Mahara link properly. Success!

Edit 2:  I just set up SSO from a second Moodle (the Student Association site) to this Mahara following these instructions and it worked like a charm.  So my Mahara is set up so that users can access it directly from either of the Moodles but not from the Mahara sign in itself.

No comments:

Post a Comment

Comment