Affichage scores quiz dans le fichier report.html

Dec 13, 2021

Bonjour,

J'ai réalisé un quiz avec Storyline 360. Ce quiz est composé de 4 parties avec pour chaque partie une diapositive de résultats + une diapositive de résultat final. Ce qui fait 5 scores différents que j'aimerai faire apparaitre dans le reporting lorsque nous imprimons les résultats du quiz. Or dans ce document n'apparait que le score global. Comment faire apparaitre les scores de mes 4 parties dans le reporting ? J'ai bien compris qu'il fallait modifier le fichier report.html mais comment récupérer les variables de mes 4 scores dans ce fichier ? En vous remerciant pour votre aide.

16 Replies
Richard Watson

Google translation (if it is correct). This may be helpful:

https://community.articulate.com/discussions/building-better-courses/results-slide-ff90c157-16fb-4200-9c51-2c6e672f1f4c

"I did a quiz with Storyline 360. This quiz is made up of 4 parts with for each part a results slide + a final result slide. Which makes 5 different scores that I would like to appear in the reporting when we print the results of the quiz. However, in this document only the overall score appears. How do I show the scores of my 4 games in the reporting? I understood that I had to modify the report.html file, but how do I get the variables of my 4 scores in this file? Thanking you for your help."

===

Sophie FINN

Merci de votre réponse. Pour cette partie, pas de souci dans le fichier story. Mon problème est quand je souhaite imprimer les résultats, par défaut, le fichier report.html ne récupère que le score global "Results.ScorePercent" (avec cette ligne de code : studentScore = Number(mainQuiz.nPtScore)).

J'aimerai pouvoir également récupérer Results1.ScorePercent, Results2.ScorePercent, Results3.ScorePercent, Results4.ScorePercent lorsque j'imprime les résultats.

J'ai trouvé dans les forums  les lignes de codes suivantes à intégrer dans le fichier report.html :

var player = window.opener.GetPlayer();
var CustomScore = player.GetVar("Results1.ScorePoints");

studentScore = CustomScore,

Mais ça ne fonctionne pas... (je publie mon projet pour une utilisation en locale, est-ce que le problème viendrait de là ? et si oui, y a -t-il une solution pour que ça fonctionne en local ?)

En vous remerciant.

 

Richard Watson

Sophie,

I don't work that much with JavaScript but I know there are other people on the forums who do. Hopefully, they will respond to your question.  If not, reach out to Walt Hamilton. I noticed he has some excellent JavaScript skills and might be able to help you address this. You can contact him via his profile page. 

Richard

Sophie FINN

Bonjour Lauren et Richard,

Tout d'abord mes meilleurs vœux pour 2022 !

Merci pour vos réponses.

Lauren, oui, j'ai bien une diapositive de résultats pour tous les résultats que j'aimerai faire apparaitre dans le report mais seul le résultat global s'affiche.

Merci Richard pour l'information, je vais contacter Walt Hamilton.

 

Richard Watson

Sophie,

Is this what you are trying to accomplish?

https://bridgehillls.com/creating-a-results-slide-for-multiple-quizzes-in-storyline-360/

If so, you don't need Javascript. Let me know and I can pass more information on how to accomplish this.

Richard

==via google translate===

Est-ce ce que vous essayez d'accomplir? Si c'est le cas, vous n'avez pas besoin de Javascript. Faites-le moi savoir et je pourrai vous donner plus d'informations sur la façon d'y parvenir.

Richard

Sophie FINN

Bonjour Richard,

Merci de m'avoir répondu.

Pour cette étape dans storyline 360, c'est ok. (voir capture d'écran ci-dessous)

C'est l'étape suivante qui me pose problème, lorsque je clique sur "Imprimer les résultats", j'aimerai récupérer les 5 résultats sauf qu'il n'y a que le score global qui s'affiche dans la colonne "Student Score". Avez-vous une solution pour faire apparaitre les 4 autres résultats ? (en local car ce quiz ne sera pas mis en ligne, il fonctionnera juste en local sur l'ordinateur)

En vous remerciant pour votre aide.

Richard Watson

Sophie,

Yes. This is possible but it will require that you utilize JavaScript and create some variables in Storyline.  Here is Matthew Bibby's explanation. 

https://community.articulate.com/discussions/articulate-storyline/using-javascript-to-print-text-entry-variables

I am not a Javascript person, so perhaps someone else will provide you with the best code to use. I did play around with this for a few minutes and was able to pull multiple quiz points and a global total by using multiple results slides and this JavaScript. I also created SL number variables (Results, Results1 and Results2) to equal the value of the built-in quiz variables (Results.ScorePoints, Results1.ScorePoints, and Results2.ScorePoints) and then used (Results, Results1 and Results2) in the script below.

I'm not sure if JavaScript can pull the built-in variables, perhaps Walt or Matthew Bibby can provide insight.  But, from this article, https://community.articulate.com/discussions/articulate-storyline/can-javascript-access-built-in-variables I decided to use custom variables just in case.

Anyway, this may help you a little but it is possible to do this as you can see.

var myWindow = window.open("","Print","width=810,height=610,scrollbars=1,resizable=1");
var player=GetPlayer();
var GlobalResults=player.GetVar("GlobalResults");
var Results=player.GetVar("Results");
var Results1=player.GetVar("Results1");
var Results2=player.GetVar("Results2");
var contents = "<html><head></head><body style='width:650px;padding:20px;'>";
contents+="<div style='height:20px;padding:10px;margin-bottom:20px;text-align:center;'><button onclick='javascript:window.print();'>Print My Notes</button></div>";
contents+="<div style='font-size:18px;font-weight:bold;margin-top:10px;'>Here are your results.</div>";
contents+="<div style='font-size:17px;margin-top:5px;'>Global Score</div>";
contents+="<div style='font-size:17px;margin-top:5px;'>"+GlobalResults+"</div>";
contents+="<div style='font-size:17px;margin-top:5px;'>First Test Score</div>";
contents+="<div style='font-size:17px;margin-top:5px;'>"+Results+"</div>";
contents+="<div style='font-size:17px;margin-top:5px;'>Second Test Score</div>";
contents+="<div style='font-size:17px;margin-top:5px;'>"+Results1+"</div>";
contents+="<div style='font-size:17px;margin-top:5px;'>Third Test Score</div>";
contents+="<div style='font-size:17px;margin-top:5px;'>"+Results2+"</div>";
contents+= "</body></html>";
myWindow.document.write(contents);

 

 

 

 

 

 

 

 

 

 

 

Sophie FINN

Bonjour Richard,

Merci beaucoup, j'ai testé de mon côté et ça fonctionne quand je créé mon propre bouton "imprimer" ! C'est super, ça me redonne espoir !

Mais ça ne fonctionne plus lorsque j'inclus ce code dans le fichier report.html (capture d'écran du tableau de mon message précédent et fichier ci-joint) fourni par storyline, qui se lance lorsque l'on se sert du bouton "Imprimer les résultats" proposé dans l'onglet "Outils de résultat". J'ai essayé de l'inclure à divers endroit du fichier mais ça ne fonctionne pas. Les scores intermédiaires ne s'affichent pas. Ma méthode ne doit pas être la bonne...

Auriez-vous une solution ?

Encore merci pour votre aide !

Richard Watson

Sophie,

I would reach out to Matthew Bibby who wrote the JavaScript code. I’m sure if he has time, he can help you complete this final step. Sorry, my JavaScript knowledge is rudimentary. :)

https://community.articulate.com/users/MatthewBibby

Richard

 

Je voudrais contacter Matthew Bibby qui a écrit le code JavaScript. Je suis sûr que s'il a le temps, il peut vous aider à terminer cette dernière étape. Désolé, ma connaissance de JavaScript est rudimentaire. :)

Sophie FINN

Bonjour,

J'ai finalement abandonné le fichier report.html fourni par storyline et j'ai créé mon script avec la méthode de Richard ci-dessus.

Cela m'a pris beaucoup de temps car j'ai quand même 55 questions donc beaucoup de variables au final. Mais ça fonctionne, c'est le principal !

Merci encore Richard pour votre aide !