ubc-cpsc / canvasgrading

Tools for grading Canvas quizzes
8 stars 2 forks source link

a related canvas project at UBC #1

Open phaustin opened 4 years ago

phaustin commented 4 years ago

HI @jonatanschroeder -- wanted to give you a quick head's up about a related project we're working on as part of our EOAS tlef. We're interested in using Jupyter notebooks to compose canvas quizzes, and were planning to piggyback on r-exams. I haven't tried json2quiz.py yet, but it looks like it does something similar, but is able to use json instead of xml?

Joe's initial commit: https://github.com/eoas-ubc/r_exams_eoas

Tagging @firasm who is also interested in this.

jonatanschroeder commented 4 years ago

HI @jonatanschroeder -- wanted to give you a quick head's up about a related project we're working on as part of our EOAS tlef. We're interested in using Jupyter notebooks to compose canvas quizzes, and were planning to piggyback on r-exams. I haven't tried json2quiz.py yet, but it looks like it does something similar, but is able to use json instead of xml?

Joe's initial commit: https://github.com/eoas-ubc/r_exams_eoas

Tagging @firasm who is also interested in this.

Hi, @phaustin I'm not familiar with r-exams, but json2quiz.py does something similar to what you have there. It loads a JSON of the quiz, and pushes the JSON back to Canvas. Right now it can't create a new quiz, but it shouldn't be hard to add that implementation. It can, however, change a quiz, create/modify/delete questions, create/modify groups. I like to use it when I need to fine tune copy-paste between quizzes, duplicate questions with minor changes, and stuff like that, where it's easier to do it in a text-editor than with the Canvas user interface. Feel free to try it out, though note that this is a work in progress, and some specific types of questions sometimes need to be revised due to kinks of the Canvas API (e.g., the JSON format you get when you request a question is different than the format you need to use to send it back, with some fields having different names). Also feel free to ask questions.

firasm commented 4 years ago

wow thanks @phaustin for remembering.

Hi @jonatanschroeder - good to see you again!

json2quiz looks great! I do tests/quizzes in my courses and it's a huge pain to check and make sure each quiz has the same settings (not to mention the pain of using a GUI to actually make the quiz).

I agree, adding functionality to go from say, markdown to json would be very useful!

I started looking into what the json format of a quiz question would look like (very briefly) and I found these docs and this community post to be helpful.

phaustin commented 4 years ago

Somewhat related -- we've just pushed an early version of a sphinx template to do some of what weasyprint does for myst:md notebooks:

https://github.com/eoas-ubc/paged_html_theme#pagedjs-html-sphinx-theme