Creating a Learning Journal in RISE using the Learner comments array in a SCORM 2004 LMS

May 09, 2024

I've published a few articles about creating downloadable notes or learning journals from a RISE course such as this one:

Creating a Learning Journal in Articulate RISE - Rise 360 Discussions - E-Learning Heroes

And we recently ran a free workshop on how to do this. Our 'go to' method has been to create Storyline Blocks to capture the learner notes, store the notes in local browser storage until the end of the course when we include another Storyline Block using the pdf-lib JavaScript library to fill in a pdf form template and create the downloadable journal. And this works just fine.

However, we were recently asked to look at whether it was possible to use the learner comments facility in SCORM 2004 rather than local browser storage which has the disadvantage of losing the notes if you pause the course and resume on a different device.

I'm not a SCORM expert and, frankly, I'm not a big advocate of using SCORM either - it's an old and somewhat limited standard in modern elearning design terms. (The clue is in the name - the latest major version is 20 years old!) BUT a lot of clients still use it so we thought we had better investigate the options.

The good news is that it is certainly possible! The bad news is that the JavaScript code is far from trivial - and there are no guarantees it will work on ALL 'SCORM compliant' LMS's. (SCORM compliant doesn't mean you always implement all the features - although, in this case the SCORM 2004 documentation does make it mandatory to support the SetValue and GetValue methods necessary to build this for RISE).

With a bit of effort and quite a bit of cursing in the office, I was able to build the code and get it working in a demo running under SCORM Cloud. The cmi.comments_from_learner field defined in the SCORM 2004 data structure is an array. Each element in the array (i.e. each comment) can be up to 4000 characters. but we coded it so we split the text input fields into two, storing up to 300 words in each, and that worked just fine.

SCORM CLOUD Course Properties

I used SCORM 2004 4th Edition for testing and was able to get it working for both launching the course in a new window (in which case an API wrapper was required around the SCO) and also when launched in a frameset.

I will work on a more detailed article that explains a bit more about this project and maybe run a workshop if enough people are interested.

2 Replies
John Cooper

Hi Will

You are right. supporting the SetValue and GetValue for cmi.comments_from_learner.n.comment is mandatory for compliance  in the SCORM 2004 standard - but reporting on it isn't mandatory for the LMS to be compliant. So a lot of LMS's don't provide access to this array.

In our demo we were just using this data structure as somewhere to store the learner's text input until the end of the course when we inserted a Storyline block to retrieve the data and output it in a downloadable pdf.

We also recognise our code - although it was written and tested to work if the course was launched in a frameset OR in a new window - may not work in every LMS implementation. But it was an illuminating experiment!