-
Giovanni Cimolin da Silva authored
* Write score linking ADR * Formatting fixes * Nit * Addressing review comments * Final implementation * Nit * Updating ADR given discussions
Giovanni Cimolin da Silva authored* Write score linking ADR * Formatting fixes * Nit * Addressing review comments * Final implementation * Nit * Updating ADR given discussions
LTI Advantage AGS Score Linking
Status
In Review
Context
LTI Advantage provides new ways for LTI tools to push grades back into the platform through the Assignment and Grades Services (AGS), which don't map 1:1 with the grading and gradebook structure present in Open edX.
There's two models of interaction to pushing grades to the platform in the LTI AGS services:
- Declarative: the platform creates a LineItem (equivalent of a gradebook line/grade) and tools can only push results to that item.
- Programmatic: the tool uses the AGS endpoints to manage it's own line items and grades. The tool is responsible for linking each line item to the resourceLinks, which means that a tool might not link a grade to it's respective problem.
See a more detailed description in the Coupled vs decoupled line items section of the spec.
Decisions
Given the platform's fixed gradebook structure, we'll implement the declarative interaction model detailed in the LTS-AGS Spec - Declarative interation model.
In the future, we want to enable the platform to have full LTI Advantage compatibility, so we need to allow both the declarative and programmatic interaction models to happen. There's already full support for the programmatic approach, but we decided to restrict the tool's access since we don't want to deal with mixing and averaging multiple grades in the current implementation.
Declarative grade handling
When the LTI configuration is created, a signal should trigger the creation of a LineItem if the tool is configured to use the declarative model. The LineItem created will have the following attributes:
Attribute | Value |
---|---|
lti_configuration | LTI configuration just created. |
resource_id | Blank, this is used by LTI tools in the programmatic interaction model. |
label | The problem title, derived from the block's attributes. |
score_maximum | Maximum score for this given problem, derived from the block's attributes. |
tag | Blank, this is used by LTI tools in the programmatic interaction model. |
start_date_time | The problem's start date, if available in the block's attributes. |
end_date_time | The problem's end date, if available in the block's attributes. |
Consequences
This will NOT make the platform LTI compliant since it doesn't allow the programmatic grade interaction.