Moodle Integration

Search for a solution

If you utilise Moodle as a VLE for your users, the Moodle integration module allows you to synchronise the Users, Courses, and Delegates created in your accessplanit platform to your Moodle platform!

As your Users, Courses and Delegates are sent over to Moodle at a click of a button, this greatly reduces administrative work to automate the boring, while also reducing the chance of human error when sharing data between the two systems!

Using the Moodle Integration

This is a chargeable module/integration, please speak to your CSM if you would like any more information about this feature.


What does Moodle Integration do?

Classroom & Webinar Courses

The Moodle Integration will schedule Classroom and Webinar courses in your Moodle environment, and enlist your Users onto the Courses in Moodle that they have booked onto in accessplanit!

You can decide which of your class and web accessplanit courses are sent to Moodle, and which ones you manage in accessplanit only by checking a checkbox called ‘Sync to Moodle’.

 

Sync to Moodle option on the edit Courses form

 

  • If you do not enter a Moodle ID for the course once you have checked this checkbox, then your accessplanit Moodle integration will create a new course for you in Moodle. Once the Courses has been logged in Moodle, Moodle will provide your accessplanit platform with the Course Moodle ID so that the Courses is sent over again!

  • If you would like to link a course in your accessplanit platform, to an existing course in Moodle, then you can add in the Course ID from your Moodle system, and your accessplanit Moodle integration will connect to that existing course instead of creating a new course for you in Moodle.

Once your accessplanit course is linked to a course in Moodle, it is ready for you to add delegates to it!

eLearning Courses

The Moodle Integration will link your accessplanit eLearning courses to your eLearning courses in your Moodle environment, and enlist your Users onto the Courses in Moodle that they have booked onto in accessplanit!

Please note that your accessplanit Moodle integration will not create eLearning courses in your Moodle system, these should already exist so that their Moodle Course ID can be added into your accessplanit platform.

You can decide which of your eLearning accessplanit courses are linked to your Moodle courses, and which ones you manage in accessplanit only by only providing the Moodle’s Course ID for the courses that you would like to link. This is set up in your accessplanit platform on your eLearning Course Templates.

 

Moodle ID option on the edit Course Templates form

 

  • If you do not enter a Moodle ID for your eLearning Course Template, then delegates that are added to this course in your accessplanit platform will not be sent to Moodle.

  • If you do enter a Moodle ID for your eLearning Course Template, then delegates that are added to this course in your accessplanit platform will registered on the corresponding course in Moodle.

Once your accessplanit eLearning Course Template is linked to a course in Moodle, it is ready for you to add delegates to it!

Process flows

Here is the Course Sync Process:

Course sync from accessplanit to Moodle flow chart

Here is the Delegate Sync Process:

Delegate sync from accessplanit to Moodle flow chart

Once the Courses and Users have been logged in Moodle, Moodle will provide us with the User Moodle ID and the Course Moodle ID so that the Courses and Users are not sent over again!

Updates from Moodle

If you would like, the accessplanit Moodle integration module is also able to:

  1. Send updated start and end dates/times from your accessplanit platform to your Moodle system when they are updated, keeping your courses in sync.

  2. Receive the score assigned to your delegates in Moodle, please note that the delegate status cannot be received from Moodle at this time.

Please let the accessplanit team know if you would like these enabling on your accessplanit Moodle integration.


Setting up Moodle for accessplanit integration

accessplanit require the following information from you to set up your integration with Moodle

  1. Your Moodle Site's URL

  2. Token

  3. The Category ID to be assigned to your courses

  4. The Role ID to be assigned to your delegates

Please follow these steps to gather this information:

How to set up a Moodle Token

The Token is used by accessplanit to connect to your Moodle system securely. It is the equivalent of a username and password.

  1. Before you can generate the Token, you must create a User

  2. To do this go to Site Administration > Users > Accounts section > Add a new user

  3. Provide your user with a Username i.e. accessplanit, an Authentication method of 'Manual accounts', provide them with a Forename, Surname, and Email Address, all other options are optional

  4. You then need to set up an External Service. To do this go to Site Administration > Plugins > Web Services section > External Services

  5. Click Add, provide a name for the Service i.e. 'accessplanit' and a shortname i.e. 'APIT',  and set it as enabled and for authorised users only. All other options are optional

  6. Assign the following Functions to your External Service:
       core_course_create_courses 
       core_user_create_users
       enrol_manual_enrol_users


  7. Assign the User created in step 1 as an Authorised user for the External Service.


  8. You then need to create the Token itself, to do this go to Site Administration > Plugins > Web Services section > Manage Tokens.

  9. Click Add', select the User created in step 1, select the External Service created in step 2 and Save.

    You'll then have access to the Token:

  10. Occasionally, you may not be able to generate the token due to the user account "missing capabilities" . To rectify this, navigate to Users >  Permissions > Define New Roles.

  11. Skip the Role Archetype section. Fill in all of the required details - give it a name such as API Role - and then tick all of the boxes next to Context types where this role may be assigned.

  12. Scroll to the bottom of the page and add any roles that are listed under the missing capabilities error message by typing them into the Filter bar and ticking the Allow box.

  13. Click Create this role to save your changes

    Navigate to Users > Permissions > Assign System Roles and add your accessplanit user to the role you've just created.

  14. Navigate back to Manage Tokens. You should now be able to generate the token as expected.

How to find your Moodle Category

  1. You need to decide which Category in Moodle you would like all of your Courses sent from accessplanit to be added to. You can either create a new dedicated Category or you can use an existing Category.

  2. You can access your Categories in Moodle by going to Site Administration > Courses > Manage Courses and Categories.

     

  3. To identify the Category's ID, click to Edit it and view the URL, the category ID will be at the end of the URL. Please note that it is not the 'Category ID Number' field.



How to find a Role ID

  1. You need to decide which Role in Moodle you would like all of your Delegate Enrolments to be assigned. The most common option here is 'Student'

  2. You can access your Roles in Moodle by going to Site Administration > Users > Permissions > Define Roles.

  3. To identify the Role’s ID, click to Edit it and view the URL, the Role ID will be at the end of the URL. 




How to use Moodle Integration for Classroom and Webinar courses

  1. If you would like to send a course to Moodle, you need to check the Sync to Moodle box on the Course.

     

  2. Once you click Sync to Moodle you will be able to provide your course with a Moodle ID. If you do this accessplanit will not create a new course in Moodle.

  3. If you have not provided a Moodle ID,  the course will be sent to Moodle this will generate a 'Moodle ID' which will be sent back to accessplanit and stored against your course.

  4. The following information is sent to Moodle from accessplanit:

  • Course Label

  • ID

  • Aims text (from Course Template)

  • Start Date

  • Category Number


How to use Moodle Integration for eLearning courses

  1. If you would like eLearning Delegates in your accessplanit platform to be automatically enrolled on your eLearning course in Moodle, you will need to make the following changes to your Course Template in accessplanit:

  2. At the bottom of your Course Template details enter the Moodle ID 


  3. You can gather the Moodle ID for the course by logging into Moodle, editing your Course, and copying the ID from the URL. Please note that it is not the 'Course ID Number' field.




How to use Moodle Integration for Users

  1. When you make a booking onto a Moodle Course, either Classroom, Webinar or eLearning, the integration will first check if the User being booked onto the course has a Moodle ID yet.

  2. If the User does not yet have a Moodle ID, your accessplanit platform will send their details over to Moodle. It is Moodle's responsibility to send out their new log in details for Moodle so that the User can log into their Moodle account.

  3. The following information is sent to Moodle by accessplanit for new users:

     

  4. When a User has been successfully generated in Moodle, Moodle will post back the ID of the User in Moodle into the MoodleID field within accessplanit.

 


How to use Moodle Integration for Delegates

  1. When a User with a Moodle ID is booked onto a Moodle Course, your accessplanit platform will send this information to Moodle so that they are enrolled on the course:

Accessplanit Field

Moodle Field

Course Template or Date: Moodle ID

Course: ID

User: Moodle ID

User: ID

Moodle User Role

User Role

 


Troubleshooting synchronising issues

Here are some common issues that we see when synchronising courses and delegates to Moodle and how to solve them!

If you are having trouble with your delegates in accessplanit sending successfully to Moodle, please check the following:

  1. One delegate is not sending over correctly to Moodle
    Check that the Moodle ID assigned to the user in your accessplanit platform is correct. This issue may occur if the user has been deleted in Moodle, and now your accessplanit platform has an old ID stored. The integration will fail if the Moodle ID stored against the user in your accessplanit platform does not link to an existing user in your Moodle system.
    To resolve this, you can either change the Moodle ID on the user to be the correct Moodle ID, or remove it to have a new user created in Moodle. Your accessplanit platform will have generated a Workflow Instance for sending this delegate to Moodle, this will need to be retriggered for the delegate to be sent across successfully, please get in touch with a member of accessplanit’s support team if you would like any support with this process,

  2. No delegates are sending to Moodle
    Check that your admin account has the correct roles set up for the integration. Please follow the steps 7 to 13 above in the 'Setting up Moodle for accessplanit integration' section to ensure your admin account has all of the necessary roles to create users and delegates in your Moodle system.


FAQs

Can my accessplanit Moodle integration link a user in accessplanit to a user in Moodle based on their name or email address?

It isn’t possible to link the users based on their name or their email address as these are not always reliable (such as people sharing email addresses). The integration can only link a user in accessplanit to a user in Moodle using their Moodle ID. To avoid duplicate users being created in Moodle, we recommend making sure that your students in Moodle have been set up in accessplanit and have their assigned Moodle ID added against their user before you begin registering your delegates to your courses.

If I delete or transfer a Delegate in accessplanit will this update Moodle?

No, currently the integration only creates in Moodle, no updates are processed.

When a user completes an eLearning course in Moodle will this information be passed back to accessplanit?

The score of the Delegate will be passed back to accessplanit, though this will not be visible in the eLearning Delegates Smart Grid. Their completion status will not be passed back to accessplanit.