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

Programming exercises: Improve styling of feedback and manual assessment #8921

Merged

Conversation

pzdr7
Copy link
Contributor

@pzdr7 pzdr7 commented Jun 30, 2024

Checklist

General

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.
  • 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 documented the TypeScript code using JSDoc style.
  • I added multiple screenshots/screencasts of my UI changes.

Changes affecting Programming Exercises

  • High priority: I tested all changes and their related features with all corresponding user types on a test server configured with the integrated lifecycle setup (LocalVC and LocalCI).

Motivation and Context

There are a few visual issues in the manual assessment of programming exercises and with feedback widgets in general:

Description

  • Highlighted lines in the assessment view are now only highlighted in the line part; the margin is left for the build annotations
  • The button to add feedback is now to the right of the line numbers (the line decorations), ensuring that it does not interfere with the line numbers (at the cost of some testability & flexibility). This replaces the old glyph margin hover button.
  • Feedbacks are now allowed to be much wider. They render more text in fewer lines (given that there are no line breaks)
  • Made the resize handles more prominent in light mode

Steps for Testing

Prerequisites:

  • 1 Instructor
  • 1 Programming exercise with
    • SCA enabled
    • Manual assessment enabled
    • 1 submission that has at least one SCA warning (if you enable all SCA categories, you can trigger a warning by forgetting whitespace after if, e.g. if(input.size() > 0))
  1. Log in to Artemis
  2. Go to your course > exercises > your programming exercise > scores
  3. Open the assessment of the submission
  4. Go to the file with the SCA warning and verify that the button does not clash with the build annotation (⚠️ icon)
  5. Verify the changed lines are highlighted and that everything looks okay in light and dark mode
  6. Add a long feedback without newlines
  7. Verify that the feedback widget does not waste space when displaying the long feedback text

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
  • 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)
monaco-editor-line-decorations-hover-button.model.ts 91.17%
monaco-editor.component.ts 97.87%

Screenshots

Feedback widgets

Before

image

After

image

Feedback button / line highlights / build annotations

Before

image

After

image

Drag handles in the code editor grid

Before

image

After

image

Summary by CodeRabbit

  • New Features

    • Introduced a new hover button for line decorations in the code editor.
  • Bug Fixes

    • Removed an unused feedback button from the code editor.
  • Refactor

    • Replaced MonacoEditorGlyphMarginHoverButton with MonacoEditorLineDecorationsHoverButton for improved interaction handling.
  • Tests

    • Updated test cases to reflect changes in hover button functionality and ensure accurate line highlighting.

@github-actions github-actions bot added tests client Pull requests that update TypeScript code. (Added Automatically!) labels Jun 30, 2024
Copy link
Contributor

@egekurt123 egekurt123 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
Contributor

@JohannesStoehr JohannesStoehr left a comment

Choose a reason for hiding this comment

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

Reapprove

Copy link
Contributor

@b-fein b-fein left a comment

Choose a reason for hiding this comment

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

Re-approve after small merge-conflict.

Copy link
Contributor

@Jan-Thurner Jan-Thurner left a comment

Choose a reason for hiding this comment

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

reapprove

Copy link
Contributor

@BaumiCoder BaumiCoder left a comment

Choose a reason for hiding this comment

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

Re-approve after resolved merge conflicts

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
client Pull requests that update TypeScript code. (Added Automatically!) enhancement ready to merge tests
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

7 participants