-
Notifications
You must be signed in to change notification settings - Fork 0
Home
The LMS Building Block (LMS BB) is the service responsible for providing access to integrated Learning Management Systems (LMS) for the Rokwire platform. This Building Block is currently designed to act as a middle-man for access to LMS data.
API level documentation for this Building Block can be accessed by visiting https://api.rokwire.illinois.edu/lms/doc/ui/. This documentation conforms to the OpenAPI 3.0 standard. For the raw YAML documentation, you can visit https://api.rokwire.illinois.edu/lms/doc.
This Wiki provides an overview of the functionality included in the LMS Building Block. It includes the following sections:
The LMS BB is primarily responsible for managing access to student course information provided by an integrated LMS. Students can retrieve a list of their courses by making a request to the GET /courses endpoint.
Courses contain the following data:
| Name | Key | Type | Required | Description | Example |
|---|---|---|---|---|---|
| ID | id |
string | true | The unique identifier for this item | c8822479-3c88-49f8-8a3b-ec4952cab9e3 |
| Name | name |
string | true | The name of this course | Psychology 101 |
| Access Restricted By Date | access_restricted_by_date |
boolean | true | A flag indicating that the user is restricted from seeing this course based on the date | false |
Assignments represent individual assignments. Students can retrieve the assignments for their courses by making a request to the GET /courses/{id}/assignment-groups endpoint.
Assignments contain the following data:
| Name | Key | Type | Required | Description | Example |
|---|---|---|---|---|---|
| ID | id |
string | true | The unique identifier for this item | 2dccc728-875f-4368-b228-7aca9be84c80 |
| Name | name |
string | true | The name of this assignment | Chapter 1 Review Essay |
| Course ID | course_id |
string | true | The ID of the associated Course | c8822479-3c88-49f8-8a3b-ec4952cab9e3 |
| HTML URL | html_url |
string | true | The URL where the HTML content of the assignment can be found | https://www.example.com/assignments/2dccc728-875f-4368-b228-7aca9be84c80 |
| Position | position |
int | false | The index of this assignment when displayed in a group | 3 |
| Due At | due_at |
DateTime | false | The DateTime at which this assignment is due | 2022-06-06T15:00:00Z |
Users represent users of the Data Provider system. A student may retrieve their User record for a given class by making a request to the GET /courses/{id}/users endpoint.
Users contain the following data:
| Name | Key | Type | Required | Description | Example |
|---|---|---|---|---|---|
| ID | id |
string | true | The unique identifier for this item | 2dccc728-875f-4368-b228-7aca9be84c80 |
| Name | name |
string | true | The name of this user | Jane Doe |
| Last Login | last_login |
DateTime | false | The DateTime at which this user last logged into the Data Provider system | 2022-06-06T15:00:00Z |
| Entrollments | enrollments |
list (Entrollment) | true | List of enrollments of this student | Jane Doe |
Enrollments represent the enrollment of a User in a specific Course. Enrollments contain the following data:
| Name | Key | Type | Required | Description | Example |
|---|---|---|---|---|---|
| ID | id |
string | true | The unique identifier for this item | 2dccc728-875f-4368-b228-7aca9be84c80 |
| Type | type |
string | true | The type of enrollment this is. Options include StudentEnrollment, TeacherEnrollment, TaEnrollment, DesignerEnrollment, and ObserverEnrollment
|
StudentEnrollment |
| Grade | grade |
Grade | false | The User's Grade in the enrolled Course |
Grades represent the grade of a student in a particular Course. Grades contain the following data:
| Name | Key | Type | Required | Description | Example |
|---|---|---|---|---|---|
| Current Score | current_score |
float | false | The User's current score in the Course | 94.6 |
The LMS BB automatically sends nudges to students in supported courses notifications reminding them of important dates. Nudges are sent through the Notifications Building Block Integration.
The "last_login" (ID) Nudge will be sent when the users have not logged into the Data Provider system in a set amount of time defined in the "hours" Param.
The "missed_assignment" (ID) Nudge will be sent when the users have not submitted an assignment after a set amount of time defined in the "hours" Param.
The "completed_assignment_early" (ID) Nudge will be sent when the users have completed an assignment before the due date.
Nudges contain the following data:
| Name | Key | Type | Required | Description | Example |
|---|---|---|---|---|---|
| ID | id |
string | true | The unique identifier for this nudge | last_login |
| Name | name |
string | true | The name of this nudge | Last Canvas use was over 2 weeks ago |
| Body | body |
string | true | The body text of this nudge | You have not used the Canvas Application in over 2 weeks. |
| Params | params |
map (string : any) | true | Params used to configure the nudge | "hours": 336 |
The LMS BB integrates with the Notifications Building Block to deliver [Nudges] as Notification Messages. To enable this integration, the following environment variables must be configured:
- LMS_NOTIFICATIONS_BB_HOST: The base URL of the Notifications Building Block
- LMS_INTERNAL_API_KEY: The internal API key used to authenticate with the Notifications Building Block
The LMS BB provides access to external Learning Management Systems.
The Canvas LMS integration allows students to retrieve their Course information from Canvas. This request makes use of the user's "net_id" external ID to limit access to each user. To enable this integration, the following environment variables must be configured:
- LMS_CANVAS_BASE_URL: Canvas base URL for API calls
- LMS_CANVAS_TOKEN: Canvas token that will be used for auth with Canvas APIs
- LMS_CANVAS_TOKEN_TYPE: Canvas token type (e.g Bearer)