Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A+ LTI Tool sends LTI grades to the Platform on non-LTI courses due to leftover LTI session #1297

Closed
markkuriekkinen opened this issue Oct 26, 2023 · 2 comments
Assignees
Labels
area: LTI LTI protocol (Learning Tools Interoperability, worldwide standard) effort: hours Estimated to take less than one day, from the creation of a new branch to the merging experience: moderate required knowledge estimate requester: team The issue is raised by a person inside the A+ developer team type: bug This is a bug

Comments

@markkuriekkinen
Copy link
Contributor

If a student has used some A+ course via an LTI Platform like Moodle (A+ as the LTI Tool v1.3) and then the student goes to the normal A+ site to work on another course that does not use LTI, then A+ tries to send LTI grades to the LTI Platform on the other course as well. This causes errors: A+ crashes and the LTI Platform responds with errors to the grading messages (the Platform does not have grade items corresponding to the other course).

Since the student's A+ session includes LTI session ids, A+ thinks that the student is still using the LTI Tool even though the student is now using A+ directly and normally without LTI.

@markkuriekkinen markkuriekkinen added type: bug This is a bug area: LTI LTI protocol (Learning Tools Interoperability, worldwide standard) effort: hours Estimated to take less than one day, from the creation of a new branch to the merging experience: moderate required knowledge estimate requester: team The issue is raised by a person inside the A+ developer team labels Oct 26, 2023
@markkuriekkinen markkuriekkinen moved this to In Progress in A+ sprints Oct 26, 2023
@markkuriekkinen markkuriekkinen self-assigned this Oct 26, 2023
markkuriekkinen added a commit to markkuriekkinen/a-plus that referenced this issue Oct 26, 2023
When LTI grades are sent to the LTI Platform, ensure that
the grades are only sent if the submission belongs to the same
course that was launched via LTI. Since the LTI launch id remains
in the A+ user session even after the user has stopped using
the LTI Tool and moved to the normal A+ site, A+ used to try to
send LTI grades to the Platform on courses that have never been
launched via LTI. This caused errors in the LTI grading and
A+ also crashed because it used to raise an exception that
was never caught.

Fixes apluslms#1297
@markkuriekkinen
Copy link
Contributor Author

Commit 638988c resolves this issue in the v1.20_stable branch. It must be fixed in the master branch too. The master branch does not yet include the function has_lti_access_to_course that is used in the commit.

@markkuriekkinen
Copy link
Contributor Author

By the way, the LTI activity in Moodle must be launched into a new window, not in iframe, so that the LTI session really stays in A+ and can be used later by browsing A+ directly.

@github-project-automation github-project-automation bot moved this from In Progress to Done in A+ sprints Oct 27, 2023
murhum1 pushed a commit to murhum1/a-plus that referenced this issue Dec 21, 2023
When LTI grades are sent to the LTI Platform, ensure that
the grades are only sent if the submission belongs to the same
course that was launched via LTI. Since the LTI launch id remains
in the A+ user session even after the user has stopped using
the LTI Tool and moved to the normal A+ site, A+ used to try to
send LTI grades to the Platform on courses that have never been
launched via LTI. This caused errors in the LTI grading and
A+ also crashed because it used to raise an exception that
was never caught.

Fixes apluslms#1297
ihalaij1 pushed a commit to ihalaij1/a-plus that referenced this issue Dec 22, 2023
When LTI grades are sent to the LTI Platform, ensure that
the grades are only sent if the submission belongs to the same
course that was launched via LTI. Since the LTI launch id remains
in the A+ user session even after the user has stopped using
the LTI Tool and moved to the normal A+ site, A+ used to try to
send LTI grades to the Platform on courses that have never been
launched via LTI. This caused errors in the LTI grading and
A+ also crashed because it used to raise an exception that
was never caught.

Fixes apluslms#1297
ihalaij1 pushed a commit to ihalaij1/a-plus that referenced this issue Dec 22, 2023
When LTI grades are sent to the LTI Platform, ensure that
the grades are only sent if the submission belongs to the same
course that was launched via LTI. Since the LTI launch id remains
in the A+ user session even after the user has stopped using
the LTI Tool and moved to the normal A+ site, A+ used to try to
send LTI grades to the Platform on courses that have never been
launched via LTI. This caused errors in the LTI grading and
A+ also crashed because it used to raise an exception that
was never caught.

Fixes apluslms#1297
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: LTI LTI protocol (Learning Tools Interoperability, worldwide standard) effort: hours Estimated to take less than one day, from the creation of a new branch to the merging experience: moderate required knowledge estimate requester: team The issue is raised by a person inside the A+ developer team type: bug This is a bug
Projects
Status: Done
Development

No branches or pull requests

1 participant