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

Lecture: Allow instructors to remove solution slides when processing units #6895

Merged
merged 12 commits into from
Jul 29, 2023

Conversation

pellumbbaboci
Copy link
Contributor

@pellumbbaboci pellumbbaboci commented Jul 13, 2023

Checklist

General

Server

  • Important: I implemented the changes with a very good performance and prevented too many (unnecessary) database calls.
  • I followed the coding and design guidelines.
  • I added multiple integration tests (Spring) related to the features (with a high test coverage).
  • I documented the Java code using JavaDoc style.

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 followed the 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.
  • I translated all newly inserted strings into English and German.

Motivation and Context

Instructors are not able to remove "Example solution" slides when processing units automatically.

Description

A new checkbox is provided to choose if the instructors want to remove the solution slides. Then all example solution slides that contain "Example solution", "Example solution: model" or "Example solution (with comments)" will be removed.

Steps for Testing

Prerequisites:

  • 1 Instructor
  • 1 Course
  1. Log in to Artemis
  2. Navigate to Course Administration
  3. Create a new Lecture and choose to automatically process the file.
  4. Then you will see a table with split information and at the bottom you will have the option to choose to remove Break or Solution slides.
  5. Select both and then submit the form.
  6. See the file units if the slides are removed correctly.
    example pdf:

ITP2223 L05 Object Orientation I_organized.pdf

Review Progress

Performance Review

  • I confirm that the client changes (in particular related to REST calls and UI responsiveness) are implemented with a very good performance
  • I 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)
attachment-units.component.ts 89.47%

Server

Class/File Line Coverage Confirmation (assert/expect)
LectureUnitProcessingService.java 97%
LectureUnitInformationDTO.java 100%

Screenshots

New checkbox introduced:
Screenshot 2023-07-13 at 18 10 08

@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!) labels Jul 13, 2023
@pellumbbaboci pellumbbaboci marked this pull request as ready for review July 13, 2023 16:23
@pellumbbaboci pellumbbaboci requested a review from a team as a code owner July 13, 2023 16:24
Copy link
Contributor

@Strohgelaender Strohgelaender left a comment

Choose a reason for hiding this comment

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

This PR only removes the sildes, it does not allow the instructor to reveal them again after the lecture ended. Can you add this as well to the PR?

src/main/webapp/i18n/de/lectureUnit.json Outdated Show resolved Hide resolved
src/main/webapp/i18n/de/lectureUnit.json Outdated Show resolved Hide resolved
src/main/webapp/i18n/de/lectureUnit.json Outdated Show resolved Hide resolved
src/main/webapp/i18n/de/lectureUnit.json Outdated Show resolved Hide resolved
@pellumbbaboci
Copy link
Contributor Author

pellumbbaboci commented Jul 15, 2023

This PR only removes the sildes, it does not allow the instructor to reveal them again after the lecture ended. Can you add this as well to the PR?

@Strohgelaender no, thats what its intended. The reverting back process should be addressed in another PR as it requires bigger changes.

Copy link
Contributor

@nityanandaz nityanandaz left a comment

Choose a reason for hiding this comment

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

I confirm that example solutions slides are removed (ts1)

Copy link
Contributor

@DominikRemo DominikRemo left a comment

Choose a reason for hiding this comment

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

Tested in testing session on ts1. Works as described

However, I'd love to see @JohannesStoehr`s suggestion implemented in a follow up :)

Why not offer the user a text box next to the option of removing the slides?
This way the user can choose the text themselves and it works for all lectures in all languages

Copy link
Contributor

@lennart-keller lennart-keller left a comment

Choose a reason for hiding this comment

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

Code looks fine :)

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.

Code looks good to me.
Please keep the Follow up for user defined strings in mind

@pellumbbaboci pellumbbaboci added this to the 6.3.5 milestone Jul 20, 2023
@krusche krusche modified the milestones: 6.3.5, 6.3.6, 6.4.0 Jul 21, 2023
@krusche krusche merged commit 7cfb718 into develop Jul 29, 2023
20 of 25 checks passed
@krusche krusche deleted the feature/remove-solution-slides branch July 29, 2023 21:23
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!) ready to merge server Pull requests that update Java code. (Added Automatically!) tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Lecture: Give the option to instructors to remove example solution slides
8 participants