For Developers
Supported Functionality
This document outlines the supported functionality of the Moodle integration with Edlink. This includes authentication, SSO, data synchronization, and supported actions. The functionality reflects Edlink's interpretation of Moodle data, as facilitated by the Edlink-provided plugin.
Supported Functionality Overview
Authentication
- OAuth2 Authentication:
- Secure access to Moodle's API is achieved through OAuth2.
- The Edlink plugin manages access tokens, including refreshing them when they expire.
- Web Service API Tokens:
- Some data, like assignments, is accessed via Moodle's web service API using tokens provided by a Moodle administrator.
- The plugin handles automatic refresh and secure token storage.
Single Sign-On (SSO)
- Supported SSO Features:
- Allows users to seamlessly log into Moodle via Edlink.
- Users authenticate once with Edlink and can access Moodle without additional logins.
- Supports linking user accounts in Edlink to their Moodle accounts for consistent identity management.
- Key Benefits:
- Streamlines the login process for students and teachers.
- Reduces administrative overhead by managing access centrally via Edlink.
Synchronization Features
Rostering
The integration supports synchronization of rostering data, allowing for seamless sharing of information about districts, schools, users, and enrollments.
- Districts:
- The main category in Moodle (ID
1
) is treated as a district in Edlink. - Action: Listing districts.
- The main category in Moodle (ID
- Schools:
- Other Moodle categories are treated as schools in Edlink.
- Action: Listing schools.
- Courses and Classes:
- Moodle courses are treated as both courses and classes in Edlink.
- Actions: Listing courses/classes, retrieving names, descriptions, and state (active/inactive).
- People:
- Moodle users (e.g., students, teachers) are mapped to Edlink people.
- Actions: Listing users, retrieving attributes such as:
- First Name, Last Name, Middle Name, Display Name.
- Email, Time Zone, Locale.
- Picture URL.
- Enrollments:
- Tracks the association between users and courses.
- Actions: Listing enrollments, retrieving state and role.
Coursework
The integration supports Moodle assignments and submissions, enabling synchronization of coursework data.
- Assignments:
- Actions:
- List, Read, Create, Update, Delete assignments.
- Fields:
- Title, Description (plaintext and HTML).
- Display Date, Due Date, End Date.
- Points Possible, Grading Type, Submission Types, Assignee Mode, State.
- Actions:
- Submissions:
- Actions:
- List, Read, Update submissions.
- Fields:
- State, Grade Points, Submission Attempts.
- Actions: