Converting and handling articulate Storyline 2 story to articulate Storyline 3

Jan 21, 2021

Hi,

 

I have recently inherited asp.net project/web application which has Computer-Based Training built in Articulate Storyline 2.

At the end of the training, user must take an assessment and based on the score, a user is allowed to access the system or not.

There is a following JavaScript in asp page

<script type="text/javascript">
$(document).ready(function () {
var rerun = true;
var transfer = true;
var fn = function () {
var theFrame = window.frames["player_frame"];
if (theFrame && theFrame.GetPlayer) {
var player = theFrame.GetPlayer();
try {
var currentFrame = player.currentSlide();
if (currentFrame.title === "Results" && rerun) {
var score = player.GetVar("QuizResult") === "true";
AjaxRequest("api/users/CbtPassed", "POST", { Passed: score }, "JSON");
rerun = false;
} else if (player.GetVar("Transfer") === "true" && transfer) {
var success = function (value) {
window.location.replace(value);
};
window.PageMethods.GetPageToRedirect(success);
transfer = false;
}
} catch (err) {

}
}
setTimeout(fn, 100);
}
fn();
});
</script>

 

In a nutshell, the script keeps checking for a particular slide and then looking for a result in that slide.

 

At the moment CBT is build using Articulate storyline 2, and everything works fine.

However, I need to modify the CBT using articulate storyline 3, and once I publish a story, I encounter the following issues:

1)  It seems that JavaScript does not find currentSlide() method when it is build using Articulate Storyline 3. How can I rewrite the following line and get a slide title:

var currentFrame = player.currentSlide();

 

2) the second issue I have, it seems I cannot get variables from the story anymore, i.e. 

var score = player.GetVar("QuizResult")

returns "undefined" result. Can you please point me where should I look for an issue? 

 

I'm sorry for newbie questions but I've just got this project and don't have much experience with Articulate at all.

 

1 Reply