在toolsapiwrapper.pasjs中,怎么解决scorm的版本问题

javascript - pipwerks JS SCORM API wrapper sets completed module to incomplete on re-entry - Stack Overflow
Learn, Share, Build
Each month, over 50 million developers come to Stack Overflow to learn, share their knowledge, and build their careers.
Join the world’s largest developer community.
Display name
Email address
By registering, you agree to the
Main thrust of question:
When a user re-enters a module which they had already completed and passed, the LMS reflects the course as not having been passed by unchecking the second checkbox in the course menu. It seems that the
cannot get a satisfactory status of the course from the LMS and it is automatically setting back the status to incomplete. How can I fix this?
Background and Environment
We've created an HTML/CSS/JS course which is packaged as a multi-SCO PIF. Each SCO within contains a series of slides and an assessment. When a user has gone through all the slides and taken the assessment, I set <pletion_status to completed. If they passed the assessment, I set cmi.success_status to passed and if not I set it to failed.
The below code snippet shows use of my custom SCORM session and assessment scoring code to do this:
if (scorm_session && scoring_info.isComplete()) {
scorm_session.setParam('cmi.score.min', 0);
scorm_session.setParam('cmi.score.max', 100);
scorm_session.setParam('cmi.score.raw', scoring_info.getScore());
scorm_session.setParam('cmi.success_status', scoring_info.isPass() ? 'passed' : 'failed');
scorm_session.setParam('pletion_status', 'completed');
This works correctly--I see the AJAX request go out with the proper statuses in the data. Further, I see in the LMS course menu that the first checkbox for that module gets checked for completion, and if passed I see the second one get checked as well.
When the user leaves that module to go to another, those checkboxes stay checked correctly. If the user completely exits the course and later comes back, those boxes are still checked. If, however, the user re-enters a module he has passed by clicking the title in the course menu, the "passed" checkbox gets unchecked. So if user wants to go back and look at something in a module he has already completed and passed, he is given the visual indication that he is no longer considered to have passed the course.
It appears that this status change is being triggered by the , but it's due to info it gets back from the LMS on module entry. I see in the console that, on entry, the API asks the LMS for the course status (the API wrapper runs scorm.status("get");). If it receives not attempted or unknown it calls scorm.status("set", "incomplete").
I see in the console that the request for status goes out and unknown is returned--even when I have explicitly set it to completed and passed. I then immediately see a transmission setting the status to incomplete as the code I described says it will.
This is happening both on
as well as a Moodle installation we have in place.
14.9k33648
By spec, if a SCORM SCO is completed, then subsequently relaunched, the second launch is to be treated as a new attempt. This cannot be controlled by the course, this can only be overridden in the LMS's course handling and/or launch options. Not all LMSs provide this option, but I've seen it in Moodle (SCORM 1.2), and I imagine SCORM Cloud would provide the option, too.
Regarding the wrapper's handling of the completion status, the wrapper sets incomplete only if the course status is not attempted or unknown. If the LMS returns any other value, the wrapper will leave it alone.
If you feel the wrapper's completion status handling is causing a problem, you can disable it by setting this flag before initializing the course:
scorm.handleCompletionStatus =
3,86811320
Your Answer
Sign up or
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Post as a guest
By posting your answer, you agree to the
Not the answer you&#39;re looking for?
Browse other questions tagged
Stack Overflow works best with JavaScript enabled当前位置: &>&&>&&>& > 正文
SCORM&标准的课件制作和设计
SCORM 标准:使用F l a s h + H T M L + J a v a -Script 脚本语言结合的形式来实现课件制作标。
为了适应在线学习模式的需求,使不同软件制作的课件能够在一个统一的学习平台上播放,需要有一个统一的课件标准。SCORM 课件制作标准就是在这种需求下逐渐推行开来的,并已成为我国网络化教学采用的一个共同标准。下面,笔者将对使用Flash 制作符合SCORM 标准的课件的方法进行说明。 因为Flash 软件从Flash MX 版本开始,就已经开始支持SCORM,所以,要用Flash 制作符合SCORM标准的课件,有一个最简单的办法。 具体操作如下: 1.打开制作好的Flash 课件。 2.单击“文件\ 发布设置”,打开发布设置对话框。 3.选择“HTML”选项,如果无此选项卡,请在“格式”选项中勾选。 4.单击“模板”后面的下拉列表,选择scorm1.2. 5.选择“带有SCORM 1.2 跟踪的Flash”,确定。 6.单击“文件\ 发布”
这样,发布出来的文件就是符合SCORM 标准的Flash 课件了。发布出来的文件有两个,一个是swf格式文件,一个是同名的html 格式网页文 件,打包时,把这两个文件都打包进去,就能够使用了。但是,这种方法发布出来的文件并没有实现与后台之间的数据传递,所以,要采用一些必要的脚本,对程序 进行处理和完善,使程序更加准确,更具人性化。制作符合标准的文件需要借助于JavaScript脚本语言,使程序后台和Flash文件进行数据交互。致 力于发展和推广S C O R M 标准的美国ADL 协同实验室(ADL Co-Lab)已经制作好了两个A P I 文件:SCOFunctions.js 和APIWrapper.js,只要在嵌入Flash 课件的HTML网页文件中加入这两个文件就可以了。
即在html代码页面中的&title&标签的下一行,加入如下两行代码: &script language="javascript"src="SCOFunctions.js" type="text/javascript"&&/script& &script language="javascript"src="apiWrapper.js" type="text/javascript"&&/script&
其中,APIWrapper.js是一个用于和Flash 平台进行连接的API,对课程相关数据进行读取和记录;SCOFunctions.js 是数据分析处理API,可以设置自定义函数,对接收到的数据进行分析处理。虽然上面的步骤已经能够使课件符合SCORM 标准,但仍需进一步完善,使其更能灵活地调用所需的API 和数据。 第一步: 确认课程页面是否能与LMS 学习管理系统正确连接,能不能正常跟踪。这就需要在网页装载的时候,加入如下测试函数: &SCRIPT LANGUAGE="JavaScript"TYPE="text/javascript"& functionload(){ var a = LMSInitialize(); if(a.toString()=="false") alert("LMS跟踪服务器不可 用,请关闭浏览器重新打开课程!"); } &/SCRIPT&
[点击关键词在7C教育资源网搜索更多关于的教学资源]
■文章录入:admin_qqs&&&&责任编辑:admin_qqs&
上一篇文章:
下一篇文章:SCORM标准学习跟踪机制的研究与实现_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
SCORM标准学习跟踪机制的研究与实现
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩1页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 nodejs wrapper 的文章

 

随机推荐