For a bit now we have offered a SCORM output format that bundles an html build with a manifest file that instructors can upload to their LMS. This is useful for instructors that want a document that only their students can see (using Canvas as the login manager, essentially).
But guess what: SCORM can also be used to proctor quizzes. Interactive components on a html page can emit events that some javascript can send to an API that the LMS listens to and adds the results to the grade book.
With the help of Claude, I've hacked together a very simple pretext generated scorm file with the additions needed to serve a multiple choice question and a webwork question. If you answer both correctly, Canvas says I have 100%. Only one of the questions correctly: 50%. It's working!!!!
So besides being so excited about this that I had to tell you all right away, I do have some questions:
- The current hack is really a hack. The extra javascript that communicates with Canvas is listening for a console.log from some runestone javascrip that reports the status of the multiple choice question. I don't really know what it is looking for for webwork. What I think we need are some dispatchEvent that reports the id, response, and correct/incorrect status for each assessalbe thing.
- A listener hook that can restore student solutions when they return to the assessment. To what extent is this already present in the Runestone javascript?
- I'm not really sure what state the runestone javascript is in (nor what other assessment types are, relative to it. Is this a good opportunity to clean some of that up and make it more consistent?
Happy to discuss this live next week as well.