Setting up Moodle Integration
Prerequisites
- Administrator access to SELMA and your Moodle instance
- Moodle Web Services enabled and configured
- Integration enabled in SELMA by SELMA support
Moodle Configuration Steps
- In Moodle, go to Site Administration > Plugins > Web services
- Enable Web Services if not already enabled
- Enable REST protocol if not already enabled
- Create a role for web services with the following capabilities:
- moodle/course:view
- moodle/course:viewhiddencourses
- moodle/course:viewparticipants
- moodle/course:viewhiddenactivities
- moodle/course:viewhiddensections
- moodle/course:viewsuspendedusers
- moodle/grade:view
- moodle/grade:viewall
- moodle/grade:viewhidden
- gradereport/user:view
- moodle/site:accessallgroups
- moodle/user:viewdetails
- moodle/user:viewalldetails
- moodle/user:viewhiddendetails
- webservice/rest:use
- Create a custom service (or use an existing one) with the following required functions:
- core_user_get_users
- core_webservice_get_site_info
- core_course_get_courses
- gradereport_user_get_grade_items
- core_completion_get_course_completion_status
For more detailed information about setting up web services in Moodle, visit: https://docs.moodle.org/en/Using_web_services
SELMA Configuration Steps
- Navigate to Integrations > Moodle in SELMA
- Configure the following settings:
- Endpoint: Your Moodle URL (e.g., https://moodle.yourdomain.com)
- Token: The web service token created in Moodle
- Default Teacher Role: Usually ‘editingteacher’
- Default Student Role: Usually ‘student’
- Groups Enabled: Enable if you want SELMA classes to sync as Moodle groups
- Limit User to Group: Enable if users should only see their group members
Testing the Integration
- Use the “Test Connection” button to verify your configuration
- Check the logs section for any errors if the test fails
Important Notes
- Keep your web service token secure
- Monitor the logs regularly for any sync issues
- Contact SELMA support if you need assistance