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

Quiz exercises: Fix LTI Moodle quiz participation results reflection #7129

Merged
merged 53 commits into from
Nov 10, 2023

Conversation

basak-akan
Copy link
Contributor

@basak-akan basak-akan commented Aug 31, 2023

Checklist

General

Server

  • Important: I implemented the changes with a very good performance and prevented too many (unnecessary) database calls.
  • I followed the coding and design guidelines.
  • I added multiple integration tests (Spring) related to the features (with a high test coverage).
  • I added pre-authorization annotations according to the guidelines and checked the course groups for all new REST Calls (security).
  • I documented the Java code using JavaDoc style.

Motivation and Context

Currently, the grade reflection for quiz exercises between Artemis and Moodle via LTI integration is not functioning. As a result, grades are not being transferred or displayed on Moodle. This pull request fixes this issue by ensuring grades are accurately reflected in Moodle.

Description

  • New Results are sent to the external LMS platform with LtiNewService when the quiz is ended.
  • Also re-calculated or re-evaluated quiz exercise results are also sent to external platform.
  • A new test class is added to make it easier to handle and add new features in the future. It also creates a specific place to look at how quiz scores and LTI work together, without making the current test classes more complicated.

Steps for Testing

Please test this PR with TS11. I already pre-configured quiz exercises for easy testing for TS11.

Prerequisites:

  • Use "Quiz Exercise" on moodle in LTI Testing Course.

  • Moodle Login Credentials:

    Test Server Username Password
    TS11 artemis_test_user_1 same as artemis_test_user_1 from artemis test accounts

Artemis User Testing Steps:

  1. Navigate to TS11 and start "Quiz Exercise" in "LTI Testing Course".
  2. Navigate to Moodle: https://moodle.ase.in.tum.de/
  3. Log in using the test user credentials.
  4. Select the "Lti Testing Course".
  5. Choose "Quiz Exercise" under Topic 2.
  6. Confirm that you can view the Artemis page within the Moodle frame.
  7. Through the Moodle frame, log in to Artemis using the same credentials.
  8. Ensure you are logged into Artemis.
  9. Initiate the quiz exercise participation.
  10. Submit your solution.
  11. Navigate to the Moodle grades page.
  12. Confirm that your submission results are visible.

Review Progress

Performance Review

  • I (as a reviewer) confirm that the client changes (in particular related to REST calls and UI responsiveness) are implemented with a very good performance
  • I (as a reviewer) confirm that the server changes (in particular related to database calls) are implemented with a very good performance

Code Review

  • Code Review 1
  • Code Review 2

Manual Tests

  • Test 1
  • Test 2

Test Coverage

Client

Class/File Line Coverage Confirmation (assert/expect)
course-lti-configuration.component.ts 100%
lti13-exercise-launch.component.ts 100%

Server

Class/File Line Coverage Confirmation (assert/expect)
QuizStatisticService.java 88%
LtiService.java 98%
QuizScheduleService.java 84%
PublicProgrammingSubmissionResource.java 96%

Screenshots

image
image

@github-actions github-actions bot added the server Pull requests that update Java code. (Added Automatically!) label Aug 31, 2023
@basak-akan basak-akan added the stacked-pr PR that depends on another PR label Aug 31, 2023
@basak-akan basak-akan temporarily deployed to artemis-test5.artemis.cit.tum.de September 3, 2023 11:03 — with GitHub Actions Inactive
Copy link
Contributor

@RY997 RY997 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe I didn't do it in a right way, but I got this "refuse connect" in model.
I tried login Artemis as test user 1, but no exercise is visible. Then added myself into student group and started the quiz 1, opened moodle and got this.
image

@basak-akan
Copy link
Contributor Author

basak-akan commented Oct 5, 2023

Maybe I didn't do it in a right way, but I got this "refuse connect" in model. I tried login Artemis as test user 1, but no exercise is visible. Then added myself into student group and started the quiz 1, opened moodle and got this. image

@RY997 Thank you for noticing. With new changes, Lti profile needs to be added to servers to enable lti features. Since it is not yet added to TS5 (or other test servers) it refuses to connect. I will mark this PR as work in progress until the lti profile added to the test servers.

@github-actions
Copy link

There hasn't been any activity on this pull request recently. Therefore, this pull request has been automatically marked as stale and will be closed if no further activity occurs within seven days. Thank you for your contributions.

@github-actions github-actions bot added the stale label Oct 25, 2023
@basak-akan basak-akan removed the stale label Oct 25, 2023
Copy link
Contributor

@lennart-keller lennart-keller left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested in testing session. Works well

Copy link

@vinceclifford vinceclifford left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works as expected. Tested during testing session

Copy link
Contributor

@florian-glombik florian-glombik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Participating and practicing in the Quiz via Moodle worked fine!

Copy link
Contributor

@laurenzfb laurenzfb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code LGTM!

Copy link

@AntonGeTUM AntonGeTUM left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested as per instructions, LGTM

Copy link
Contributor

@RY997 RY997 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approve!

@krusche krusche added this to the 6.6.5 milestone Nov 10, 2023
@krusche krusche merged commit 3d6b32f into develop Nov 10, 2023
19 of 24 checks passed
@krusche krusche deleted the bugfix/fix-lti-quiz-exercise-grade branch November 10, 2023 07:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:LTI ready to merge server Pull requests that update Java code. (Added Automatically!) tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants