Moodle Sync to ampEducator Guide Checklist:

  1. Moodle Account
  2. Overview
  3. What does ‘Sync’ actually do?
  4. Setup – In Moodle
  5. List of Required Functions in Moodle
  6. Setup – In ampEducator: Institution Configuration
  7. Setup – In ampEducator: Enable Moodle Sync
  8. Troubleshooting – In ampEducator: Moodle Sync Log


1. Moodle Account


Before the setup of Moodle Sync to ampEducator, you must have a Moodle Account. While we do support the setup of this feature, ampEducator Inc. does not provide hosting or support for the setup of Moodle products. We recommend if you do not have a Moodle Account that you obtain one from MoodleCloud.com or contact a certified Moodle Partner/Hosting Provider for help.


2. Overview


This Moodle Sync Guide describes the setup steps that allow you to ‘Sync’ course enrollment and grade data between ampEducator and Moodle. The intended purpose for Moodle Sync to ampEducator is to create Students Enrolled in ampEducator Courses to the matching Moodle Course and then pass the Grades from Moodle back to ampEducator. However, there are minor variations that can be used with Sync – for example, if Students exist in Moodle already the Grades can still ‘Sync’ from either system as long as the Student email matches in both systems.


3. What does ‘Sync’ actually do?


The data ‘Sync’ between Moodle and ampEducator refers to the following specific actions:


  1. Student Enrollment. ampEducator can create students when they exist in one system and not the other (ampEducator to Moodle OR Moodle to ampEducator) if this option is selected ie. Course > Moodle > Create Students = Checked (yes).
  2. Grades. Grades can Sync as follows:
    1. Latest Submitted. Sync both systems to the latest submitted grade.
    2. Always Moodle. Replace all local grades with Moodle grades.
    3. Always Local. Replace all Moodle grades with local grades.


4. Setup – In Moodle


In order to setup Moodle Sync to ampEducator, you must have Admin level access for Moodle. The following 6 Steps that need to be done in Moodle are:


  1. Enabling the REST Protocol
  2. Add a Service called ‘ampEducator’
  3. Add the List of Required Function in Moodle (below) to the ampEducator Service.
  4. Create a Token and assign to ampEducator Service
  5. Locate your Student RoleID #
  6. Copy Token and Student RoleID# to ampEducator.


5. List of Required Functions in Moodle


Note: The following functions must all be added to Moodle, if you don't see these functions when you search for them you likely have to upgrade to a newer version of Moodle. Release 3.7.1+ (Build: 20190824) is the minimum version currently supported.


List of Required Functions:


core_webservice_get_site_info

core_course_get_categories

core_course_get_courses_by_field

core_course_get_course_module

core_enrol_get_enrolled_users

core_grades_update_grades

core_user_get_users

core_user_create_users

core_user_delete_users

enrol_manual_enrol_users

enrol_manual_unenrol_users

gradereport_user_get_grade_items


Step 1. Go to Site Administration > Plug Ins > Manage Protocols > Enable REST


Step 2. Go to Site Admin > Plug Ins > External Services and create one called 'ampEducator Service' - it can be any name but you should refer to ampEducator to avoid confusion.


Step 3. To Add the List of Required Functions (above) to the 'ampEducator Service' click ‘Add Function’ and then the most effective way to is to copy and paste each one from the list and 'search' from available functions. If the Function is available in your version it will appear in the Search box.


Note: If the function name above doesn't come up exactly - then you need to upgrade to a newer version of Moodle.


Step 4. Create a token for the user you are using with ampEducator and assign the 'ampEducator Service' to that token.


Step 5.  Locate the Student RoleID. The student role id can be found by navigating to Site Administration / Users / Permissions / Define Roles / Student Role in your Moodle account and reading the roleid at the end of the URL in the address bar. If you are unsure then you can try using "5" as this is typically the default.


-----------------

Example: 


https://yoursubdomain.moodlecloud.com/admin/roles/define.php?action=view&roleid=5


Therefore, Student Role ID = 5.

-----------------


Step 6. Copy & Paste the Token and Student Role ID from Moodle to ampEducator. See next section Setup – In ampEducator: Institution Configuration.


6. Setup – In ampEducator: Institution Configuration


Go to the pulldown menu User Account (top right under User Name) > Institution Config > Courses > Moodle.

Scroll to the bottom and click " Moodle Integration = Yes"

Enter your Moodle URL installation


Note: The url should include http:// or https:// and point to the base of your Moodle installation i.e. www.yourdomain.com/moodle.


Copy your User Token from Step 4 – In Moodle.

Copy your Student Role ID from Step 5 – In Moodle.

Click "Test & Save". 

If you get "Requirements Met = Yes" then you have successfully configured the Moodle Sync. You can now proceed to Setup – In ampEducator: Enable Moodle Sync.


Note: If Requirements Met = No then ‘View Log’. If you are unsure of how to correct the problem in the log. Please contact support@ampeducator.com and include a copy of the log.


7. Setup – In ampEducator: Enable Moodle Sync


Once you have completed the setup above, you will be able to Sync and Course in ampEducator with any Course in Moodle.


Go to any Course and access Course > Moodle > Click ‘Enable Moodle Sync’


The following window options will appear:


  1. Moodle Category. Select your Moodle Category. 
  2. Moodle Course. Select the Course in Moodle you wish to Sync with.
  3. Daily Auto Sync. If you wish to automatically Sync Daily, check this.
  4. Create Students. ampEducator can create students when they exist in one system and not the other if this option is selected.
  5. Charge Fees. If you would like to Charge or Invoice any Student that is enrolled from Moodle with the Academic Session Fees that the Course is assigned to or Course Fee(s) that you have added to the Course then select either Charge Account or Invoice Account.
  6. Grade Sync Type. 
    1. Latest Submitted will sync both systems to the latest submitted grade.
    2. Always Moodle will replace all local grades with Moodle grades.
    3. Always Local will replace all Moodle grades with local grades.
  7. Course Final Type. Configures how the Course final mark will be calculated using either Moodle or Local (ampEducator) Calculations.
  8. Sync Now. This will Sync the Courses from both systems immediately.


Note: Click ‘Disable Moodle Sync’ to stop the Sync with the Moodle Course.

8. Troubleshooting – In ampEducator: Moodle Sync Log


If Sync is successful you will see ‘Completed’ in the Log. If you have any issue with your Sync it will be listed in the Moodle Sync Log as ‘Error’. You can click the Magnifying Glass Icon  to the right to download and view the log details. If you are unsure of how to correct the problem in the log. Please contact support@ampeducator.com and include a copy of the log.