To integrate Moodle with Mahara follow the steps:
- First install both Mahara and Moodle.
- Logged into Moodle as an administrator.
- From the settings block click on Site administration > Advanced features . Turn the Networking “ON” and click save changes.
Next we need to enable networking on Mahara.
- Logged into Mahara as administrator.
- Click on Site administration. Under the configure site settings click “Networking”. On this page www root should be listed. This is the address at which your Mahara site can be accessed and you have to enter this address into your Moodle site later on. Then there is a Public encryption key which is used to lock the data and when it expires Mahara will automatically generate a new key. We supply this key to other servers, and they use it to encrypt data that they want to send to us. They know that the data it encrypts can only be decrypted by us, as we hold the corresponding private key.
- Click on the Enable Networking dropdown menu and choose “Yes”. Click on Save changes button to save it. You will get a notification that Networking has been enabled. Auto-register has been disabled.
- Now click on the Institutions tab in the site menu.
- Click on “Add institution” button in the table to add a new institution.
Settings on Institution page :
- Institution Name – Give your institution a name. Name should contain only letters, spaces and numbers are not permitted. Eg – MaharaMoodle
- Institution display name can include spaces and numbers. Eg- Mahara Moodle
- Click on “Submit” at the bottom of the page to save your settings.
- Choose “xmlrpc – Authenticate by SSO from an external application” from the Authentication plugin drop down menu and click on plus sign besides that menu to add a new authentication method.
- A new window will open, displaying the configuration options for XMLRPC plugin.
- Authority name – will identify this authority to you, the adminstrator. Eg- Mahoodle XMLRPC
- www root should be exactly the same what is specified in Moodle’s config.php
- Choose the site name.
- Choose the application that is being hosted at the remote site from the drop down menu. For our case choose Moodle.
- Tick the box besides “They SSo in”. It permits users who log in Moodle to enter your Mahara site without having to log on again.
- Enable “Update user info on login” which allows Mahara server to check that the user hasn’t changed his detail on Moodle each time he logs in, and if he has, update his Mahara user record with those same details.
- To automatically create users enable “we auto-create users” options so that a Mahara record is automatically created for every Moodle user who clicks on the SSO link to be signed on to Mahara.
- Click on “Submit” button to save it. The window will close.
You will notice that the authentication plugin you have added will appear on the Administer institution page.
- Now add one more authentication plugin for allowing Mahara users to roam to Moodle site without login to Moodle site same as you added earlier except one setting i.e. choose ‘We SSo out’ in SSO direction and save it.
- Now click on “Submit” button at the bottom of the page to save it. Your Institution name will appear in the table.
Next go back to your Moodle site.
- From the site administration menu, choose Networking > Manage Peers. Under ‘Add a new host’, enter the “WWW Root” value from your Mahara site into the field. You can find this in the network administration page of your Mahara site. Choose ‘Mahara’ from the drop down menu and click on “Add host”. Moodle will fetch the public encryption key from the Mahara server and display it on the next screen. You can change your site name if required otherwise leave as default and save the changes.
- Click on “Services” tab to set up SSO with Mahara. Scroll down in the SSO (Identify Provider) enable both Publish and Subscribe option. In the SSO (Service Provider) enable both Publish and Subscribe option and then click on save changes button to save it.
- Now go to Site administration > Plugins > Authentication > Manage authentication. Enable the MNet authentication plugin and save the changes.
- Final thing left is enabling SSO with Mahara, is to give your users permission to roam to other sites in the Moodle Roles system. Choose site administration > Users > Permissions > Define roles . Click on ‘Edit’ icon for the ‘Authenticated Users’ role and scroll to a option “Roam to a remote application via MNet” and tick in the allow box besides it. Click on save changes at the bottom of the screen.
- Navigate back to the Moodle homepage and click on “Turn editing on”. From the ‘Add block’ menu add the Network server block, your Mahara server should be listed in it alongside its mini-icon.