使课件符合SCORM标准包含两方面内容:1、课件能正确导入平台;2、课件可以成功和平台通信。
一、SCORM课件导入:支持SCORM标准的平台通过读取“imsmanifest.xml”文件来获得课程标题、课程结构和课程地址,其中 “manifest”节点是文件的根节点,根节点下还有两个子节点“organizations”和“resources”,“organizations”里的信息负责描述课程结构,“resources”里则包含了课程所用资源的存储位置以及类型。
有必要特别指出的是以下几点:
1、各节点的“identifier”属性应该唯一;
2、“organizations”节点下可以有多个“organization”节点,通过“organizations”的“default”属性指向某一个“organization”来决定使用那一种组织结构;
3、“organization”下的“item”节点是可以嵌套的,用来实现课程章节的层次关系;
4、“item”节点的“identifierref”属性的值为某一个“resource”节点的“identifier”属性的值,使某一章节与课程资源建立对应关系;
5、“title”节点里的文本是课程以及章节在平台上的显示文本;
6、“resource”节点的“href”属性是课程资源的存储位置。
“imsmanifest.xml”文件可以由工具生成,所以SCORM标准课件在导入方面一般不会出现问题,但不同平台在导入手段上并不一致,有些平台单纯导入“imsmanifest.xml”一个文件,有些平台把课程文件和“imsmanifest.xml”文件压缩成一个zip压缩包来整体导入,除了导入方式不一致外,“imsmanifest.xml”文件所用的编码也是一个需要注意的地方,只要能被平台正确读取即可。
二、SCORM课件与平台通信:任何一门可以跟踪的课程最起码要向平台提交课程各章节的状态(“未访问”、“未完成”、“完成”)、分数和当前位置。SCORM课件向平台提交以上信息是通过一套标准函数来实现的。这套函数的函数名是标准的一部分,各平台统一,课件只要调用即可。SCORM标准的建立者还提供了一套便于课件调用平台函数的一些脚本文件(“APIWrapper.js”、“SCOFunctions.js”),把这些文件引入课程可以更简单的与平台通信:
1、“APIWrapper.js”直接调用平台提供的API,把平台的函数转化为本地形式的函数
2、“SCOFunctions.js”调用“APIWrapper.js”里的函数,把单一功能函数组合为完成某项任务的可直接调用的函数
课程在引入以上两个文件后,直接调用“APIWrapper.js”里的“loadPage()”可以完成课程的初始化,调用“doContinue( ‘completed ‘ )”来完成课程本章节的学习,
调用“unloadPage()”来注销本门课程。
如果课程希望与平台实现复杂的交互,则需调用“SCOFunctions.js”里的“doLMSGetValue(name)”、“doLMSSetValue(name, value)”,其中“name”的值是SCORM定义的一组文本,具体值可以参考SCORM标准文档。