分享

在线教育资讯-产业标准--【梁政良】怎样设计一个符合SCORM的LMS?(二)

 高山流水 2005-09-12

【梁政良】怎样设计一个符合SCORM的LMS?(二)

来源:    梁政良    阅读: 159 2005-06-21 18:52:07
 
如果你已经下载了 ADL 所释出的 Sample Run-Time nvironment,而且决定使用 Java 或 .Net 来实做你平台的 SCORM 部份,你可能要花不少时间来读懂它里面的三十多支 Java 程序,或者至少该知道这些程序该怎么用。

  几乎所有的 .java 程序,都为了存取 XML 而写。如果你已经熟读SCORM RTE 的 Metadata,从档名你就知道,几乎是一个 Metadata 就用一支 java 来 take care。从事 java 程序开发的朋友都知道,java 需要自带 XML 的函式库,它无法直接使用 OS 所提供的 XML API (如果有的话,例如 windows)。而这个函式库又超大,因此 java 在 XML 这方面有点先天失利,不过这并非指 java 不适合开发 SCORM,而是我 心目中有比用 java 更适合的对象-就是我在『技术』篇所提到的 SCORM 开发必备技能之二 - Jscript。

  请注意我写的是 Jscript,而非 Javascript。这是 Microsoft 版本的 Javascript,它是一个遵循 ECMA-Script 标准的 script language ,除了在 Microsoft IE 底下有完整的 XMLDOM 可用,即使客户端使用 Mozilla/Netscape 等浏览器,Jscript 也可以用标准的 XMLDOM 来实作 SCORM Adapter。

  在讲到实作 Adapter 之前,我们先来看看 ADL 的 Sample 里的两支重要的 Jscript : APIWrapper.js 与 SCOFunctions.js。

  "APIWrapper.js" 是提供教材制作者,一个呼叫 Adapter API 的接口。教材制作者把这支程序与 Asset 合起来就构成一个简单的 SCO,只要在教材被 launch 时,使用它的 findAPI() 去寻找 Adapter API,找到后就会有一个 API 的对象可用,而这个对象会 mapping 到 LMS 所实作的 Adapter 上,因此它就会有 RTE 所规范的八个方法 (method),开始供你的教材使用了。

  "SCOFunctions.js" 则是提供一些函式,供 Adapter 或者 Content 来使用。这些函式大部份是有关 SCO 在激活与结束时,一些状态属性的 Metadata 侦测与设定。比如 "cmi.core.exit" 侦测这个 SCO 是正常结束或异常结束;"cmi.core.lesson_mode" 是一般阅读或是参观者浏览;还有 "cmi.core.session_time" 是记录这个 SCO 从开始到结束的时间。哦!对了,SCORM 有个资料格式是 CMITimespan,这个是『时间长度』。它精确到小数点后两位,但 Jscript 并没有这样的处理函式 (不知 Java 有没有),所以必须自己写个函式来处理这样的时间加减。这支程序有三个函式:startTimer()、computeTime()、convertTotalSeconds() 可以帮你计算 session_time。它已经被写在 loadPage() 函式中了,所以你只要在 SCO 激活时,在 findAPI() 找到 API 后,用 loadPage() 来呼叫 Adapter 的 LMSInitialize(),再使用 unloadPage() 呼叫 LMSCommit() 与 LMSFinish(),你就完成一个 SCO 的最基本要求啰。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多