Сохранение оценок SCORM (экспортировано из сюжетной линии 2) в базу данных

В настоящее время я делаю LMS на PHP. В lms администратор может загрузить файл SCORM (1.2), на который ответят пользователи, и результат будет сохранен в базе данных. (Мысль таблицы в виде: userID, scormID, grade)

Я просмотрел другие варианты, такие как Moodle, но у них нет нужных мне функций (даже с изменениями).

Если невозможно обработать SCORM, есть ли другой формат, экспортированный из сюжета 2, который я могу использовать?

1 ответ

Решение

Реализовать базовую версию серверной части, необходимой для SCORM1.2, легко, и вот тихое длинное руководство, объясняющее детали: http://www.vsscorm.net/ - возможно, это ответит на ваш вопрос. Я явно говорю "базовая версия", потому что есть много причуд и трудностей, с которыми нужно справиться, если вы хотите поддерживать все функции SCORM, и даже больше, если вы хотите обрабатывать любой вид контента SCORM1.2.

редактировать

Я не очень хорошо осведомлен о storyline2, но если внедрение SCORM является для вас практически осуществимым решением, вот краткое резюме того, что вам нужно сделать:

Во-первых, вам нужно реализовать импорт пакета SCORM. Это легкая часть:

  • Распакуйте ZIP-файл в общедоступную папку
  • Разбор imsmanifest.xml. Важными вещами являются предметы и связанные с ними ресурсы. Вы можете создать таблицу, содержащую заголовок элемента и URL-адрес записи соответствующего ресурса (SCO). Для простой реализации этого должно быть достаточно

Во-вторых, вам необходимо реализовать среду выполнения:

  • Вам требуется html-оболочка, содержащая (i) фрейм, загружающий URL записи SCO и объект javascript "API", который обеспечивает функциональность SCORM:
    • LMSInitialize: настройка среды SCORM. Ожидает пустую строку в качестве параметра
    • LMSFinish: прекратить сеанс. Ожидает пустую строку в качестве параметра
    • LMSGetValue: получить значение из модели данных cmi, например, "cmi.core.score.raw". Внимание: возвращаемое значение всегда является строкой!
    • LMSSetValue: установить значение из модели данных cmi
    • LMSCommit: Скажите LMS для постоянного хранения модели данных CMI. Если вы реализуете LMSSetValue для записи значений непосредственно в базу данных, вы можете сделать реализацию заглушки
    • LMSGetLastError: получить последний код ошибки
    • LMSGetErrorString: для простой реализации просто верните предоставленный код ошибки
    • LMSGetDiagnostic: для простой реализации просто верните предоставленный код ошибки
  • API содержит модель данных "cmi", которая содержит, например, имя пользователя, оценку, статус урока и т. Д.

Как я уже сказал, это просто резюме, но есть много литературы по этому вопросу. Вот еще один источник: http://scorm.com/scorm-explained/

Другие вопросы по тегам