Closed PasiSa closed 8 months ago
I understood that @PasiSa is working on this so I assigned the issue to him.
Having problems setting up a proper environment for locally testing and developing this, I ran out of time, and therefore unassigning myself.
When an ACOS exercise is submitted and A+ operates as an LTI tool, the points are not sent back to LTI platform (typically MyCourses in Aalto). send_lti_points in lti_tool/utils.py fails to find the launch data with needed information, and LtiException is raised. The difference to other kinds of exercises that do work with LTI is, that with ACOS exercises the submission metadata does not contain 'lti-session-id', but only 'lti-launch-id', which does not seem to be sufficient in this case. The session-id should be set here in create_from_post method.
A possible (but perhaps not ideal) solution could be to have the ACOS server echo the original initiating lti-session-id in the similar way than it echoes the lti-launch-id, as implemented in earlier a-plus and acos-aplus commits.
Fixing this should be quite high priority, because there are ongoing courses depending on this feature, that is intended to replace the functionality of the Moodle-Astra plugin that will be rolled out soon.