Storyline 360 приостанавливает обработку данных
Хорошего дня!
Будучи новичком в 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, но это не так. Я нахожусь в конце моего ума, поэтому любая помощь будет оценена. Спасибо!