-
Notifications
You must be signed in to change notification settings - Fork 317
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
Human readable course titles for multi-class nbgrader on JupyterHub #1797
base: main
Are you sure you want to change the base?
Conversation
The |
Thanks @jeflem, and sorry for the late answer to this PR. I tested it only in single course environment (not with jupyterhub), it worked well for course list, but not for assignment list. And if you have time, can you rebase it on main, please ? |
7cc3969
to
5066741
Compare
Thanks for considering this PR! I rebased on main. I'm not a git pro. So if something went wrong please let me know.
For non-local formgraders (JHub) course titles are shown in the assignement list's drop-down where you select a course. For local formgraders this does not work (course ID is shown). I'll try to explain why, as far as I understand the design of course list and assignment list extensions:
Current solution (not showing title in assignment list for local formgraders) is not optimal, but good enough for my use case (no local formgraders). If we want to see titles of local formgraders in the assignment list, too, one solution would be to always use the
It's important to use All other solutions I thought about require lots of code changes (listing all formgraders and compare their course IDs to course IDs extracted from assignments, for example). Ideas welcome! |
Course list and assignment list extensions show nbgrader's
course_id
(and/or the formgrader service's name) in the GUI. A course'scourse_id
property has to be (at least) URL save if nbgrader is running in a multi-class JupyterHub setting. Thus, no white space, no specical characters (German umlauts, Chinese,...) allowed.This PR adds a
course_title
property to nbgrader courses and modifies course list and assignment list extensions (server/lab/nb) to showcourse_title
where appropriate. Usingcourse_title
for GUI (and for nothing else) allows for arbitrary course titles.If the new
course_title
property is not set, then behavior is as before (showcourse_id
). In single-class environments setc.CourseDirectory.course_title
to some string. In multi-class JupyterHub environments setThis PR closes #1795.
Tests pass.
Would be great if someone could carefully review this PR. It's my first contribution to nbgrader, maybe I missed something important.