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

Development: Introduce text module API #10043

Open
wants to merge 23 commits into
base: chore/introduce-atlas-profile
Choose a base branch
from

Conversation

ole-ve
Copy link
Contributor

@ole-ve ole-ve commented Dec 17, 2024

Checklist

General

Server

  • I strictly followed the principle of data economy for all database calls.
  • I strictly followed the server coding and design guidelines.
  • I documented the Java code using JavaDoc style.

Motivation and Context

As part of the server modularization, we "facade" the service/repository declaration and method calls to module-external classes via a module API provided by the respective module.

Description

These changes add the module API for text exercises.

Out of scope: Adding a PROFILE_TEXT to disable the module on server start. This requires a lot of frontend changes and testing.

Steps for Testing

Basically try to test all the functionality of text exercises regarding submissions, courses, and import/export.

  1. Log in to Artemis
  2. Create a text exercise
  3. Update the exercise
  4. Make a submission
  5. Create an example submission
  6. Import the student submission as example submission
  7. Import the exercise into a new course
  8. Delete the exercise in both courses

Exam Mode Testing

  1. Log in to Artemis
  2. Create a regular text exercise
  3. Create an exam
  4. Create a text exercise in the exam
  5. Import the created text exercise from 2 into the exam
  6. Participate in the exam and make submissions

Testserver States

Note

These badges show the state of the test servers.
Green = Currently available, Red = Currently locked
Click on the badges to get to the test servers.







Review Progress

Performance Review

Code Review

  • Code Review 1
  • Code Review 2

Manual Tests

  • Test 1
  • Test 2

Exam Mode Test

  • Test 1
  • Test 2

@github-actions github-actions bot added tests server Pull requests that update Java code. (Added Automatically!) client Pull requests that update TypeScript code. (Added Automatically!) documentation assessment Pull requests that affect the corresponding module athena Pull requests that affect the corresponding module atlas Pull requests that affect the corresponding module core Pull requests that affect the corresponding module labels Dec 17, 2024
@github-actions github-actions bot removed modeling Pull requests that affect the corresponding module programming Pull requests that affect the corresponding module quiz Pull requests that affect the corresponding module labels Dec 17, 2024
@ole-ve ole-ve marked this pull request as ready for review December 17, 2024 20:53
@ole-ve ole-ve requested a review from a team as a code owner December 17, 2024 20:53
@HawKhiem HawKhiem temporarily deployed to artemis-test3.artemis.cit.tum.de December 18, 2024 13:20 — with GitHub Actions Inactive
Copy link

@HawKhiem HawKhiem left a comment

Choose a reason for hiding this comment

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

🟩: Works well
🟨: Works partially
🟥: Doesn't work

I tested the following:
🟨 Creating a text exercise
🟨 Edit the text exercise
🟨 Create an example submission (When changing the Assessment Training, then clicking on Update example submission, the view only gets updated when I reload the page, can we make it so that on clicking update submission, the view also gets updated. Also when I add an assessment when the Assessment Training is Assess Correctly, then change to Read and Confirm then back to Assess Correctly, the assessment is gone. Also the assessment is also gone when I click on Update example Submission then reload without changing anything. This is probably not related to this PR, I think I would mention this in an issue)
image
image
🟥 Import the student submission as example submission (I made a submission with test user 1 and another with test user 20 but when trying to import submissions, it says that it can't find the students' submissions)
Screenshot 2024-12-18 144911
Screenshot 2024-12-18 144937
🟥 Export the example submissions (I couldn't find the button to export example submissions)
🟨 Import the exercise into a new course
🟩 Delete the exercise in both courses

When clicking into create new or edit or import a text exercise, I had these problems. However the creation or the changes while edit as well as the import still works, for the import I have to reload the page and then go back to the Exercises Overiview to see the newly imported exercise

image
image
image

🟩 Create an exam
🟩 Create a text exercise in the exam
🟩 Import the created text exercise from 2 into the exam
🟨 Participate in the exam and make submissions: When I try to submit it early I got a Bad Request, however it still goes through
image

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.

@ole-ve
Copy link
Contributor Author

ole-ve commented Jan 2, 2025

@HawKhiem Thanks a lot for your detailed testing! Regarding the discovered behavior:

  • Create an example submission: In order to use submissions as example submissions, you need to first assess the submission (completion_date in table 'result' must be set.)
  • Export the example submissions: I miswrote that, I wanted to refer to importing.
  • Create/Edit Text Exercise: I tried to reproduce this locally and on a TS, but couldnt get this issue. Could you kindly check if that still occurs on a different test server? At least looking at the changes, this shouldnt break stuff.
  • Same for the exam participation - could it be caused by the same issue?

@ole-ve
Copy link
Contributor Author

ole-ve commented Jan 3, 2025

The issue was related to the atlas-profile (from which this branch is forked off) is missing on the testserver. I will contact the ITG to activate it. Other than that, this only works locally.

Copy link
Contributor

@coolchock coolchock left a comment

Choose a reason for hiding this comment

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

tested on ts3, found no issues going through the testing steps

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
assessment Pull requests that affect the corresponding module athena Pull requests that affect the corresponding module atlas Pull requests that affect the corresponding module core Pull requests that affect the corresponding module exam Pull requests that affect the corresponding module exercise Pull requests that affect the corresponding module iris Pull requests that affect the corresponding module plagiarism Pull requests that affect the corresponding module server Pull requests that update Java code. (Added Automatically!) tests text Pull requests that affect the corresponding module
Projects
Status: Work In Progress
Development

Successfully merging this pull request may close these issues.

4 participants