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

Development: Remove Course Management and Admin modules #10184

Open
wants to merge 33 commits into
base: develop
Choose a base branch
from

Conversation

tobias-lippert
Copy link
Contributor

@tobias-lippert tobias-lippert commented Jan 21, 2025

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 (e.g. using paging).
  • I strictly followed the client coding and design 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.

Motivation and Context

We want to remove all ngModules step by step to completely follow modern Angular best practices without modules and standalone components instead. This ensures the long-term maintainability of the Artemis client application.

Description

Removed all modules related to course management and LTI and adapted routes as necessary.

Steps for Testing

Prerequisites:

  • 1 Instructor
  • 1 Admin
  1. Log in to Artemis
  2. Navigate to Course Administration
  3. Test everything in the course management
  4. Create programming/modeling/quiz/file upload/text exercise
  5. Import programming/modeling/quiz/file upload/text exercise
  6. Edit programming/modeling/quiz/file upload/text exercise
  7. Inspect the course scores/statistics
  8. Assess a submission
  9. Try to access the complaint dashboard
  10. Try to access the feedback requests dashboard
  11. Create a tutorial group
  12. Create a competency, edit a competency
  13. Navigate to the conversations tab
  14. Create/edit lecture
  15. Make sure you can access all the pages linked in the top navigation bar of the course management
  16. Click wherever you want and make sure no routes are broken
  17. Check all admin menu points are still reachable.

Exam Mode Testing

Prerequisites:

  • 1 Instructor
  • 1 Students
  • 1 Exam with all exercise types
  1. Log in to Artemis
  2. Participate in the exam as a student
  3. Make sure nothing looks broken and all routes work 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 even for very large courses with more than 2000 students.

Code Review

  • Code Review 1
  • Code Review 2

Manual Tests

  • Test 1
  • Test 2

Exam Mode Test

  • Test 1
  • Test 2

Test Coverage

changed files only affect routes and modules. For those files, coverage is not a suitable metric.

Summary by CodeRabbit

Summary by CodeRabbit

  • New Features

    • Added new resolvers to enhance data loading for programming and text-based assessments.
    • Introduced new components for participant score distribution and export functionality in exam scores.
    • Enhanced the functionality of the assessment dashboard with new components for tutor participation and leaderboard.
  • Refactor

    • Simplified routing configurations with streamlined URL structures by removing extraneous parameters.
    • Consolidated and removed deprecated modules to improve overall system organization and performance.
    • Updated routing logic by replacing module imports with direct component references.
  • Chores

    • Updated dependency management by replacing module-based imports with targeted component imports.
    • Conducted extensive code cleanup across various features to ensure consistency and maintainability.

@github-actions github-actions bot added the client Pull requests that update TypeScript code. (Added Automatically!) label Jan 21, 2025
@tobias-lippert tobias-lippert changed the title Development: Remove Course Management client modules Development: Remove Course Management/LTI modules Jan 27, 2025
@github-actions github-actions bot added the tests label Jan 27, 2025
@github-actions github-actions bot added the database Pull requests that update the database. (Added Automatically!). Require a CRITICAL deployment. label Jan 27, 2025
# Conflicts:
#	src/main/webapp/app/course/dashboards/assessment-dashboard/assessment-dashboard.module.ts
#	src/main/webapp/app/course/tutorial-groups/tutorial-groups-management/tutorial-groups-management.module.ts
#	src/main/webapp/app/exam/participate/summary/exam-result-summary.module.ts
#	src/main/webapp/app/exercises/shared/dashboards/tutor/exercise-assessment-dashboard.module.ts
#	src/main/webapp/app/exercises/shared/participation/participation.module.ts
#	src/main/webapp/app/grading-system/grading-system.module.ts
@tobias-lippert tobias-lippert force-pushed the chore/remove-course-management-lti-modules branch from cd1f610 to a4598d7 Compare January 28, 2025 08:38
@github-actions github-actions bot removed the database Pull requests that update the database. (Added Automatically!). Require a CRITICAL deployment. label Jan 28, 2025
# Conflicts:
#	src/main/webapp/app/exam/manage/exam-management.module.ts
#	src/main/webapp/app/exam/participate/summary/exam-result-summary.module.ts
This reverts commit 46e0b84.
@tobias-lippert tobias-lippert changed the title Development: Remove Course Management/LTI modules Development: Remove Course Management modules Feb 4, 2025
coderabbitai[bot]
coderabbitai bot previously approved these changes Feb 4, 2025
HawKhiem
HawKhiem previously approved these changes Feb 4, 2025
Copy link

@HawKhiem HawKhiem 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 TS3. Everything works as expected!

Copy link
Contributor

@SimonEntholzer SimonEntholzer left a comment

Choose a reason for hiding this comment

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

reapprove

@Fallthunderclap
Copy link

Everything works as expected!

Copy link

@HawKhiem HawKhiem 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

@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 code after merge conflict was resolved

@helios-aet helios-aet bot temporarily deployed to artemis-test1.artemis.cit.tum.de February 5, 2025 09:47 Inactive
@helios-aet helios-aet bot temporarily deployed to artemis-test5.artemis.cit.tum.de February 5, 2025 09:50 Inactive
@tobias-lippert tobias-lippert changed the title Development: Remove Course Management modules Development: Remove Course Management and Admin modules Feb 5, 2025
Copy link

@zagemello zagemello 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 TS3, all works as expected

Copy link

@kevinfischer4 kevinfischer4 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 TS5, all mentioned points work as expected 👍

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 for review tests
Projects
Status: Ready For Review
Development

Successfully merging this pull request may close these issues.

9 participants