-
Notifications
You must be signed in to change notification settings - Fork 14
Description
Feature request
Currently, assignments can have and number of NCAGs and a text field is available for each NCAG for submissions. This functionality should be expanded to offer instructors the option to create custom forms for submissions.
For the first iteration of this feature, instructors should be able to create forms with questions of the following types:
- Text field (The current functionality)
- Text Area (For longer answers)
- Multiple choice with radio buttons
- Multiple choice with a drop down
For each question, instructors should have a way to add text for the question itself. Each question may or may not have an NCAG associated with it.
The process of creating an assignment should involve:
- Create the assignment and select, via check box, if the assignment is meant for file upload submissions. If it accepts files, it can also accept form questions
- Create all the problems
- Create all the form questions
- Add any number of CAGs and/or NCAGs. Each NCAG specifies which problem it grades
All 4 of these steps are completely independent. For example, right now creating an NCAG automatically creates a form question for that problem. These should be separate actions in case an instructor wants a from question without an NCAG (eg. student selects the language they used which will be read by a CAG -or- collecting ungraded/manually graded info). For UX purposes, creating a form question or an NCAG should also create the problem if it doesn't exist (By having the front end make multiple API calls)
When a submission is made, all form answers are added to a JSON object and the file (If it exists) is uploaded to the server. The server runs all NCAGs on their specified form answers. The file AND form answer JSON are sent to Tango/Leviathan to run all CAGs (Instructors have the option to write a CAG for their form submission in case they need something more that regex String matching).