[Draft] Multi-score support in Open edX
Open edX course content components have a single score. This proposal explores use cases where associating a single course component with multiple independently identifiable scores would be helpful.
Use Case 1: Supporting Competency-Based Education in Open edX
Open edX associates one score with a course component. This works for components that produce a single result, but it does not fully support activities that may evaluate learners against multiple competencies or criteria.
To support competency-based education, Open edX should be able to associate separate competency-level scores with the same content component. The platform should be able to store, display, and use those scores in completion/grading calculations.
Use Case 2: Receiving Multiple Scores from an LTI Tool
Some LTI tools, such as Author by Muzzy Lane, can generate and post multiple scores for an activity represented by a single Open edX LTI Consumer XBlock.
Open edX can receive and store multiple scores posted to those line items. These records are available in the LTI model, but they are not connected to the Open edX gradebook. The LTI consumer XBlock only receives the latest score.
Supporting multiple scores/XBlock in OEX means:
Having those scores contribute towards course grade and completion
Making grades visible to learners and instructors
A simpler way to do this is to skip modifying the gradebook and only get aggregated scores per component. And use the lti_consumer_XBlock model to directly power instructor and learner views in Grading MFE and progress page.
However, full support will likely require modifying the gradebook to accommodate multiple scores for a course component.
Use Case 3: Sending Multiple Scores Through LTI
When Open edX content is delivered to another learning platform through LTI, Open edX currently sends scores based on the Open edX grading model. Since each XBlock has only one grade in that model, Open edX sends only one score for each XBlock.
If an embedded LTI tool, such as Author by Muzzy Lane, generates multiple scores for a single XBlock, Open edX may receive and retain those scores at the LTI layer. However, Open edX cannot currently transmit those individual scores to the external learning platform consuming the Open edX content.
When Open edX acts as an LTI tool provider, it should be able to send multiple independently identifiable scores for a single content component to the consuming learning platform. This may be supported either through the Open edX grading model, if the scores become native gradebook items, or through a bridge that reads directly from the LTI score records.
Open questions
Which use case should drive the first increment: local visibility, aggregation, downstream LTI passback, or competency-based education?
Should Open edX support one aggregate grade for a component that has multiple scores? If yes, what should the aggregation policy be like?