前往顾页

怎样设想一个适合SCORM的LMS?

时候:2011-08-24 00:39来源:知行网www.zhixing123.cn 编辑:麦田守望者

你可以看完这个主题后再思虑若何『生』,或先依你所获得、汇集的需求,先设想一个。但根基上会有几个子体系:

 

 1. 帐号办理

 2. 开课、选课办理

 3. 会商板体系

 4. 功课、问卷、测验体系(此中最首要的是测验体系。如果你功力不敷,短时候无法作一个好用的测验体系的话,可以先 focus 在功课与问卷体系上,而测验可以另找合作厂商)

 5. 如果你还想多同步的服从,可以再加个线上会商室。没时候生长可利用 Netmeeting 的计划或去找一个谈天室的 source 来改。

 6. 最后一个『必须』要做的,就是有一个『课本步进』机制。看你是要很简朴地用一个 frame,外头放个 treeview 来揭示课本目次,或是短长一点,让你的 LMS 可以主动 launch 课本,都行。

 

  把这一切兜起来后,你就完成一个简朴的 LMS。当然,服从你本身还可以自由增加、删减、点窜。别忘了美工也很首要喔!

 

  最后要提示你的,最好把你的 LMS 架构,用 XML 把它描述出来,除当作你的 sitemap,后续还可以作 sequencing maping、菜单 layout ..喔!好处你渐渐会发明。:)

 

  接上去就是做 SCORM 的部分。

 

  因为 ADL 有供应一份 Java 写的 adapter 的 sample source,所以如果你会 Java,那就太荣幸了,直接琶来用,你就少写一万三千多行法度,并且另有国际构造帮你保护法度代码哩!

 

  不过这也轻松不到哪去,因为你要自行设想 Database 的 schema 来存 SCORM 的质料,如果你的 LMS 本身没设想 log,而完整要仰赖 SCORM 所产生的记录,那么这个 database 的设想可要花点时候跟脑筋啰!更何况,你必须先看懂这套法度代码,才气写它与你的 DB 之间的 bridge code。

 

  我的体系在适合 SCORM 之前,已有本身的 log 记录体例、质料,所以除 SCORM 它本身记一套,我的 LMS 本身也会记一套,并且记得比 SCORM 还详细。是以这个部分,我的作法就只需设想若何记录 SCO 产生的 cmi 质料便可,没必要担忧与原有 LMS 的质料是不是抵触。

 

  如许一来就简朴多了。因为一个 SCO 只需一个 cmi data,我只需一一记入我的 DB table 里就好了。所以,在 SCORM 兼容上,我只需求多一个 Table 便可。哇!真是轻松镇静!

 

  在 table 的设想上,因为 cmi 是一个 XML 格局的质料,如果拆成数个部分存,在『拆开存入』与『取出重组』这个部分会影响效能,但我所用的数据库其实不是『原生 XML 数据库』(native XML database),我采取我自创的『仿真 XML 数据库』体例,把 cmi 全部 XML 直接存入 field 中,既有原生 XML 数据库的没必要拆组长处,又保有关系数据库的关联性。
 

如果你已下载了 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 的最根基请求啰。

------分开线----------------------------
标签(Tag):SCORM标准 scorm LCMS 学习内容办理体系
------分开线----------------------------
保举内容
猜你感兴趣