Storyline SCORM 2004 Interaction Reporting

Storyline does a good job reporting quiz results to a SCORM LMS.  Here's a snapshot of what is posted when a learner submits a single question.

  1. (Scorm12Api) LMSSetValue ("cmi.interactions.1.id", "Scene3_Slide3_MultiResponse_0_0")
  2. (Scorm12Api) LMSSetValue ("cmi.interactions.1.type", "choice")
  3. (Scorm12Api) LMSSetValue ("cmi.interactions.1.student_response", "This is the student's response to the question.")
  4. (Scorm12Api) LMSSetValue ("cmi.interactions.1.correct_responses.0.pattern", "This is the correct response to the question")
  5. (Scorm12Api) LMSSetValue ("cmi.interactions.1.result", "wrong")
  6. (Scorm12Api) LMSSetValue ("cmi.interactions.1.weighting", "1")
  7. (Scorm12Api) LMSSetValue ("cmi.interactions.1.objectives.0.id", "Results1")
  8. (Scorm12Api) LMSSetValue ("cmi.interactions.1.time", "14:36:47")

Notably missing in the reporting is cmi.interactions.n.description which would be the question itself.  Without this, the LMS can report the answer, and is it correct or wrong, but to what question?

The missing description [question] is more than a minor inconvenience when the question is selected from a Storyline group of questions.

Sam

21 Replies
Phil Mayor

Question is not sent, I did agree . All interactions are stored in the resume data it is the reason why you can overload quizmaker resume data with over 100 questions, at this point it will not resume correctly.  Storyline is built on top of quizmaker i do not believe the fundamentals would have changed.  I have not tested but would expect to get the same result.

Sam Carter

Phil Mayor said:

Old scorm KB

http://www.articulate.com/support/kb_article.php?product=ap9&id=4ljfcvj3qo3z

supports data being saved, 

Storyline resume KB

http://www.articulate.com/support/kb_article.php?product=st1&id=jrrv9j8vulu0

Supports the resume data being sent

Phil,

I missed your response earlier which advocates not reporting the question because suspend_data size will grow.  Is this Articulate's position?

Without cmi.interactions.n.description being reported to the LMS, Storyline quiz pools render the learner's choice useless. Here's an example:

The learner incorrectly selected "True".  Which question in the bank of ten true/false questions the learner incorrectly answered cannot be known.  Reporting the choice without the question is useless.

Sam

Scott L

I, too, am very interested in the SCORM data that get recorded. Thanks for the info at the top of the post, Sam! I haven't found anything similar in the SL manual or in any quickly-found resource. Does anybody know of official SL documentation that specifies the current SCORM 1.2 / 2004 data it reports? Or does that only exist in the http://www.articulate.com/support/kb_article.php?product=st1&id=79nsl3hhgneg link?

Zio Fonta

one question, that i never had answer to:

is it possible to set variables using script from storyline? (no hidden question slide or similar tricks)

I tried a lot of combinations but nothing seems to work:

LMS is Moodle and the scorm version is 1.2. I am using the API activity log to track variables in real time.

i tried the following:

LMSInitialize("");

LMSSetValue("cmi.core.score.raw","100");

LMSCommit("");

i also tried using "API." in front of each command, not working

I also tried such kind of command:

lmsAPI.SetScore(98,100,0);

also:

lmsAPI=parent;

lmsAPI.SetScore(98,100,0);

it seems that no communication is created between the SCO and the LMS.

Anyone know how to manage the scorm data model in storyline???

thanks

Zio Fonta

update: 

lmsAPI=parent;

lmsAPI.SetScore(98,100,0);

does work. 

So i went searching for custom storyline functions, and i saw that in the published files there is a SCORMFunctions.js where lmsAPI.SetScore is defined, so now i understand storyline uses dedicated functions to communicate to LMS.

All the functions can be found in that file.

Hope this can help other users, bye!

Zio Fonta

Phil,

objectives are not score dependent, from what i've seen. You can set as many objectives as you need and they will not be reset using track by score and/or submitting interactions in the course.

A good example that worked for me in Moodle:

lmsAPI=parent;

lmsAPI.SetObjectiveScore(1,10, 100, 0);

first argument is the objective id, (objective.0.id)

second is the score (objective.0.score)

third is the maxscore and fourth the minscore.

objective are set (using this storyline function) refering to the first objective available. If you call the following after the previous command:

lmsAPI.SetObjectiveScore(2,50, 100, 0);

you will have variables set into LMS in this way:

cmi.objective.0.id=1

cmi.objective.0.score=10

cmi.objective.1.id=2

cmi.objective.1.score=50

that function is well defined in Storyline and works (similary to all the other storyline LMS functions) whatever you decide to publish to scorm 1.2 or scorm 2004 since it is automatically mapped to rhe relative scorm data model, depending on the scorm version you choosed.

Hope this helped.

Mauro Biscione

Hi Jim,

As you see from SCORM Cloud, your quiz is reporting the description.

There is an issue with your LMS's API that is not letting the quiz report it. I ran into the same problem when I was testing and implementing the interactions feature (as I programmed our own API). In my case, there was a programming error with recording one of the interactions elements. Once I resolved the error, the quiz sent through all of the interactions elements.

I suggest that you report the issue to your LMS vendor.

Ron San

Zio,

Can you please share the solution with us, including complete javascript, instructions related publishing, and other critical info to make this happen.

Success of my course relies on my ability to report gamification related info (number of coins, items, etc.) as well as performance in multiple challenges. I desperately need this to work.

I sent you a personal message too.

 Thanks!