Closed VirtualDiegox closed 1 year ago
Please check if the necessary parameters for sending back the grade to the LMS are already available using the
session_lti_info()
method from the object:user_manager
.An example of this usage can be found in the
lti_outcome_manager.py
file and the_before_submission_insertion
method.
This was the first approach, but the problem is that the method session_lti_info()
returns None if the session is not an LTI session, even if this is changed the session opened through the client grader library does not have the necessary parameters for sending back the grade to the LMS and the key is that the session opened through the client grader library and the session opened through the LMS are not the same, in this last case the parameters necessary for sending back the grade are saved in the session when is opened through the LMS, but when the user is conected through client grader, the session is a new one, so this session has not access to the information of the LTI session, that's why i thought in store the necessary parameters in a new collection.
Description
Now when a submission is made externally, if the task is LTI and send_back_grade is true, the grade is sent to the LMS. The only condition for this is that the user must open the LTI task through the LMS before submit the task, in order to save the data to send the grade. Changes in client grader lib were made in order to give feedback if a user tries to do a submission without open the LTI task through the LMS
Type of change
How Has This Been Tested?
This was tested on my own development environment, doing submission externally and checking the task in a test course on Edunext platform
Checklist: