Отслеживание переменной HTML5 в SCORM

1

Недавно я сделал небольшой проект HTML5 для интеграции в пакет E-Learning. По сути, это как небольшая игра HTML5, которую пользователь должен успешно завершить, чтобы пройти курс. Однако я не знаю SCORM или пакетов электронного обучения. Я надавил, что было бы легко отслеживать, если человек успешно завершил игру как переменную внутри html5 и использовал ее, чтобы перейти на следующую часть курса, чтобы сказать, прошли ли они или нет. Однако, когда я передал свою секцию компании, которая интегрировала ее в курс, они не знали, как это может быть связано.

Есть ли простой способ переместить переменную (pass/fail) между страницами SCORM... или, возможно, выбрать, какую часть курса делать дальше, основываясь на переменной в HTML5? Кроме того, есть ли простой способ для чтения или записи во внешний файл, который может быть сохранен в среде электронного обучения?

Любые советы будут очень признательны.

Теги:
scorm

2 ответа

1
Лучший ответ

SCORM предоставляет механизм, называемый "цели" для отслеживания прохождения/неудачи (или полного/неполного) и оценки.

Элементы модели данных, которые вам нужно установить для этого:

cmi.objectives.n.id(CMIIdentifier, RW) Уникальная метка для цели

cmi.objectives.n.status("прошло", "завершено", "не удалось", "неполное", "просмотрено", "не пыталось", RW) Указывает, завершил ли ученик или выполнил цель

Таким образом, предполагая, что у вас есть ссылка на SCORM API под названием API и никакие другие задачи не были установлены, вы могли бы сделать что - то вроде:

API.LMSSetValue("cmi.objectives.0.id", "IDForYourObjective");
API.LMSSetValue("cmi.objectives.0.status", "passed");

И значение pass/fail может быть позже проверено с помощью:

objectiveStatus = API.LMSGetValue("cmi.objectives.0.status");

Если потенциально есть другие цели, вам нужно проверить счет (cmi.objectives._count) и использовать его для определения следующего доступного индекса (вместо 0 выше).

Если бы вы были единственным, кому нужно было бы читать и писать данные, вы могли бы рассмотреть использование cmi.suspend_data (который является просто неструктурированным ведром). Это не мое первое предложение, потому что вы упомянули, что ваша работа будет интегрирована с кем-то другим, поэтому я бы не стал использовать это без проверки того, что они не будут использовать его.

Более SCORM-информация о времени выполнения: https://scorm.com/scorm-explained/technical-scorm/run-time/run-time-reference/

Как найти SCORM API: https://scorm.com/scorm-explained/technical-scorm/run-time/api-discovery-algorithms/

В этом ответе я предполагаю, что это должно быть включено в пакет SCORM 1.2 single-SCO. Ответ будет аналогичным, но немного отличается в 2004 году (как вы можете видеть в ссылке выше). Если это контент с несколькими SCO, тот, кто упаковывает вашу работу вместе в пакет контента, должен объявить цель, которую вы создаете, как "глобальную цель", чтобы другие ШОС могли прочитать ее ценность.

  • 0
    Это замечательно, спасибо за помощь.
0

Страницы:

Если у вас есть отдельные страницы HTML, которые инициализируют это, вам потребуется, возможно, обернуть все это в IFRAME. Основная причина заключается в том, что LMS может слушать вашу загрузку/разгрузку между страницами, и поскольку каждая страница должна будет пересоздать соединение обратно в SCORM API, он может "думать" о том, что SCO выгружен. Есть вероятность, что это не будет, но я все равно буду проявлять осторожность. Конечно, вы можете делать и отдельные страницы.

связь

SCORM - это коммуникационная модель JavaScript. Я подробно расскажу об этом на GitHub здесь https://github.com/cybercussion/SCOBot/wiki. Это будет расширяться во всех обсуждаемых областях и привести некоторые примеры.

Версии

Обычно, если вы после минимального минимума можете определить, используете ли вы SCORM 1.2 или 2004. Затем определите, хотите ли вы правильно настроить счет и статус.

Статус

Завершение = Прогресс существенно. Ученик видел достаточно. Success = Pass/fail - они набрали достаточно высокий уровень.

Удачи.

  • 0
    Большое спасибо.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню