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

Refactor assignment customisation options and settings #262

Open
6 tasks
florian-jaeger opened this issue Jan 27, 2025 · 0 comments
Open
6 tasks

Refactor assignment customisation options and settings #262

florian-jaeger opened this issue Jan 27, 2025 · 0 comments
Labels
enhancement New feature or request labextension Issue related to grader-labextension service Issue related to grader-service

Comments

@florian-jaeger
Copy link
Contributor

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_submissions into settings
    • also change allow_files settings, as a list of globs/regex, if allow_files was true, then add ["*"], else []
    • change openapi schema
    • change all accesses to the assignment model to reflect the new settings column
  • add JSON settings editor to frontend
  • add grader_config.py config to settings and it them during conversion by writing the JSON similar to gradebook.json
@florian-jaeger florian-jaeger added enhancement New feature or request service Issue related to grader-service labextension Issue related to grader-labextension labels Jan 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request labextension Issue related to grader-labextension service Issue related to grader-service
Projects
None yet
Development

No branches or pull requests

1 participant