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: Allow tutors to assess submissions in the new code editor #8437

Merged
merged 69 commits into from
Apr 26, 2024

Conversation

pzdr7
Copy link
Contributor

@pzdr7 pzdr7 commented Apr 19, 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 added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.
  • 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

This should be the final view we have to replace until we can remove Ace from the online code editor.

Description

  • Introduces two new types of editor elements:
    • Line highlights
    • Glyph margin hover button (follows the mouse)
  • Makes it possible to manually assess submissions using the new code editor

Known issue:

  • around 70 lines of gradlew.bat in the java template are falsely highlighted as new. I suspect this has something to do with line endings, but the problem occurs with Ace as well.

Steps for Testing

Prerequisites:

  • 1 Instructor
  • 1 Student
  • 1 Programming Exercise
    • with a submission by the student and
    • with the online code editor enabled and
    • with manual assessment on (set the due date accordingly)

As the student

  1. If you haven't done so already, make a submission to the programming exercise.

As the instructor

  1. Sign in
  2. Go to course management > your course > assessment > your programming exercise > exercise dashboard
  3. Assess a new submission. Ensure that you can:
  • Add a new line feedback item
  • Remove an existing line feedback item
  • Edit an existing line feedback item
  • Save your assessment.
  • Override your assessment.
  1. Make sure to set the assessment due date so the students can see the results

As the student

  1. Sign in.
  2. View the assessment in the online code editor.
  3. Ensure you can see all of the feedback you left.

Testserver States

Note

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







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

Code Review

  • Code Review 1
  • Code Review 2

Manual Tests

  • Test 1
  • Test 2

Test Coverage

Client

Client

Class/File Line Coverage Confirmation (assert/expect)
code-editor-monaco.component.ts 91.44%
monaco-editor-glyph-margin-hover-button.model.ts 90.62%
monaco-editor-line-highlight.model.ts 100%
monaco-editor.component.ts 97.84%

Screenshots

image

Summary by CodeRabbit

Summary by CodeRabbit

  • New Features
    • Enhanced code editor with new feedback suggestion system, allowing users to accept or discard suggestions.
    • Added highlighting of changed lines in the code editor for better visibility of modifications.
    • Implemented new user interface elements for feedback in the Monaco editor, including hover buttons and customizable line highlighting.
  • Improvements
    • Updated code editor components to use Monaco editor consistently, improving performance and user interaction.
    • Added new styling options for Monaco editor to support both dark and default themes.
  • Bug Fixes
    • Fixed issues related to file loading and event handling in the code editor.
  • Documentation
    • Updated documentation to reflect new features and modifications in the code editor assessment process.
  • Tests
    • Enhanced testing suite with new scenarios for feedback handling and editor interactions.
    • Adjusted existing tests to accommodate changes in editor components and assessment pages.

pzdr7 and others added 30 commits April 9, 2024 23:20
…feature/programming-exercises/monaco-tutor-assessment
@pzdr7 pzdr7 requested review from BaumiCoder and coolchock April 23, 2024 14:22
b-fein
b-fein previously approved these changes Apr 23, 2024
@coolchock
Copy link
Contributor

re-tested on ts1, mentioned issues were resolved

coolchock
coolchock previously approved these changes Apr 23, 2024
@pzdr7 pzdr7 dismissed stale reviews from coolchock, b-fein, and coderabbitai[bot] via 0f4b7d5 April 24, 2024 22:06
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.

re-approve

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-tested on my local machine

@krusche krusche added this to the 7.0.2 milestone Apr 26, 2024
@krusche krusche merged commit 962b00a into develop Apr 26, 2024
22 of 29 checks passed
@krusche krusche deleted the feature/programming-exercises/monaco-tutor-assessment branch April 26, 2024 16:54
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!) cypress Pull requests that update cypress tests. (Added Automatically!) ready for review tests
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

7 participants