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: Move the open repository buttons to the new code popup #8920

Merged

Conversation

pzdr7
Copy link
Contributor

@pzdr7 pzdr7 commented Jun 29, 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.
  • I added multiple screenshots/screencasts of my UI changes.
  • I translated all newly inserted strings into English and German.

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

  • We want to have a more consistent experience when it comes to opening the repository in a readonly view
  • We want to reduce the number of buttons displayed to students when they work on programming exercises.

Description

  • Renamed the "Clone repository" button to "Code". In the future, we may move the online code editor / online IDE buttons into this popup as well (inspired by the GitHub "Code" button).
  • Added a link (for LocalVC; others are unchanged) to the Code popup that opens the repository view

Steps for Testing

Prerequisites:

  • 1 Instructor
  • Test Server with LocalVC enabled
  • 1 Programming exercise with 1 participation, manual assessment enabled, and both online editor and local IDE enabled

Student view (for easier testing, do this step as an instructor. you will need instructor access for the steps later)

  1. Log in
  2. Go to Courses > Your course > Your programming exercise
  3. Start your participation (if you haven't yet)
  4. Check that there is no "Open Repository" button
  5. Click on the "Code" button
  6. Verify that you can see the image button and click it.
  7. It should take you to a new tab with the repository view.

Instructor: Exercise participations:

  1. Go back to the exercise
  2. Go to Instructor actions: Participations
  3. Verify that there is one column with the "Code" button
  4. Check that the button that links to the repository works as expected

Instructor: Exercise scores

  1. Go back to the exercise
  2. Go to Instructor actions: Scores
  3. Check that the Code button works as for the previous steps

Instructor: Template/Solution/Tests repos:

  1. Go back to the exercise
  2. Go to instructor actions: View
  3. For each of the template/solution/tests repos, check if the Code button works as for the previous steps. Note that we currently do not support viewing the Auxiliary Repositories.

Instructor: Manual assessment example solution

  1. Go to the Assessment Dashboard (important: do not continue past the initial page. if you do not see the "I have read and understood the instructions" button, use a different account)
  2. Scroll down to image
  3. Check that the "Code" button works as expected.

Exam Mode Testing

Prerequisites:

  • 1 Testserver with LocalVC enabled
  • 1 Exam with a programming exercise (enable both the online editor and the local IDE)
  • 1 Student
  • 1 Instructor

Student participation and summary

  1. Participate in the exam as a student. Make a submission using the online editor.
  2. Check that you can use the "Code" button during the exam to open the repository in a new tab.
  3. Hand in the exam and view the summary. Check that you can use the Code button there to open the repository this way.

Instructor: summary

  1. As the instructor, go to course management > your course > your exam > student exams
  2. View the student exam you submitted and go to its summary.
  3. Verify that the Code button works as expected

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

Exam Mode Test

  • Test 1
  • Test 2

Test Coverage

Only non-trivial changes in .ts files; the rest of the changes are in either the playwright tests or HTML templates

Screenshots

Student view (regular)

Before

image

After

image

The repository view can now be accessed via the button in the popup:

image

Instructor: Exercise participations

Before

image

After

image

Instructor: Exercise scores

Before

image

After

image

Tutor/Instructor: Example solution (manual assessment)

Before

image

After

image

Exam participation / summary

Before

Participation
image

Summary
image

After

Participation
image

Summary
image

Summary by CodeRabbit

  • New Features

    • Updated button labels and conditional rendering for SSH and local version control settings in code buttons.
    • Enhanced visibility and interaction options for repository management in both student and instructor views.
  • Documentation

    • Refined exam conduction, exercise saving, and repository access instructions in user guides.
  • Bug Fixes

    • Simplified and clarified repository link retrieval methods for better user experience.
  • Localization

    • Removed outdated translations related to repository access in German and English localization files.

@pzdr7 pzdr7 added the stacked-pr PR that depends on another PR label Jun 29, 2024
@github-actions github-actions bot added the client Pull requests that update TypeScript code. (Added Automatically!) label Jun 29, 2024
Base automatically changed from bugfix/open-repository-button-navigation to develop June 30, 2024 09:00
@pzdr7 pzdr7 removed the stacked-pr PR that depends on another PR label Jun 30, 2024
@github-actions github-actions bot added the tests label Jul 2, 2024
@pzdr7 pzdr7 changed the title Programming exercises: Move the open repository button to the clone popup Programming exercises: Move the open repository buttons to the clone popup Jul 2, 2024
Copy link
Contributor

@az108 az108 left a comment

Choose a reason for hiding this comment

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

The only trouble i faced was trying to test sumbit my code as this error came up on the test server. But this is unrelated to the PR as far as I am aware.
image

Copy link
Contributor

@az108 az108 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 TS1 all Steps for a normal programming Exercise and then created an exam with a programming exercise and tested it aswell. Everything works as expected and I like the changes 😄 . Code LGTM aswell 👍

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 code. Also looked at the documentation changes

Copy link
Member

@BBesrour BBesrour 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, docs lgtm

@krusche krusche changed the title Programming exercises: Move the open repository buttons to the code popup Programming exercises: Move the open repository buttons to the new code popup Jul 14, 2024
Copy link
Member

@krusche krusche left a comment

Choose a reason for hiding this comment

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

Tested the changes, works well 👍

@krusche krusche merged commit 34146f0 into develop Jul 14, 2024
38 of 41 checks passed
@krusche krusche deleted the chore/programming-exercises/remove-open-repository-buttons branch July 14, 2024 09:25
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!) documentation ready to merge tests
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.