<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"\@SimSun";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
span.EmailStyle19
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-GB link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='color:#1F497D'>When you turn the page, the quiz icon no longer exists. You’ll need to modify the quiz model to put the data somewhere that will still exist after the page turns: rootIcon.quizResults.score for example.<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>I’d make a generic solution if I could think how best to do it: you might have more than one quiz in an rlo. It would probably be worth initialising a tracking array, with an entry for each page to store data, then you could put results in from any page:<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>rootIcon.trackingData = new Array();<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>//loop over the xml and initialise an object / value for each<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>for (i = 0 to number of pages in rlo){<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>  rootIcon.trackingData[i] = new Object();<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>}<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>Then you can store data in the array based on rootIcon.currentPage, i.e.<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>rootIcon.trackingData[rootIcon.currentPage].score = 99;<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>and finally loop back over the array to fish the results out and display them / submit them / whatever.<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal style='margin-left:36.0pt'><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> xerte-bounces@lists.nottingham.ac.uk [mailto:xerte-bounces@lists.nottingham.ac.uk] <b>On Behalf Of </b>KnowledgeWare<br><b>Sent:</b> 13 September 2011 04:57<br><b>To:</b> Xerte discussion list<br><b>Subject:</b> [Xerte] reading quizScoreTracking.sum() and quizScoreTracking.length<o:p></o:p></span></p></div></div><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-CA style='font-size:14.0pt'>I’m running toolkits and have a final quiz (quiz.rlm) with scorm tracking turned on. Everything works fine. I wanted to add another page which displays the score (again) then makes a decision about printing a certificate.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-CA style='font-size:14.0pt'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-CA style='font-size:14.0pt'>I’ve created a model in desktop xerte which is basically a text page and a script icon which writes to this text page, then imported the model as the next icon after the quiz.  I’m trying to grab the value of ‘quizScoreTracking.sum’ and ‘quizScoreTracking.length’ and display it on the ‘welcometext’ page like this:<o:p></o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-CA style='font-size:14.0pt'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-CA style='font-size:14.0pt'>welcometext.setText('You got ' + <span style='background:yellow;mso-highlight:yellow'>quizScoretracking.sum()</span> + ' correct out of a total of ' + <span style='background:yellow;mso-highlight:yellow'>quizScoreTracking.length</span> + ' questions. Your score is: ' + score + '%');<o:p></o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-CA style='font-size:14.0pt'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-CA style='font-size:14.0pt'>When I run it however I get:<o:p></o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-CA style='font-size:14.0pt'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-CA style='font-size:14.0pt'>“You got undefined correct out of a total of undefined questions. Your score is: NaN%”<o:p></o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-CA style='font-size:14.0pt'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-CA style='font-size:14.0pt'>Am I doing something wrong…or do these variables get purged when the quiz icon is passed?<o:p></o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-CA style='font-size:14.0pt'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-CA style='font-size:14.0pt'>TIA<o:p></o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-CA style='font-size:14.0pt'>RonM2<o:p></o:p></span></p></div></body></html>