For Developers

Implementation Details

Our integration with Moodle requires the installation of a plugin that we wrote and maintain.

This document explains how we interpret and organize Moodle data using our custom plugin. Keep in mind that some features reflect how Edlink processes Moodle data, rather than Moodle's own design.

Entity Mapping

EdlinkMoodleNotes
DistrictsRoot CategoryThe main Moodle category (ID 1) is treated as a district in Edlink.
SchoolsCategoriesOther categories below the root are treated as schools in Edlink.
CoursesCoursesMoodle courses are mapped to Edlink courses.
ClassesCoursesMoodle courses are also treated as classes.
PeopleUsersMoodle users (e.g., students, teachers) are converted into Edlink people.
EnrollmentsEnrollmentsEnrollments link users to courses or classes.
AssignmentsAssignments--
Work SubmissionsSubmissions--

Integration Notes

  1. Plugin Use:
    • The Edlink plugin enables OAuth2-based synchronization between Moodle and Edlink.
    • It also facilitates access to both standard and custom Moodle APIs.
  2. Web Service API:
    • Some data, like assignments, is fetched through Moodle's web service APIs using a generated token.
    • Token management includes auto-refresh and secure storage.
  3. Data Transformation:
    • Moodle’s hierarchy of categories and courses is interpreted to fit Edlink's district, school, class, and course structure.
    • User data, like names and emails, is standardized to align with Edlink’s schema.

If you encounter additional issues or need assistance with specific configurations, please contact Edlink support or your Customer Success Manager.