Сохранение оценок 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/