Set cmi.core.lesson_status to 'failed' but then what?

169 views
Skip to first unread message

ian

unread,
Nov 20, 2009, 10:06:06 AM11/20/09
to eLearning Technology and Development
This is a dumb question I'm sure, but I'm going to ask anyway as I
just don't know what the convention for this situation is:

I'm using the pipwerks AS3 wrapper and SCORM 1.2. My main holder swf
updates the lesson status and suspend data each time the learner
navigates to the next screen. On the penultimate screen of each unit
is a quiz . If the learner passes the quiz I set the lesson status to
"passed" then immediately do scorm.disconnect() so that it doesn't get
overwritten by a "completed" status when they move to the final screen
(a list of resources).

But what to do if the learner fails the quiz? Should I set the lesson
status to failed and still disconnect immediately - what if the
learner wants to try again in the same session?

The problem is if I don't disconnect immediately the 'failed' status
gets overwritten with 'completed' if the learner then navigates to the
final screen as I am using the completions array approach as in
Philip's Planets example.

I wonder how anyone else handles this?

Thanks,
Ian

Raymond Sugel Sr

unread,
Nov 20, 2009, 11:13:45 AM11/20/09
to elearning-technolo...@googlegroups.com

Depends on what you want the behavior of the LMS to be.  A lesson_status of “failed” will complete the sco and eventually roll-up a complete to the course.  If you don’t want the student to complete the course without passing the assessment(s), I suggest you set the lesson_status to “incomplete”.

 

Raymond Sugel Sr

eLearning Consultant
847.370.6163
rsug...@pivotpointelearning.com
www.pivotpointelearning.com

--

 

You received this message because you are subscribed to the Google Groups "eLearning Technology and Development" group.

To post to this group, send email to elearning-technolo...@googlegroups.com.

To unsubscribe from this group, send email to elearning-technology-and...@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/elearning-technology-and-development?hl=.

 

image001.png

ian

unread,
Nov 20, 2009, 11:46:04 AM11/20/09
to eLearning Technology and Development
Hi Raymond,

OK, so just avoid 'failed' completely? I guess that makes sense - I'd
just let the client know that 'complete' means they failed the quiz
(otherwise it would show 'passed').

I do find all this confusing - I have the same issue with 'browsed.'
Would the most common thing be to set the lesson status to 'browsed'
if it's been looked at but no quiz attempted, then 'completed' if the
quiz was failed?

Or can I avoid 'browsed' as well - how is it different from
'incomplete'? Arrgh!

Thank you.

On Nov 20, 4:13 pm, "Raymond Sugel Sr" <rsuge...@sugels.com> wrote:
> Depends on what you want the behavior of the LMS to be.  A lesson_status of
> "failed" will complete the sco and eventually roll-up a complete to the
> course.  If you don't want the student to complete the course without
> passing the assessment(s), I suggest you set the lesson_status to
> "incomplete".
>
> Raymond Sugel Sr
>
> eLearning Consultant
> 847.370.6163
>  <mailto:rsuge...@pivotpointelearning.com> rsuge...@pivotpointelearning.comwww.pivotpointelearning.com
>  image001.png
> 79KViewDownload

Philip Hutchison

unread,
Nov 20, 2009, 12:00:14 PM11/20/09
to elearning-technolo...@googlegroups.com
is each section wrapped up as an independent SCORM SCO? 

scorm.disconnect() should only be invoked at the end of a SCO.

Many LMSs will quit out of the course once you've set the status to passed or completed.

If you want the learner to be able to re-take the quiz you have two options:  either modify your course code to handle the "passed"/"failed" status at some later point (when you know there will be no retest), or simply allow the learner to re-launch the course.

the first option means handling the logic in your code. the second option means letting SCORM and the LMS handle the logic.

if you were to do the first option, you could simply check to see if they failed, and before sending the status to the LMS you could prompt them to try the test again. you'd need to decide how many attempts are appropriate.  in this scenario, it's quite possible you'd never send a 'failed' status.

RE: "browsed", you can only set the course to "browsed" if it was launched in browse mode. This is determined by the LMS. (See p. 3-24 in the SCORM 1.2 Run-Time docs)

cmi.core.credit would need to be set to "no-credit"; the catch is that this property is read-only and handled by the LMS.  (See p. 3-23 in the SCORM 1.2 Run-Time docs) 

Same for lesson_mode which also helps determine the mode. The RTE docs say:

Right now there is no SCORM defined way to signify that learning content can be taken in different modes. Implementation will therefore be LMS specific. (3-31)

this is one of SCORM 1.2's "oops" moments... because LMSs can all handle this situation differently, i never use "browsed" as a status.


- philip

ian

unread,
Nov 20, 2009, 1:02:21 PM11/20/09
to eLearning Technology and Development
Thank you, Philip.

I should have read the documentation on 'browsed' more carefully - I
completely misunderstood it.

My units are a multiple sco with one manifest. I have each (flash)
unit in a separate html file with your SCORM wrapper. So if the
learner passed the quiz in unit 1 I was setting the status to 'passed'
then disconnecting. If they then move into unit 2 that html page
initializes a new SCORM object.

However I've just tried getting rid of the disconnect() as you
suggest. And it seems to work fine (the 'passed' status does not get
overwritten by the 'completed' status that is set when they move to
the last screen of each unit). I don't quite understand why it's
working as the LMS does not disconnect following the 'passed' as you
said they sometimes do.

This is what the debug window prints when moving from the quiz to the
resources screen (not expecting you to analyse this!):

SCORM: LMSSetValue ('cmi.core.score.raw','00')
SCORM: LMSSetValue ('cmi.interactions.0.result','correct')
SCORM: Interaction 0's result updated
SCORM: LMSSetValue ('cmi.interactions.1.result','correct')
SCORM: Interaction 1's result updated
SCORM: LMSSetValue ('cmi.interactions.2.result','correct')
SCORM: Interaction 2's result updated
SCORM: LMSSetValue ('cmi.interactions.3.result','correct')
SCORM: Interaction 3's result updated
SCORM: LMSSetValue ('cmi.interactions.4.result','correct')
SCORM: Interaction 4's result updated
SCORM: LMSSetValue ('cmi.core.score.max','100')
SCORM: LMSSetValue ('cmi.core.score.raw','100')
SCORM: LMSSetValue ('cmi.core.lesson_status','passed')
SCORM: LMSCommit()
SCORM: LMSSetValue ('cmi.core.lesson_location','resources.swf')
SCORM: LMSSetValue ('cmi.core.lesson_status','completed')
SCORM: LMSSetValue ('cmi.core.session_time','00:00:38')
SCORM: LMSSetValue ('cmi.suspend_data','1,1,1,1,1,1,1,1,1,1,1,1')
SCORM: LMSCommit()
SCORM: LMSSetValue ('cmi.core.exit','logout')
SCORM: LMSFinish() called
SCORM: LMSInitialise()

The above is from Dokeos which is not actually the LMS I'm building
for but it seems to handle SCORM in a similar way. So hopefully this
will work for us. I think I'll steer clear of cmi.core.credit or
anything beyond the minimum until I know what I'm doing. I really
just need to record if each person has looked at the unit and whether
they passed the quiz.

Thanks again for your help!

Ian
> > > elearning-technology-and...@googlegroups.com<elearning-technology-and-development%2Bunsu...@googlegroups.com>
> > .
>
> > > For more options, visit this group athttp://
> > groups.google.com/group/elearning-technology-and-development?hl=.
>
> > >  image001.png
> > > 79KViewDownload
>
> > --
>
> > You received this message because you are subscribed to the Google Groups
> > "eLearning Technology and Development" group.
> > To post to this group, send email to
> > elearning-technolo...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > elearning-technology-and...@googlegroups.com<elearning-technology-and-development%2Bunsu...@googlegroups.com>
> > .
Reply all
Reply to author
Forward
0 new messages