-
Notifications
You must be signed in to change notification settings - Fork 28
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
LTI replace results on every score #1698
Conversation
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## master #1698 +/- ##
==========================================
+ Coverage 66.74% 69.77% +3.03%
==========================================
Files 195 196 +1
Lines 6182 6168 -14
==========================================
+ Hits 4126 4304 +178
+ Misses 2056 1864 -192 ☔ View full report in Codecov by Sentry. |
4aadd4c
to
2144f69
Compare
This comment was marked as resolved.
This comment was marked as resolved.
0455b3a
to
9fc54ad
Compare
7a0653e
to
eaf7c45
Compare
This comment was marked as outdated.
This comment was marked as outdated.
eaf7c45
to
dd32a6c
Compare
3c7ba0e
to
30e4e63
Compare
af0fcd5
to
66feb70
Compare
824cb3d
to
6b168cd
Compare
a1488b8
to
87113e1
Compare
b5f5d5f
to
f62d822
Compare
3b9399d
to
5def888
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome, nicely done and many thanks for your perseverance! 👏 🥳 🎉 🥂 👯
I am very that you took the challenge to work on this crucial part of the application while digging deep into everything that's LTI related and covering your changes with so many, extensive tests. As you see, almost each line touched is covered, and a magnitude more lines are newly covered by tests even without any change.
Furthermore, I just finished my review of all code parts and am really satisfied with the result. For a final test, I've deployed the changes to Staging and CodeMoon, allowing us to test-drive the changes in a real-world context.
When doing so myself, I discovered another error with the user exercise feedbacks, not caused by our recent change. Besides that, I was surprised about the 10% rule of the feedbacks, because it was much more frequent in my tests. Regardless of that, the basic workflow was as expected. Nevertheless, it probably makes sense to have a final check 🤓.
Here, we are only checking the condition based on the URL if both parameters (exercise and programming group) are given. Otherwise, we skip the check.
With this commit, we refactor the overall score handling of CodeOcean. Previously, "Score" and "Submit" were two distinct actions, requiring users to confirm the LTI transmission of their score (after assessing their submission). This yielded many questions and was unnecessary, since LTI parameters are no longer expiring after each use. Therefore, we can now transmit the current grade on each score run with the very same LTI parameters. As a consequence, the LTI consumer gets a more detailed history of the scores, enabling further analytical insights. For users, the previous "Submit" button got replaced with a notification that is shown as soon as the full score got reached. Then, learners can decide to "finalize" their work on the given exercise, which will initiate a redirect to a follow-up action (as defined in the RedirectBehavior). This RedirectBehavior has also been unified and simplified for better readability. As part of this refactoring, we rephrased the notifications and UX workflow of a) the LTI transmission, b) the finalization of an exercise (measured by reaching the full score) and c) the deadline handling (on time, within grace period, too late). Those information are now separately shown, potentially resulting in multiple notifications. As a side effect, they are much better maintainable, and the LTI transmission is more decoupled from this notification handling.
Fixes CODEOCEAN-108
3edbb60
to
2a0d632
Compare
Closes #1648