Skip to content
Stephen Hurwit edited this page Jul 15, 2022 · 6 revisions

Welcome to the LMS Building Block wiki!

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:

Courses

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.

Course Model

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

Assignment Model

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

User Model

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

Enrollment Model

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

Grade Model

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

Nudges

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.

Last Login Nudge

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.

Missed Assignment Nudge

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.

Completed Assignment Early Nudge

The "completed_assignment_early" (ID) Nudge will be sent when the users have completed an assignment before the due date.

Nudge Model

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

Integrations

Notifications Building Block Integration

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

Data Provider Integrations

The LMS BB provides access to external Learning Management Systems.

Canvas Integration

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)