2017-05-03 12 views
0

Moodle 3.2.2를 사용 중이고 Moodle에서 Scorm 코스 디스패치 파일을 업로드합니다. 코스를 다시 시작하는 것 외에는 모든 것이 잘 작동합니다.Moodle Scorm 코스 이력서

나는 Scorm cloud처럼 내 자신의 파견 파일을 만들었습니다. Scorm cloud 파견 파일을 다운로드하여 동일한 과정을 테스트 할 때 정상적으로 작동합니다. 하지만 Moodle의 파견 파일은 코스를 다시 시작하지 않습니다.

참고 : iSpring Presenter를 사용하여 SCORM 코스를 만듭니다.

이것은 내가 가지고있는 파일의 구조입니다.

enter image description here

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> 

클라이언트 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"); 
      } 

사용자가 무 LMS 창에이 코드를 닫습니다

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

을 실행 다음과 같은 코드를 사용하고 있습니다하지만 다음에 시간이 나는 과정을 재개 할 수 없습니다입니다. 아무도 내가 잘못하고 있다고 말할 수 있습니까? 마지막 슬라이드에서 코스를 다시 시작하는 방법.

답변

0

나는이 지식을 확인해야 할 필요가 있으므로 실제 지식에서 파헤쳐 내려고합니다. 나는 Moodle이 코딩 된 방법을 믿는다; 상태를 설정하면 SCO가 "검토"모드로 다시 시작되어 cmi.core.entry를 괴롭히게됩니다. 명시 적으로이 문제를 해결하기 위해 내 Content API 라이브러리에서 '완료 될 때까지 상태 표시 안 함'옵션을 설정해야했습니다. "Finish"와 "LMSFinish"를 혼동하지 마십시오. 그것의 다소 ""학생은 시도와 함께 완료됩니다. 대부분의 SCORM 2004 사용자는 '시도하지 않은'경우 SCO의 상태를 불완전하게 설정합니다. 말된다. 눈에 띄는 차이점 - SCORM 1.2에는 통과, 실패, 완료 또는 불완전한 (시도하지 않은) 상태가 하나뿐입니다. cmi.core.lesson_mode을 확인하여 제 이론이 맞는지 확인하십시오.

콘텐츠 개발자로서 우리는 숙제를 시작하는 것처럼 "완료되었습니다"라는 히트 UI 요소를 노출하는 데 더 나은 작업을 수행했을 수 있습니다. 일부 LMS 시스템은 TOC 또는 레슨 뷰어에 '완료'버튼을 넣기 위해 익스텐트로 이동했습니다. 이러한 용어는 종종 사람들을 혼란스럽게하며 그 중 일부는 SCORM 2004에서 다루어졌습니다. Moodle은 SCORM 2004 런타임 지원을 포기한 것 같습니다.

Moodle은 검토 모드에서 SCO에 대해 데이터를 설정할 수 있음을 기억하십시오. SCORM은 LMS가이 상황에서해야 할 일을 정확히 지시하지는 않았지만 무들은 학생 시도를 계속 변경하도록 허용했습니다. 내 의견은 여기가 "끝나지 않는 시도"입니다. 이것이 옳은지 잘못 되었든 무관심한 것인지에 대해서는 논쟁 할 수 있습니다. 그러나 궁극적으로 1.2에 대한 SCORM 백서는 주로 선택적 vs 필수 사항이었으며 LMS가해야 할 일과하지 말아야 할 일을 부르지 않았습니다. 2001 년으로 돌아가려면 타임머신이 필요합니다.