I’m still trying to fix the problem that my reader’s SCO highlighted (described in this post). I’ve implemented the optional data element that it’s trying to use – cmi.comments – but that hasn’t fixed the problem. So I need to look elsewhere.
The SCO is trying to save the user’s comments to the LMS database when the SCO is closed. So, perhaps, the API code isn’t being given enough time to commit all of the data values to the database before everything shuts down.
A reader recently contacted me with a problem that raised some interesting issues. Hopefully, we’ve now resolved the problem but, since the issues might well occur with other SCOs, what I’d like to do is to walk through the process and show how the VSSCORM RTE has to be modified to deal with this situation.
Here’s what was happening. The SCO in question was a technical training course – the subject is unimportant – and it ran OK except for one problem. The SCO author(s) had very helpfully provided a small text area on the SCO screens where a student could write notes and have them saved between sessions – in effect, online ‘PostIt’ notes. The problem was that the notes weren’t being saved to the database when the SCO was closed.
I’m taking a break from development to re-arrange the VSSCORM website. I think the new structure and navigation will make it easier for me to organize the content, and for you to find it when you need it.
This will – inevitably – involve quite a few changes and, during that time, things may well break. So please bear with me while I make the transition.
OK – I’ve come quite a long way with understanding the SCORM 1.2 standard (although it would be wrong to claim that I understand all of its nuances), and a fair way with the development of the VSSCORM interface. So, this is a short post to talk about where I think I’m going next with the VSSCORM project, and to ask for your feedback.
After a somewhat longer time than I’d planned, here’s Rev 2.1 of the VSSCORM 1.2 RTE. It includes the following changes from Rev 2.0:
An eagle-eyed reader of the blog has brought the following bug to my attention.
In all cases in the php code, you use the string “ab initio” as the value for cmi.core.entry when it is the first time a SCO is used.
According to the SCORM 1.2 spec doc, SCORM_1.2_RunTimeEnv.pdf – page 3-22, (page 34 of the file), the value should be “ab-initio” with a hyphen.
In Step 48, I introduced a flag to indicate whether a session had been finished or not. In that post, it was used to ensure that LMSFinish wasn’t called multiple times. But I really ought to extend it to make sure that none of the API functions are processed after the session has been closed.
I recently spotted a bug in VS SCORM 1.2 RTE Rev 2.0. Line 54 of finish.php reads:
$rawscore = readElement('cmi.score.raw');
It should read:
$rawscore = readElement('cmi.core.score.raw');
I’ll incorporate this fix in a new release of the RTE once I’ve made a few other improvements.
If you want a very simple test case, you can use this content package – a single SCO consisting of:
- a title page;
- 3 test questions (the correct answer in each case is “true”); and
- a results page.
Rev 2.0 of the VS SCORM RTE – the first version with client-side caching – is now available for you to download.