Questions, Answers, and how much you can report in SCORM 1.2 and 2004



Hi I have a Flash based sco that is a simple, multi true / false question exercise. Assuming that I can get it to pass out information that includes not only score, but the actual exercise text PLUS the user's answers, is it possible to pass that info to the runtime, such that a teacher can log on, and view the user's completed exercise, ie the sentence from the exercise plus the user's answers? Many thanks in advance for your time.


So, I'm gonna separate this question a bit.  

1.  Flash has no impact on the exercises/interactions... It does add a layer of complexity in using SCORM at all, but once that leap has been made, everything works the same as without Flash.

2.  How do interactions work?  (And, how do they vary between versions of SCORM?)

SCORM does allow the content to report interactions to the LMS.  Absolutely.  In SCORM 1.2, the following vocabulary elements (and others) are available (all under LMSSetValue).  

(Note: I've only included my notes on items that are relevant to this discussion.  Further, any examples below relate to the question...)

What is my name?
A. Tim (correct)
B. Joe
C. Mike

  • id
    • An alpha-numeric string with no internal spaces.
    • Since there's no "description" element, this becomes the best place for a description, and you end up with something like "What_is_my_name".  It's usable, but barely.
  • objectives
  • time
  • type
  • correct_responses, student_response
    • The specifics depend on the type of question you're dealing with, but for now, we'll talk multiple choice.
    • From the spec"...the pattern is one or more characters separated by a comma.  Integers (0-9), letters (a - z) or both may be used.  Each possible response is limited to a single character.  If there are more than 26 possibilities, then a performance type must be used."
    • So, for our question, the content can simply report: "a".  Again, someone with intimate knowledge of the content could figure this out, but for a random user reading a report, it's pretty difficult to parse.
  • result



In SCORM 2004, this changes substantially.  The following options (and others) are available for interactions:

  • id
    • long_identifier_type
    • This alone is better than SCORM 1.2 because it's 4000 characters long, but there's an even better option below.
  • type
  • correct_responses, learner_response
    • A set of short_identifier_types (up to 36)
    • Well, this is better.  It's not perfect, but still.  Now, we can report "Tim" or "A:Tim".  At least it's something readable now...
  • result
  • description
    • localized_string_type
    • YES!!! We have 250 characters of space to describe, in real text, the question itself.  In our example, we get to use, "What is my name?"  How great is that?

So, that gives you a sense of what can and can't be done across the versions of SCORM.  


Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request


  • Avatar
    Matthew Steele

    Hi Tim

    Many thanks for this. I'm trying a demo out on your test track, but am getting an error when using 'description'. I think I'm calling the function incorrectly. This is the error:

    LMSSetValue('description', '1This is Sentence number...')
    returned 'false'

    CheckForSetValueError (description, 1This is Sentence number..., description, , )

    SCORM ERROR FOUND - Set Error Stat201 - The parameter 'description' is not recognized.

    '1This is Sentence number..' is the question text that I'm trying to pass into 'description' as you mention above. Should I be passin something like 'cmi.core.description' instead? Any help much appreciated.


  • Avatar
    John Mensel


    Sorry, I didn't give the full syntax, etc above.  For example, your description should be set like this:

    LMSSetValue('cmi.interactions.0.description','This is sentence number 1.');

    But, I don't want you to think it's quite that simple either.  Prior to setting that description, you need to make sure you're working on the right interaction in the array...  It works _something _like this:

    • Get the current count of interactions
    • Set the ID for the _next _interaction
    • Set the other elements on that interaction

    Ultimately, the spec is probably the right place to go for this level of detail, but if you want to get a better sense of the difficulty, check out this other post as well.

Powered by Zendesk