SCORM 1.2 LMSFinish логика для lesson_status

Я работаю над проектом, чтобы сделать существующую LMS SCORM 1.2 совместимой. Я использовал документ от Advanced Distributed Learning Initiative под названием Sharable Content Onject Model Version 1.2 The SCORM Run-Time Environment.

На стр. 3-25 обсуждается логика, которая должна быть реализована в LMS для установки значения cmi.core.lesson_status, когда SCO вызывает функцию LMSFinish (). Он гласит:

После получения вызова LMSFinish () или после того, как пользователь уйдет, LMS должна установить cmi.core.lesson_status для SCO как «завершено».

Мне кажется, что реализация этой логики не имеет смысла, поскольку пользователь может просто просмотреть первую страницу / экран SCO и щелкнуть мышью, после чего мой код LMS установит статус курса на «завершено». Но на самом деле пользователь еще не завершил SCO. Я не хочу, чтобы моя LMS установила статус "завершено", если пользователь фактически не прошел через весь материал.

Эта проблема, кажется, сбивает с толку и других. См .: VSSCORM Шаг 22 - Прогресс и завершение - cmi.core.lesson_status

Может ли кто-нибудь внести некоторую ясность в этот вопрос, чтобы я мог закодировать свою логику LMS, чтобы правильно отразить реальную ситуацию, оставаясь при этом совместимым со SCORM 1.2?

Заранее спасибо.


person Ozzy    schedule 09.12.2015    source источник


Ответы (2)


Чтобы добавить к ответу Риоше, LMSFinish() предназначен для того, чтобы курс сообщить LMS, что учащийся завершил сеанс, а не обязательно весь курс.

Лучшая практика для разработки курса - установить значение для cmi.core.lesson_status сразу после инициализации курса. Это немедленно сообщает LMS, что она не должна не влиять на значение статуса урока, когда курс вызывает LMSFinish(), а пользователю, который быстро закрывает курс, не покидая первую страницу, будет присвоен статус incomplete.

Однако, если авторы курса выбирают не для установки lesson_status, в документации SCORM указано, что LMS должна установить статус урока на completed. Это то, что они описывают в 3-25, как показано ниже.

3.3.6.1

SCO несет ответственность как минимум за выполнение вызовов API LMSInitialize («») и LMSFinish («»).

3.4.2

Все элементы данных необязательны для использования объектами SCO. От SCO требуется только использование функций API LMSInitialize () и LMSFinish (); они не обязаны использовать LMSSetValue () или LMSGetValue (). SCO могут быть очень и очень маленькими и не предназначены для детального отслеживания.

p 3-25

Дополнительные требования к поведению: Если SCO устанавливает cmi.core.lesson_status, то проблем нет. Однако SCORM не заставляет SCO устанавливать cmi.core.lesson_status. Для успешной обработки этих случаев необходимо соблюдать некоторые дополнительные требования:

  • При первоначальном запуске LMS должна установить для cmi.core.lesson_status значение «не предпринималось».
  • После получения вызова LMSFinish () или после того, как пользователь уйдет, LMS должна установить cmi.core.lesson_status для SCO как «завершено».
  • После установки для cmi.core.lesson_status значения «выполнено» LMS должна теперь проверить, указана ли оценка мастерства в cmi.student_data.master_score, если поддерживается, или в манифесте, членом которого является SCO. Если предоставлена ​​оценка за мастерство и SCO установила cmi.core.score.raw, LMS сравнит cmi.core.score.raw с оценкой мастерства и установит для cmi.core.lesson_status значение «пройдено» или "не удалось". Если оценка за мастерство не указана, LMS пометит cmi.core.lesson_status как «завершено».

Другими словами, если курс устанавливает значения для cmi.core.lesson_status, просто используйте то значение, которое они предоставили (при условии, что это действительный токен). Если курс не предоставляет значение, в документации SCORM говорится, что это очень маленький объект SCO и не предназначен для детального отслеживания. Таким образом, установите статус урока на completed, поскольку SCO слишком прост для установки самого значения.

Если авторы курса не информированы и разрабатывают большой курс, который не может установить значение статуса урока - как описано в вашем сценарии, где пользователь может просто просмотреть первую страницу / экран SCO и щелкнуть мышью - авторы курса очень быстро узнают об их ошибке (как и все мы!) и соответствующим образом отредактируют код курса.

person pipwerks    schedule 09.12.2015

На мой взгляд, здесь отсутствует довольно очевидная часть этого -

После получения вызова LMSFinish () или после того, как пользователь уйдет, LMS должна установить cmi.core.lesson_status для SCO на "завершено" , если оно не было изменено SCO.

Другими словами, если он все еще "not attempted" при вызове LMSFinish (), то его следует изменить (поскольку SCO не разрешено устанавливать его так, чтобы его можно было безопасно тестировать).

Я не уверен, есть ли документ о соответствии для 1.2, он, вероятно, будет где-то в adlnet.gov SCORM 1.2, если это так (есть zip-загрузка, которая выглядит многообещающей) - я привык к версии 2004 года, где есть прямая ссылка в формате pdf - там также есть набор тестов 1.2, но поскольку мне никогда не приходилось его использовать, я не уверен, насколько он будет полезен.

person Rycochet    schedule 09.12.2015