Резюме курса Moodle Scorm

Я использую Moodle 3.2.2 и загружаю файл отправки курса Scorm в Moodle. Все работает нормально, кроме возобновления курса.

Я создал свой собственный файл отправки, как это делает облако Scorm. Когда я тестирую тот же курс, загружая файл рассылки облака Scorm, он работает нормально. Но мой файл рассылки в Moodle не возобновляет ход.

Примечание. Я использую iSpring Presenter для создания курса SCORM.

Это структура отправки файлов, которые у меня есть.

введите здесь описание изображения

Код dispatch.html

<html>

<head>
    <title></title>
    <meta charset="utf-8" />
    <script src="configuration.js"></script>
    <script src="utils.js"></script>
    <script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
    <script type="text/javascript">
     include_script(DispatchRoot + "/scripts/client-driver.js");
        include_script(DispatchRoot + "/scripts/client-loader.js");

    </script>
</head>
<frameset id="dispatch_frameset" rows="0,*" frameborder="0" framespacing="0" border="0" onload="DispatchStart('dispatch_course_frame')"
          onunload="DispatchUnload()">
    <!-- We set the src to blank.html to avoid security warnings in IE6 / IE7 when launching in HTTPS -->
    <!--<frame id="dispatch_content_frame" name="dispatch_content_frame" src="blank.html" />-->
    <frame id="dispatch_loading_frame" name="dispatch_loading_frame" src="blank.html" />
    <frame id="dispatch_course_frame" name="dispatch_course_frame">
</frameset>
<noframes>
    Your browser must be able to view frames for this content to display.
</noframes>

</html>

client-driver.js — это файл, который помогает наладить связь между LMS и SCORM. в то время как файл client-loader.js - это место, где происходит общение. Я использую следующий код

var completionStatus = Getvalue("cmi.core.lesson_status");
            if (completionStatus == "not attempted") {
                SetValue("cmi.core.lesson_status", "incomplete");
            }
            SetValue("cmi.core.exit", "suspend");
            console.log(Getvalue("cmi.core.student_id"));
            console.log(Getvalue("cmi.core.student_name"));
            var entry = Getvalue("cmi.core.entry")
            console.log(entry);
            if (entry == "resume") {
                var val = Getvalue("cmi.suspend_data");
                SetValue("cmi.suspend_data", val);
            }
            else {
                SetValue("cmi.suspend_data", "2");
            }

Когда пользователь закрывает окно Moodle LMS, этот код выполняется

  SetValue("cmi.core.exit", "suspend");
    api.LMSCommit("");
    api.LMSFinish("");

Но в следующий раз я не могу возобновить курс. Может ли кто-нибудь сказать мне, где я делаю неправильно? Как возобновить курс с последнего слайда.?


person Haseeb Khan    schedule 03.05.2017    source источник


Ответы (1)


Я собираюсь выкопать это из некоторых действительно старых знаний, так что помните, что вам нужно проверить это. Я верю тому, как был закодирован Moodle; если вы установите какой-либо статус, это может привести к повторному запуску SCO в режиме «Проверка», что испортит ваш cmi.core.entry. Чтобы решить эту проблему, мне пришлось явно настроить параметр «не делать статус до завершения» в моей библиотеке Content API. Не путайте «Готово» с «LMSFinish». Это более или менее «студент сделал попытку». Большинство пользователей SCORM 2004 устанавливают статус SCO как незавершенный, если попытка не предпринималась. Это имеет смысл. С одним явным отличием: в SCORM 1.2 есть только один статус: пройдено, не удалось, завершено или не завершено (не предпринята попытка). Проверьте свой cmi.core.lesson_mode, чтобы убедиться, что моя теория верна при втором запуске.

Как разработчики контента, мы, вероятно, могли бы сделать лучше, чтобы показать элементы пользовательского интерфейса, чтобы они нажимали «Я готов», как сдача вашей домашней работы. Некоторые системы LMS даже пошли на то, чтобы поместить кнопки «Готово» в свои оглавления или средства просмотра уроков. Эти термины часто сбивают людей с толку, и некоторые из них были рассмотрены в SCORM 2004. Я полагаю, что Moodle отказалась от поддержки SCORM 2004 Runtime.

Имейте в виду, что Moodle также позволяет сопоставлять данные с SCO в режиме просмотра. SCORM точно не диктовал, что LMS должна делать в этой ситуации, но Moodle решил позволить этому продолжать изменять попытку студента. Мое мнение, что это «бесконечная попытка». Мы могли бы спорить о том, правильно это или неправильно или безразлично, но в конечном итоге технический документ SCORM для 1.2 был в основном необязательным, а не обязательным, и они не называли, что LMS должна или не должна делать по этому поводу. Нам понадобится машина времени, чтобы вернуться в 2001 год.

person Mark    schedule 03.05.2017