Skip to content

Instantly share code, notes, and snippets.

@philipbjorge
Created March 5, 2013 20:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save philipbjorge/5094082 to your computer and use it in GitHub Desktop.
Save philipbjorge/5094082 to your computer and use it in GitHub Desktop.
Rayage Implementation Details
Front End:
Run tests functionality (we can run every time they hit run)
Test output tab has a line for every line in the reference
Modify the html in static/custom/templates/Rayage.html to mess with test output contents
Run sends a message to server 'run_project_request'. We can hook off of that message handler to run the tests as well
Submit assignment
message to server: "submit_assigment"
Display feedback from professor/grader and state of files at submit-time
Codemirror: get the codemirror (editor) instance associated with the filename. codemirrorinstance.add_line_widget(comment)
See example with build errors.
Back End:
Submit Assignment
precompute the JSON object representing a submission, throw it in a folder, return it when the click the radio button.
This can be where we store professor comments (and even grades)
Commenting
Professors, TAs can 'pretend' to be students -- see test output, code. They should be able to mess with the code, but somehow revert to the submission.
We need a 'comment' button on each line to add line-by-line feedback
Test-script uploads
copy the upload template functionality. Test are associated with a particular assignment, so access this from the manage assigments pane.
Tests have a pair: test_name.in, test_name.ref. Both must be present to run a test case.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment