Captivate and Scorm

Captivate and Scorm

by Keith Wilkinson -
Number of replies: 15

Problem: Gradebook shows excluded

I am planning to upgrade a successful moodle installation from 1.5 to 1.6 during the summer recess. The most important aspect of the upgrade is to include Scorm packages created in Captivate. At present I have had very little success.

I have just installed a clean XP SP2 OS with a clean installation of Moodle 1.6, PHP 5.1.4, Apache 2.0.58, MySql 5.0.21 and have downloaded and used the captivate 2004 PIF example from http://www.adobe.com/devnet/captivate/articles/output_scorm.html

I have tried this in both versions (1.5 and 1.6) with the same results - the gradebook shows 'Excluded'. Version 1.5 does not report the activity as completed. 1.6 shows the activity as completed.

The 1.5 installation is 12 months old - very stable - working well on a Suse Linux box with php 4, apache 2.0 and MySql 4 with about 300 users and between 300 and 2000 hits per day. I would be equally happy to resolve the issue on the current production.

I am impressed with the 1.6 version so far during testing, but really need to get this Captivate issue resolved. I am particularly impressed with the reporting of the scorm activity and give details of the results of my attempt below.

I have a single course set out in Scorm format. I have tested it with a single user.

Can anyone throw any light into this matter.

Cheers

Keith

Interactions:

Interaction15495choicecorrect 
Interaction18195choicecorrect 
Interaction1023choicecorrect 
Interaction1040choicecorrect 
Interaction18157choicecorrect 
Interaction1064choicecorrect 
Interaction1080

Element:

cmi.completion_statuscompleted
cmi.interactions.0.correct_responses.0.patternC
cmi.interactions.0.learner_responseC
cmi.interactions.0.weighting1
cmi.interactions.1.correct_responses.0.pattern1
cmi.interactions.1.learner_response1
cmi.interactions.1.weighting1
cmi.interactions.2.correct_responses.0.pattern1
cmi.interactions.2.learner_response1
cmi.interactions.2.weighting1
cmi.interactions.3.correct_responses.0.pattern1
cmi.interactions.3.learner_response1
cmi.interactions.3.weighting1
cmi.interactions.4.correct_responses.0.pattern1
cmi.interactions.4.learner_response1
cmi.interactions.4.weighting1
cmi.interactions.5.correct_responses.0.pattern1
cmi.interactions.5.learner_response1
cmi.interactions.5.weighting1
cmi.interactions.6.correct_responses.0.pattern1
cmi.interactions.6.learner_response1
cmi.interactions.6.weighting1
cmi.location10
cmi.success_statuspassed

cmi.suspend_data

K01BB000IA%7E%24tQ%2AA2Bx
%5F110BBBB1B1B1GB%7E%24tQ%2AoIDx
%5F110BBDBCB1B1EBBB0B0EBAB0B0EC%7E%24tQ%2A6iEx
%5F110BBBB1B1B1GD%7E%24tQ%2AE6Ex
%5F110BBBB1B1B1GE%7E%24tQ%2A%2DZFx
%5F110BBBB1B1B1GF%7E%24tQ%2A04Fx
%5F110BBBB1B1B1GG%7E%24tQ%2AvTGx
%5F110BBBB1B1B1GH%7E%24tQ%2A1wGx
%5F110BBBB1B1B1G

Average of ratings: -
In reply to Keith Wilkinson

Re: Captivate and Scorm

by uday ramakrishna -

Hi Keith,

I too have received the same great results that you have received using breeze presenter to create the scorm 2004 course. The only problem is that I want to convert the cmi. stuff into something more meaningful to depict what actually the question is as the person who is going to be the trainer will be non-tech and will not understand anything about cmi.interactions.n.

Would anyone have any ideas about this solution?? I also wonder what the cmi.suspend_data does???

Best Regards

Uday

In reply to Keith Wilkinson

Re: Captivate and Scorm

by John Gschnaidner -

Hi Keith!

I had a similar problem: I have been testing Activity Lock with Moodle 1.6. I could make everything work, but not SCORM.

I figured, that in my case the SCORM module did not feed back any score (resp. grades), only the maximum score.
I found the problem in moodle/mod/scorm/locallib.php: the function scorm_grade_user is using switch / case with names like VALUESCOES; this is not working, even this names have been declared. I replaced the names with numbers and now it is working (see my post http://moodle.org/mod/forum/discuss.php?d=44787&parent=210129).

Maybe this will work for you too.

Regards
  John

In reply to John Gschnaidner

Re: Captivate and Scorm

by uday ramakrishna -

Hi John,

Thanks so much for the response. I think it really worked like a charm. But what I would like to know from you is how we can try and do something with the interaction stuff like cmi.interactions.n.stuff to some meaningful which can indicate some question number or the actual question iteslf. Again I am not getting any good response when I mention about Breeze presenter, but that is what we use to create our courseware but please let me know if there is any way.

Best Regards

Uday

In reply to uday ramakrishna

Re: Captivate and Scorm

by John Gschnaidner -

Hi Uday,

sorry, but I can not help you on this issue - I am not really a software engineer. I am doing programming and debugging just by intuition.wink
The only programming training, that I ever received was a school course about BASIC in 1979!big grin

Regards
  John

In reply to uday ramakrishna

Re: Captivate and Scorm

by Andrew Hu -
Hi,

From the Breeze LMS Adaptor docs

Supported SCORM interacton data elements
cmi.interactions.n.objectives.n.id – The unique identifier for the course (in the LMS.)
cmi.core.student_id – The student’s unique identifier (in the LMS).
cmi.interactions.n.time – the time that the learner completed the interaction.
cmi.interactions.n.objectives.n.id – The ID for the current interaction.
cmi.objectives.n.id – The objective ID.
cmi.interactions.n.type – The type of interaction. Breeze 3.x automatically sets the type to choice for single or multiple-choice quiz questions and true-false items.
cmi.interactions.n.correct_responses.n.pattern – The correct answer(s).
cmi.interactions.n.student_response – The answer(s) given by the student.
cmi.interactions.n.result – The result of the answer given by the student. The format is “correct” or “wrong.”
cmi.interactions.n.weighting – The weight applied to the question.

For more information about SCORM implementation, consult your Breeze LMS Adapter documentation or “Working Together—Breeze and LMS Applications”, which can be found on Macromedia’s E-Learning White Papers web site.
In reply to Andrew Hu

Re: Captivate and Scorm

by uday ramakrishna -

Hi Andrew,

Thanks very much for the detailed description of all the fields. I more or less understand what each of them mean, but I am looking at how I can do a better representation for a trainer who may not get all this technical jargon and may also find it hard to relate it to the actual question. I finally managed to get some interactions id's to work which is more closer to what the trainer might understand. Thanks very much for the help.

Regards

Uday

In reply to uday ramakrishna

Re: Captivate and Scorm

by Andrew Hu -
Hi Uday,

Sorry thought you were having trouble on the Breeze side on the Moodle side you need to edit report.php in the Scorm module.
We use a switch statement to trap the cmi.elements and print out a more legible repsonse. At around line 157
foreach($trackdata as $element => $value) {
if (substr($element,0,3) == 'cmi') {
switch ($element) {
case "cmi.core.lesson_status":
echo " Current activity status is:
".$value.'

';
break;
case "cmi.core.total_time":
echo " Total time spent in Activity (hh:mm:ss:ss):
".$value.'

';
break;
case "cmi.core.lesson_location":
echo " Activity will resume at:
".$value.'

';
break;
case "cmi.core.score.raw":
echo " The students raw score for the activity was:
".$value.'

';
break;
case "cmi.core.score.max":
echo " The students maximum score for the activity was:
".$value.'

';
break;
case "cmi.core.score.min":
echo " The students minimum score for the activity was:
".$value.'

';
break;
case "cmi.core.score.min":
echo " The students minimum score for the activity was:
".$value.'

';
break;
case "cmi.core.session_time":
echo " The time spent in the last recorded session:
".$value.'

';
break;
case "cmi.suspend_data":
echo " Student Progress:
".$value.'

';
break;
default:
echo $element.' => '.$value.'
';
break;
In reply to Andrew Hu

Re: Captivate and Scorm

by uday ramakrishna -

Hi Andrew,

Thanks so much for the pointers on the script changes that need to be done. This is a great place for me to start. I will test these items and I will send you guys an update if I make any break through.

Regards

Uday

In reply to John Gschnaidner

Re: Captivate and Scorm

by Keith Wilkinson -

Hi John

Thanks for the reply - I shall take a look and report back.

At present I am finding this standard difficult to work with - it is more like a chameleon. There are so many wrappers, frames and scripts that it makes understanding where a problem lies difficult. I am trying just one particular example from the macromedia/adobe site just to try to find where things go awry. I know that various different scorm packages I have tried work well for example the package 'cooking up a scorm' aids understanding a great deal. I would like to hear from anyone who has managed to get scores etc recorded for the 'Privacy 101' package from macromedia - or just to tell me what it is supposed to do - possibly from some other LMS.

Just for interest - I have tried the same package (privacy101) using each of the four different grading methods in mdl1.6. The student sees 0 for both the scoes situation and the highest grade. There is nothing recorded for the average and sum grade methods. The teacher viewing the student grades however receives excluded for both the scoes and highest methods and 0% for the average and sum methods.

Perhaps John's library fix may cure this - I live in anticipation.

Keith

In reply to John Gschnaidner

Re: Captivate and Scorm

by Keith Wilkinson -

Hi again John,

I have just tried your neat fix with the following results

Refering back to my previous tests, I ran the same set of tests. Now the students receive 1 for scoes situation and 0 for highest, average and sum. Logged in as the teacher, the gradebook now shows 100% for scoes situation and Excluded for highest, average and sum.

Now I just need to consider if this is the correct feedback from the package smile I shall also test it with other packages created with a variety of programs - you can never be sure.

I wonder if this is also the problem that occurs in mdl1.5 - oh well, off to the laptop to test it.

Once again thanks - it certainly narrows the problem area

In reply to John Gschnaidner

Re: Captivate and Scorm

by Keith Wilkinson -

And yet again John,

The same code changes in mdl1.5 in lib.php work very nicely indeed - now onto the linux box and see what happens there smile I shall have to wait until next week for that one.

That Basic course in 1979 served you well

Cheers

Keith

In reply to Keith Wilkinson

Re: Captivate and Scorm

by John Gschnaidner -

Hello Keith,

thank you for the feedback. I posted this 'bug' and some other in 'Activity Locking' to the main strain of the forum, but I received no answer from the original developers. So it is good to know, that this works not only for me.

I am looking forward to the official release of Moodle 1.6, since it offers me some advantages over 1.5.3, that I had been trying to fix for myself. And it will buy me a real serverbig grin; at the moment I run Moodle on a simple PC as company intranet.

With best regards
John

PS: That BASIC course was the only training, that I received.
But I did some self study on Visual Basic, C#, HTML, PHP, SQL and programming PLCs; mostly by analyzing existing code and picking up some pointers from the web and some books (that I never finished reading).
And I spend years of observing industrial machine behavior, to feedback to the software engineers.

wink
In reply to John Gschnaidner

Re: Captivate and Scorm

by Keith Wilkinson -

Hi John

This seems to be a really weird problem - perhaps you ought to drop it in the moodle bugs for bobo pinna to address.

Since I tested the code and being greatful that it worked - I set out to find out why.

I put the original library back to see if I would get the Excluded message again - and to my surprise - I didn't. The old library worked fine (strange). It must be some kind of initialisation problem. I haven't tried this on my other installations, but I get the feeling that it will work fine with the original library now that your fix has kick started it into action.

Cheers

Keith

In reply to Keith Wilkinson

Re: Captivate and Scorm

by Keith Wilkinson -

Didn't work on the linux box. How odd! Oh well, back to the drawing board.

Thanks for all your help

Keith

In reply to Keith Wilkinson

Re: Captivate and Scorm

by Andrew Hu -
Hi,

I can't help but feel this is a particular implementation of the Flash commands. Macromedia have a SCORM template which they use in Captivate but also appears in Articulate, Camtasia and other Flash format SCORM tools. It keeps coming up on the forums with all the Flash based tools that completion (cmifinish() ) and score (cmi.core.score.raw) values are not being recorded.
The same Flash based SCOes do work in other LMS and ADL test bed. There are many other Flash and Non-Flash SCOes which do not display this problem so I assume the problem lies in the standard templates and the way the communicate with the javascript api.

Any comments Bobo?