单个SCO的SCORM包LMS菜单层级异常问题求助
SCORM课程需点击子菜单启动的修复方案
问题描述
近期打包的SCORM课程外观显示正常,但用户在学习管理系统(LMS)中启动时,必须先点击菜单按钮展开子菜单,再点击子项才能进入;其他同类型单SCO课程仅需点击父项即可直接启动。问题根源在于Manifest文件的结构设计,单SCO课程无需多层菜单结构。
用户看到的LMS界面:
当前Manifest代码
<?xml version="1.0" standalone="no" ?> <!-- Single SCO content packaging example. SCORM 2004 2nd Edition. Provided by Rustici Software - http://www.scorm.com This example demonstrates the simplest possible manifest, containing just one SCO and no metdata or sequencing information. --> <!-- The manifest node contains a unique identifer for this course and the course's version number. The schema declartions are important to ensure you are delivering valid XML. For the most part these should remain static. Other schema prefixes are allowed, but can limit interoperabilty. --> <manifest identifier="com.scorm.golfsamples.contentpackaging.singlesco.20042nd" version="1" xmlns="http://www.imsglobal.org/xsd/imscp_v1p1" xmlns:adlcp="http://www.adlnet.org/xsd/adlcp_v1p3" xmlns:adlseq="http://www.adlnet.org/xsd/adlseq_v1p3" xmlns:adlnav="http://www.adlnet.org/xsd/adlnav_v1p3" xmlns:imsss="http://www.imsglobal.org/xsd/imsss" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imscp_v1p1 imscp_v1p1.xsd http://www.adlnet.org/xsd/adlcp_v1p3 adlcp_v1p3.xsd http://www.adlnet.org/xsd/adlseq_v1p3 adlseq_v1p3.xsd http://www.adlnet.org/xsd/adlnav_v1p3 adlnav_v1p3.xsd http://www.imsglobal.org/xsd/imsss imsss_v1p0.xsd"> <!--The metadata node simply declares which SCORM version this course operates under. "CAM 1.3" is the notation for SCORM 2004 2nd Edition.--> <metadata> <schema>ADL SCORM</schema> <schemaversion>CAM 1.3</schemaversion> </metadata> <!-- There is just one organization. The organization contains just one item.--> <organizations default="control_interno" adlseq:objectivesGlobalToSystem="false"> <organization identifier="control_interno"> <title>Control Interno</title> <item identifier="item_1" identifierref="resource_1"> <title>Control Interno</title> </item> <imsss:sequencing> <imsss:controlMode choice="true" flow="true" /> </imsss:sequencing> </organization> </organizations> <!-- There is just one resource that represents the single SCO that comprises the entirety of this course. The href attribute points to the launch URL for the course and all of the files required by the course are listed. --> <resources> <resource identifier="resource_1" type="webcontent" adlcp:scormType="sco" href="./control_interno/index.html"> <file href="./control_interno/index.html"/> </resource> </resources> </manifest>
问题分析
部分LMS会将<organization>节点识别为菜单容器,而将其下的<item>节点作为子菜单显示。当前Manifest中,<organization>仅作为容器存在,实际的SCO资源关联在<item>上,因此生成了两层菜单结构。
修复方案
直接让<organization>节点关联SCO资源,移除多余的<item>节点。修改后的Manifest代码如下:
<?xml version="1.0" standalone="no" ?> <manifest identifier="com.scorm.golfsamples.contentpackaging.singlesco.20042nd" version="1" xmlns="http://www.imsglobal.org/xsd/imscp_v1p1" xmlns:adlcp="http://www.adlnet.org/xsd/adlcp_v1p3" xmlns:adlseq="http://www.adlnet.org/xsd/adlseq_v1p3" xmlns:adlnav="http://www.adlnet.org/xsd/adlnav_v1p3" xmlns:imsss="http://www.imsglobal.org/xsd/imsss" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imscp_v1p1 imscp_v1p1.xsd http://www.adlnet.org/xsd/adlcp_v1p3 adlcp_v1p3.xsd http://www.adlnet.org/xsd/adlseq_v1p3 adlseq_v1p3.xsd http://www.adlnet.org/xsd/adlnav_v1p3 adlnav_v1p3.xsd http://www.imsglobal.org/xsd/imsss imsss_v1p0.xsd"> <metadata> <schema>ADL SCORM</schema> <schemaversion>CAM 1.3</schemaversion> </metadata> <organizations default="control_interno" adlseq:objectivesGlobalToSystem="false"> <organization identifier="control_interno" identifierref="resource_1"> <title>Control Interno</title> <imsss:sequencing> <imsss:controlMode choice="true" flow="true" /> </imsss:sequencing> </organization> </organizations> <resources> <resource identifier="resource_1" type="webcontent" adlcp:scormType="sco" href="./control_interno/index.html"> <file href="./control_interno/index.html"/> </resource> </resources> </manifest>
修改说明
- 移除
<organization>节点下的<item>子节点 - 在
<organization>节点上添加identifierref="resource_1"属性,直接关联SCO资源 - 保留原有的课程标题、元数据和序列控制配置,确保课程原有功能不受影响
修改后,LMS会将<organization>识别为可直接点击的单级菜单,用户无需展开子项即可启动课程。
内容的提问来源于stack exchange,提问作者Cheko García
相关产品推荐
相关产品推荐

