In this part of the series, I created a simple randomized quiz using Articulate Studio and exported it as a SCORM 1.2 package so I could understand better how SCORM quizzes ("interactions") worked. It's quite straightforward, but it's annoying that a SCORM client never actually transmits what the questions are to the LMS. It transmits the student response, the correct answer, and the score, but never the text of the question.
I was originally intending to map the SCORM questions onto EDU 2.0 questions so that the LMS could build up its question bank dynamically as it ran SCORM modules, but now I realize that it's technically impossible since SCORM never sends the text of the question. Ironically, this makes my life easier as all I really have to do is to create a single "ScormInteraction" class that captures all the data but doesn't bother to do anything more meaningful with it.
I also stubbed out all the remaining cmi.* methods so my ScormController now accepts the full SCORM 1.2 API, although many of them are just skeleton implementations. So now I can run a SCORM 1.2 quiz but I can't record any of the data.
The next step is to add ScormInteraction and ScormObjective classes and support the recording and playback of all interaction data. At that point, I'll be close to the finish line.
This part took 3 hours, so the total time spend is now 29 hours.
Comments