Storyline 360 ​​приостанавливает обработку данных - PullRequest
0 голосов
/ 06 ноября 2018

Добрый день!

Будучи новичком в SCORM, мне было интересно, как Storyline 360 ​​обрабатывает свои данные приостановки. Влияет ли это на то, как оно обрабатывает данные приостановки на основе используемой вами LMS?

У меня есть сцена, которая по завершении генерирует сертификат для учащихся. По умолчанию используется имя, которое имеет LMS, и он автоматически заполняет ввод при запуске временной шкалы.

Одним из требований для этого является то, что когда пользователь изменяет ввод на любое имя, которое он желает, он должен быть сохранен и получен при следующем посещении. Я использовал SCORM Cloud в качестве тестовой LMS. Мое наблюдение состоит в том, что для каждого повторного запуска курса он не извлекает имя, которое я ввел из последнего сеанса с помощью методов SetVar () и GetVar ().

Я нашел обходной путь, используя lmsAPI.SetDataChunk, чтобы установить имя, затем использовал lmsAPI.GetDataChunk, чтобы получить его. Он работал хорошо и хорошо, но когда он был развернут в нашей LMS, он все еще что-то извлекает, но это бред.

Это то, что я сейчас получаю, получая DataChunk:

Этот код проверяет, были ли какие-либо сохраненные имена из предыдущих сессий с помощью GetDataChunk ()

var player = GetPlayer();
var student = lmsAPI.GetStudentName();
var suspenddata = lmsAPI.GetDataChunk();
var username= player.GetVar("userName");
var displayname = "!";


if(suspenddata){
console.log("suspenddata is:"+suspenddata);
username=suspenddata;
}

if(!username){
console.log("username is null, setting to:  "+student); 
 username=student;
}

player.SetVar("userName",username);

if(username){
 displayname=" "+username+"!";
}
player.SetVar("displayName",displayname);
player.SetVar("nameInput",username);

Когда пользователь решает изменить свое имя, оно будет сохранено в переменной сюжета с помощью SetVar (), а также передано в SetDataChunk (), как показано ниже

var player = GetPlayer();
var nameinput = player.GetVar("nameInput");
var username = player.GetVar("userName");
var displayname = "!";

if(nameinput){
 console.log("nameinput is:"+nameinput);
 username = nameinput; 
 displayname=" "+username+"!";
 player.SetVar("displayName",displayname);
 player.SetVar("userName",nameinput);
 lmsAPI.SetDataChunk(username);
}else{
 console.log("nameinput is null");
}

Этот код хорошо работает, когда я развернул его в облаке SCORM, но, как я уже говорил, он получит бред при развертывании в нашей собственной LMS. Я не пробовал развертывать эту версию, где она не будет использовать DataChunk, но даже тогда переменные Storyline должны быть сохранены в данных приостановки при развертывании в SCORM Cloud, но это не так. Я нахожусь в конце моего ума, поэтому любая помощь будет оценена. Спасибо!

...