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

Text Exercises: Replace feedback modal with inline feedback view #9310

Closed

Conversation

EneaGore
Copy link
Contributor

@EneaGore EneaGore commented Sep 12, 2024

Deploy only to TS1

Checklist

General

Server

Client

  • Important: I implemented the changes with a very good performance, prevented too many (unnecessary) REST calls and made sure the UI is responsive, even with large data (e.g. using paging).
  • I strictly followed the principle of data economy for all client-server REST calls.
  • I strictly followed the client coding and design guidelines.
  • Following the theming guidelines, I specified colors only in the theming variable files and checked that the changes look consistent in both the light and the dark theme.
  • I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.
  • I added authorities to all new routes and checked the course groups for displaying navigation elements (links, buttons).
  • I documented the TypeScript code using JSDoc style.
  • I added multiple screenshots/screencasts of my UI changes.
  • I translated all newly inserted strings into English and German.

Motivation and Context

The previous PR in Athena Feedback for Text Exercises added the option to enable preliminary AI Feedback for students. This PR improves the way the feedback is viewed by adding a new route. Enhanced error handling, integration tests and some minor bug fixes are also included.

Description

Create new route to view the (preliminary) results inline on the text submission. Add the timeline to that view and make results not show the modal but use that route for text exercises.

Steps for Testing

Prerequisites:

  • 1 Student
  • 1 Text Exercise
  1. Open a text exercise with athena feedback requests avilable
  2. Request feedback from inside the editor and from the overview
  3. Click on results and check that the correct submission is shown
  4. Assessment should continue working as usual

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

  • 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 even for very large courses with more than 2000 students.
  • I (as a reviewer) confirm that the server changes (in particular related to database calls) are implemented with a very good performance even for very large courses with more than 2000 students.

Code Review

  • Code Review 1
  • Code Review 2

Manual Tests

  • Test 1
  • Test 2

Performance Tests

  • Test 1
  • Test 2

Test Coverage

✅ ❌

Class/File Line Coverage Confirmation (assert/expect)
header-participation-page.component.ts 100%
exercise-scores.component.ts 95.59%
feedback.component.ts 95%
rating.component.ts 91.66%
result.component.ts 88.81%
result.service.ts 90.83%
result.utils.ts 89.18%
text-editor.component.ts 82.12%
text-editor.route.ts 100%
course-exercise-details.component.ts 88.37%
exercise-details-student-actions.component.ts 86.18%

Screenshots

newAIButton
view
Flow

H01E01.Coupling.and.Cohesion.WS24._.Test.Course.Enea.Gore.-.Google.Chrome.2024-09-14.06-37-35.mp4

Summary by CodeRabbit

Release Notes

  • New Features

    • Enhanced functionality for retrieving non-Athena results in submissions, ensuring only valid results are returned.
    • Streamlined feedback generation process with detailed tracking of text segments and support for early feedback requests.
    • Implemented a new method for students to request automatic non-graded feedback.
    • Enhanced user interface for text exercises with improved button visibility and history viewing options.
    • Updated labels and tooltips for feedback request features to clarify context.
  • Bug Fixes

    • Improved error handling during feedback generation to provide clearer user feedback.
    • Enhanced filtering logic for displaying successful submission results based on exam mode.
  • Documentation

    • Updated localization files to include new keys for improved user interaction.
  • Tests

    • Expanded test coverage for feedback suggestion toggling and submission handling scenarios.
    • Added new tests for various submission conditions and feedback request validations.

@github-actions github-actions bot added server Pull requests that update Java code. (Added Automatically!) client Pull requests that update TypeScript code. (Added Automatically!) labels Sep 12, 2024
@github-actions github-actions bot added deployment-error Added by deployment workflows if an error occured and removed deploy:artemis-test2 labels Sep 12, 2024
@EneaGore EneaGore added deploy:artemis-test2 and removed deployment-error Added by deployment workflows if an error occured labels Sep 12, 2024
@EneaGore EneaGore temporarily deployed to artemis-test2.artemis.cit.tum.de September 12, 2024 16:44 — with GitHub Actions Inactive
@EneaGore EneaGore temporarily deployed to artemis-test1.artemis.cit.tum.de September 12, 2024 17:58 — with GitHub Actions Inactive
@github-actions github-actions bot added the tests label Sep 12, 2024
@EneaGore EneaGore temporarily deployed to artemis-test1.artemis.cit.tum.de September 12, 2024 20:09 — with GitHub Actions Inactive
coderabbitai[bot]
coderabbitai bot previously approved these changes Sep 30, 2024
@github-actions github-actions bot added documentation config-change Pull requests that change the config in a way that they require a deployment via Ansible. docker template assessment Pull requests that affect the corresponding module athena Pull requests that affect the corresponding module atlas Pull requests that affect the corresponding module communication Pull requests that affect the corresponding module core Pull requests that affect the corresponding module exam Pull requests that affect the corresponding module iris Pull requests that affect the corresponding module lecture Pull requests that affect the corresponding module lti Pull requests that affect the corresponding module modeling Pull requests that affect the corresponding module plagiarism Pull requests that affect the corresponding module programming Pull requests that affect the corresponding module quiz Pull requests that affect the corresponding module tutorialgroup Pull requests that affect the corresponding module labels Sep 30, 2024
@EneaGore EneaGore closed this Oct 1, 2024
@EneaGore EneaGore reopened this Oct 13, 2024
@EneaGore EneaGore closed this Oct 13, 2024
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 client Pull requests that update TypeScript code. (Added Automatically!) communication Pull requests that affect the corresponding module config-change Pull requests that change the config in a way that they require a deployment via Ansible. core Pull requests that affect the corresponding module docker documentation exam Pull requests that affect the corresponding module exercise Pull requests that affect the corresponding module iris Pull requests that affect the corresponding module lecture Pull requests that affect the corresponding module lti Pull requests that affect the corresponding module modeling Pull requests that affect the corresponding module plagiarism Pull requests that affect the corresponding module programming Pull requests that affect the corresponding module quiz Pull requests that affect the corresponding module server Pull requests that update Java code. (Added Automatically!) template tests text Pull requests that affect the corresponding module tutorialgroup Pull requests that affect the corresponding module
Projects
Status: Work In Progress
Development

Successfully merging this pull request may close these issues.

10 participants