Recording student work in an LMS (without runestone)

8 views
Skip to first unread message

Oscar Levin

unread,
May 15, 2026, 1:31:55 PMMay 15
to PreTeXt development
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:
  1. 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.
  2. 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?
  3. 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.

Jason Siefken

unread,
May 15, 2026, 5:09:28 PMMay 15
to prete...@googlegroups.com
This sounds neat! It also sounds like a student could open their browser console and award themselves points?
--
You received this message because you are subscribed to the Google Groups "PreTeXt development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pretext-dev...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/pretext-dev/8e0ad866-dfa7-40b8-9a57-06d69a671756n%40googlegroups.com.

Andrew Scholer

unread,
May 15, 2026, 6:39:01 PMMay 15
to prete...@googlegroups.com
Oscar - 

Brad made a push a while ago to unify the pathways for getting a score from the different runestone components and loading previous responses:

It is plausible that some hooks could be added to allow those pathways to call out to some wrapper that directs them to the SCORE api of the LMS instead of the RS server.

I'd recommend checking out:

Semi-related... Brad has also done recent work on the RS server side to allow other interactives to use the RS server to store state and record grades that can be part of an assignment. (i.e. for them to use RS the way you want to use the LMS). That code is based around the SPLICE protocol (https://cssplice.org/slcp/index.html). But, the RS interactives themselves don't use SPLICE to talk to the server.

To Jason's point, yes, for a (highly) knowledgeable student, the JS console can get you 100% on any Runestone interactive. The interactives are not designed to be secure enough for high stakes assessment.

Andrew

Sean Fitzpatrick

unread,
May 15, 2026, 6:58:58 PMMay 15
to PreTeXt development
A lot of people at our university do "Moodle exams": set up as a quiz in the LMS, but configured so that it's only accessible from our Testing Centre: a big sad room full of computers where students can write their quiz on a lockdown browser while watched by proctors.

It's especially popular with people who think a test with 200 multiple choice questions is peak pedagogy. 

But I digress... This could solve problems for people who have wanted to do quizzes with WeBWorK and similar. Until now we've had the problem that the browsers don't allow navigation to URLs outside the LMS.


Oscar Levin

unread,
May 15, 2026, 7:03:08 PMMay 15
to prete...@googlegroups.com
This is exactly what I was hoping for Andrew.  I'm thinking that the scorm API javascript file can basically be a mock Runestone, communicating with the lms instead of Runestone.  Should make for a fun weekend!

Rob Beezer

unread,
May 15, 2026, 7:11:26 PMMay 15
to prete...@googlegroups.com
On 5/15/26 16:02, Oscar Levin wrote:
>   Should make for a fun weekend!

Just you and Claude. Watch your usage limits!

Seriously, sounds intriguing. Tell us all right away about progress.

Rob

Rob Beezer

unread,
May 15, 2026, 7:11:33 PMMay 15
to prete...@googlegroups.com
On 5/15/26 16:02, Oscar Levin wrote:
>   Should make for a fun weekend!

Chrissy Safranski

unread,
May 15, 2026, 8:12:48 PMMay 15
to PreTeXt development
This is super exciting!

Chrissy

Reply all
Reply to author
Forward
0 new messages