-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Is your feature request related to a problem? Please describe.
Currently, we have three representations of assignment customisation options, which contain different layers of configuration:
- assignment settings + configuration assignment columns(deadline, autograding behaviour, etc.)
- holds descriptive and pre/postprocess config
- grader_config.py
- used to configure conversion process
- autogenerated assignment properties(not relevant for this request)
- generated during conversion process and contains grades and code sources
We want to create a simple extensible settings configuration dashboard that allows us to configure all manually generated config through one interface.
Describe the solution you'd like
To do this, we have merge all customisation settings into the assignment settings column. This allows us, to freely add new config while not needing to upgrade the database each time. Furthermore, we need to add the configuration options of grader_config.py to the settings-view. Lastly, we should upgrade the settings view to create a JSON configuration editor, which allows easier configuration of these variables.
To summarize:
- write a database migration that takes the columns
duedate,allow_files,automatic_grading,max_submissionsintosettings- also change
allow_filessettings, as a list of globs/regex, ifallow_fileswas true, then add["*"], else[] - change openapi schema
- change all accesses to the assignment model to reflect the new settings column
- also change
- add JSON settings editor to frontend
- add
grader_config.pyconfig to settings and it them during conversion by writing the JSON similar to gradebook.json