-
Notifications
You must be signed in to change notification settings - Fork 2
Design an extendable hook system #61
Description
Currently adding a new hook to the system requires someone with knowledge of the system to make the change and it is highly coupled. It would be nice to have a plugin/module/package based system where an instructor can simply select a plugin/module/package and it would be applied to all the repositories for a assignment.
Use Case Example:
As an instructor I want to add similarity checking for an assignment, however I'd like to do so without having internal knowledge of Virtual TA. During assignment creation or in the assignment settings I must be able to see a list of plugins/modules/packages that are currently set up for all the repositories that are associated with my assignment. I must also be able to added new plugins/modules/packages.
For each plugins/modules/packages/, I must be able to modify their individual settings. Example: For similarity checking I should be able to modify the threshold. Each plugin/module/package should also be able modify the information displayed for a repository.
When this feature is complete, It will be easier to add hooks that check for coding style or automatically test/grade code with an auto-grader.