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

Student home page: Make it easier to navigate courses #12287

Closed
zhaojj2209 opened this issue Mar 28, 2023 · 9 comments · Fixed by #12493
Closed

Student home page: Make it easier to navigate courses #12287

zhaojj2209 opened this issue Mar 28, 2023 · 9 comments · Fixed by #12493
Labels
s.ToDiscuss The issue/PR is undergoing discussion/review by the core team

Comments

@zhaojj2209
Copy link
Contributor

zhaojj2209 commented Mar 28, 2023

For students who link multiple courses to the same account, the number of courses on the home page may build up over the years, making it difficult to find a specific course.

Suggestion: provide students with a way to hide a course, or remove a course from their account altogether. After hiding/removing the course, students should still be able to access the session submit form/session results via the links sent to them in session opening/results published emails.

Edit: After discussion, we have decided to go with frontend changes to improve the ease of navigating around the student home page, by making cards collapsible and allowing sorting of courses by creation date.

@zhaojj2209 zhaojj2209 added the s.ToDiscuss The issue/PR is undergoing discussion/review by the core team label Mar 28, 2023
@damithc
Copy link
Contributor

damithc commented Mar 28, 2023

@zhaojj2209 do you mean a way for a student to undo a previous 'join' action?

@zhaojj2209
Copy link
Contributor Author

@zhaojj2209 do you mean a way for a student to undo a previous 'join' action?

After discussion with @samuelfangjw, we propose two possible approaches:

  1. "Hide" the course from view; these hidden courses can be found in a separate table at the bottom of the page. This is similar to archiving courses/soft-deleting sessions on the instructor end.
  2. Unlink the student's account from the course altogether (same as the undo approach Prof mentioned). The student would then no longer be able to access the course from their own account, but they should still be able to access the course sessions via the session links.

Both would help to reduce clutter on the student home page, the main difference is that students will still be able to access the course from their account for the first approach.

@damithc
Copy link
Contributor

damithc commented Mar 28, 2023

My take:

I don't think clutter is not a major issue for typical users, for the following reasons:

  • TEAMMATES is not adopted institute-wide. Hence it is unlikely there are students with many courses. I would be surprised if any regular student user had more than 5.
  • Not many students link their TEAMMATES account to a Google account, as it is optional.
  • With a sensible sort order (e.g., latest on top) and a good collapse logic (e.g., collapse all except first 3), the user doesn't need to bother about courses lower down in the page, same as we are not bothered by millions of results a Google search gives us.

Option 1 requires additional data to be stored, which is a permanent cost. However, we can certainly implement some auto-collapse logic for the home page so that older courses are collapsed automatically.

I'm OK with option 2 for a different reason: Students sometimes link their TEAMMATES accidentally to a Google account and want to unlink, resulting in support requests. It's nice if they can unlink the account themselves. That said, I'm not sure how this fits in with the new authentication model. Perhaps we can wait till that is rolled out first?

@zhaojj2209
Copy link
Contributor Author

Thanks for your input! We can definitely make some frontend-only changes such as making course cards collapsible and improving sort logic. Currently the only sort options are course ID and course name, we can perhaps consider adding sort by course creation date as well.

@gordonscottkolb
Copy link
Contributor

gordonscottkolb commented Apr 17, 2023

I'd like to take a shot at this. Would you mind sharing what files I can find the logic and UI code for the course ID and course name sorting? (Specifically, I would just like to try adding the functionality to sort by course creation date, if possible)

@weiquu
Copy link
Contributor

weiquu commented Apr 18, 2023

I'd like to take a shot at this. Would you mind sharing what files I can find the logic and UI code for the course ID and course name sorting?

Hi @gordonscottkolb, have you tried finding the files by yourself first? Learning how to navigate a larger code base is a good skill to pick up as an OSS contributor, and one which we would like to cultivate in our contributors. Of course, do let us know if you face any troubles while doing so, and we will be happy to help.

(Specifically, I would just like to try adding the functionality to sort by course creation date, if possible)

I think it would be a good idea to fix the whole issue together (i.e. both sort and collapsible cards). (@zhaojj2209, let us know if this is okay, or if the issue is still under discussion.)

@zhaojj2209
Copy link
Contributor Author

I think it would be a good idea to fix the whole issue together (i.e. both sort and collapsible cards). (@zhaojj2209, let us know if this is okay, or if the issue is still under discussion.)

Let's go with both sort by creation date and collapsible cards. Will modify the issue title accordingly.

@zhaojj2209 zhaojj2209 changed the title Student home page: Add hide/remove course feature Student home page: Make it easier to navigate courses Apr 18, 2023
@Zxun2
Copy link
Contributor

Zxun2 commented Jun 22, 2023

Hello! May i check if this issue is available? I'll like to work on this.

@weiquu
Copy link
Contributor

weiquu commented Jun 25, 2023

Hi @Zxun2, feel free to submit a PR for this issue

weiquu pushed a commit that referenced this issue Jul 16, 2023
* feat: add ability to sort by creation date and lazy loading of feedback sessions

* fix: ensure relevant panels open where needed

* fix: clear existing cache before reloading

* fix: duplicate details in accordion bug

* fix: update tests

* fix: linting

* fix: linting

* fix: failing be tests

* perf: reduce api calls

* feat: add information hiding for deletion timestamp

* feat: remove unnecessary line

* fix: update snapshots

* misc: clean up formatting

* fix: lazy load when sort
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
s.ToDiscuss The issue/PR is undergoing discussion/review by the core team
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants