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

General: Unify filter UI/UX #10058

Open
16 tasks
florian-glombik opened this issue Dec 20, 2024 · 0 comments
Open
16 tasks

General: Unify filter UI/UX #10058

florian-glombik opened this issue Dec 20, 2024 · 0 comments
Labels
assessment Pull requests that affect the corresponding module client Pull requests that update TypeScript code. (Added Automatically!) communication Pull requests that affect the corresponding module core Pull requests that affect the corresponding module discussion exam Pull requests that affect the corresponding module exercise Pull requests that affect the corresponding module lecture Pull requests that affect the corresponding module programming Pull requests that affect the corresponding module refactoring text Pull requests that affect the corresponding module user-experience Pull request / issue that affects the UI/UX within Artemis

Comments

@florian-glombik
Copy link
Contributor

florian-glombik commented Dec 20, 2024

Problem & Motivation

Right now we have multiple different approaches to implement filters in Artemis, neither do they look, nor do they work in the same way. This should be unified for a better User Exprience in Artemis.

Identified approaches

Filter indicator Filter active Filter inactive Default Appearance Functionality example
Blue Text with "Link" appearance Blue, different icon Blue inactive Modal No filter set = show everything, Filter set = only show elements that satisfy the filter conditions
Student Exercise / Lecture overview Student Exercise / Lecture overview 1 Student Exercise / Lecture overview 2
Button Green Grey active Popup, overlay Not really a filter, rather a selection of what to include (no "filter" selected = no results)
Student Statistics view - Performance in Exercises Performance in Exercises 1 Performance in Exercises 2
Button Blue - cannot be inactive active Popup, overlay Only show elements that satisy the filter conditions (one option for everything)
Exercises < Scores (Instructor feature) Exercises Scores 1 Exercises Scores 2
Button Green Grey inactive Modal (grey Background) No filter set = show everything, Filter set = only show elements that satisfy the filter conditions
Server Administration > Build Overview > Build Queue (Admin Feature) Build Queue 1 Build Queue 2
Icon Black Black inactive Integrated in view No filter set = show everything, Filter set = only show elements that satisfy the filter conditions
Exercise Communication Filter (student view, when working on exercise) Exercise Communication Filter

Further examples

Student Exercise / Lecture overview Student Exercise / Lecture overview 1 Student Exercise / Lecture overview 2
Student Statistics view - Overall points Overall points 1 Overall points 2
Student Statistics view - Performance in Exercises Performance in Exercises 1 Performance in Exercises 2
Lecture Overview (Instructors) Lecture Overview (Instructors) 1 Lecture Overview (Instructors) 2
User Management (admin feature) User Management (admin feature) 1 User Management (admin feature) 2
Exercises < Scores (Instructor feature) Exercises Scores 1 Exercises Scores 2
Server Administration > Build Overview > Build Queue (Admin Feature) Build Queue 1 Build Queue 2
course statistics Course Statistics 1 Course Statistics 2
Exercise Communication Filter (student view, when working on exercise) Exercise Communication Filter

Describe the solution you'd like

  1. Discuss and develop an approach to filters that combines the advantages of the currently different approaches
  2. Introduce a shared component for opening filters
  3. Find a way to unify the appearance of modals, maybe there can be an abstract shared filter component that enforces some layout?
  4. Replace all occurrences of filters in Artemis with the unified approach from step 1
    Based on a search for faFilter
    • src/main/webapp/app/admin/user-management (3 results)
    • src/main/webapp/app/exercises/programming/manage/grading/feedback-analysis (3 results)
    • src/main/webapp/app/exercises/shared/exercise-scores (3 results)
    • src/main/webapp/app/faq (3 results)
    • src/main/webapp/app/lecture (3 results)
    • src/main/webapp/app/localci/build-queue (3 results)
    • src/main/webapp/app/overview/course-conversations (2 results)
    • src/main/webapp/app/overview/course-conversations/course-wide-search (3 results)
    • src/main/webapp/app/overview/course-faq (3 results)
    • src/main/webapp/app/overview/course-statistics (3 results)
    • src/main/webapp/app/overview/discussion-section (1 result)
    • src/main/webapp/app/overview/visualizations/exercise-scores-chart (3 results)
    • src/main/webapp/app/shared/exercise-filter (3 results)
    • src/main/webapp/app/shared/metis (2 results)
    • src/main/webapp/app/shared/sidebar (5 results)
    • src/main/webapp/app/shared/statistics-graph (3 results)

Additional context

Current Artemis Version: 7.8.0

@florian-glombik florian-glombik added feature client Pull requests that update TypeScript code. (Added Automatically!) refactoring user-experience Pull request / issue that affects the UI/UX within Artemis labels Dec 20, 2024
@github-actions github-actions bot added exercise Pull requests that affect the corresponding module lecture Pull requests that affect the corresponding module labels Dec 20, 2024
@github-actions github-actions bot added assessment Pull requests that affect the corresponding module communication Pull requests that affect the corresponding module programming Pull requests that affect the corresponding module labels Dec 20, 2024
@github-actions github-actions bot added exam Pull requests that affect the corresponding module text Pull requests that affect the corresponding module core Pull requests that affect the corresponding module labels Dec 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
assessment Pull requests that affect the corresponding module client Pull requests that update TypeScript code. (Added Automatically!) communication Pull requests that affect the corresponding module core Pull requests that affect the corresponding module discussion exam Pull requests that affect the corresponding module exercise Pull requests that affect the corresponding module lecture Pull requests that affect the corresponding module programming Pull requests that affect the corresponding module refactoring text Pull requests that affect the corresponding module user-experience Pull request / issue that affects the UI/UX within Artemis
Projects
Status: Todo
Development

No branches or pull requests

1 participant