...
If an edX exercise is graded, the result of a student's interaction should be passed back to the campus LMS to be stored in the gradebook. This project's scope only involves passing the score to the LMS, not how the campus system interprets or stores the result.
Grading in edX
Grade Generation
Grades in edX are dynamically generated on demand. The system traverses the XBlock tree for a given piece of work to determine both the maximum possible score for a given student, and the actual score obtained. For more details, see the edX grading guide for developers Grades Resources.
Grade Timing
...
Grades in edX may be modified after they are first recorded. This is generally the result of a change to the underlying assignment. For example, all students' work may be regraded if an instructor realizes that an accepted answer is incorrect, or if a new question is added to a problem set. As in the case of a delayed grade, the XBlock will generate an event that will notify us of an updated grade.
LTI Basic Outcomes Service
...
Of these three, we will only need to interact with replaceResult. Since there is no distinction made in the LTI spec between the initial setting of a grade and its subsequent update, we can use the same code for either case.
Grading Service Failure Cases
- Outcome service URL can change.
- Outcome service can be missing.
- Outcome service may not provide the replaceResult endpoint.
- LTI launch may not supply the required parameters.
...