因此,我正在一个网站上,人们可以在其中创建演示文稿。该网站具有导出SCORM格式的演示文稿的功能(1.2或2004年)。我现在正在研究此功能,这是我第一次见到SCORM。
因此,在我的演示文稿中,有一些按钮可以将您重定向到其他幻灯片。例如,您在幻灯片4上,并且该按钮将您重定向到幻灯片7。
现在,我正在用一个SCO(可扩展内容对象)构建SCORM,所有导航都由我在演示文稿中制作的自定义导航栏处理。
因此,让我们转到实际的问题。我想在不使用自定义导航栏的情况下构建演示文稿,以便可以由LMS(学习管理系统)处理导航。我是通过创建多个SCO(每个幻灯片一个SCO)来做到这一点的,但是我找不到用于重定向按钮的可行解决方案。单击按钮时,如何从幻灯片(SCO)4“跳”到幻灯片(SCO)7。是可以从运行时API中,在1.2中还是仅在2004年中实现,或者根本不可能。
编辑:因此,我试图在scorm 2004第4代中用adl.nav.request
或continue
实现continue
,但是我没有任何运气。我用导航请求-choice
做到了,但是continue
一直让我返回false
在Scorm Api初始化正常后,我会执行以下操作:
console.log(ScoApi.api.GetValue('adl.nav.request_valid.choice.{target=4}'));
console.log(ScoApi.api.GetValue('adl.nav.request_valid.continue'));
if (ScoApi.api.GetValue('adl.nav.request_valid.choice.{target=4}')) {
ScoApi.api.SetValue('adl.nav.request', '{target=4}choice');
} else {
console.log('Not supported!');
}
..我从cloud.scorm.com中的
true
和Moodle中的两个choice
分别得到false
和continue
。 (console.log()
表示LMS不支持它们吗?)在我的清单中,我定义了controlMode及其属性,如下所示:
<imsss:sequencing>
<imsss:controlMode choice="true" choiceExit="true" flow="true"/>
</imsss:sequencing>
选择-允许学习者选择查看内容的顺序
内容。
流程-要求学习者按照由定义的顺序查看内容
教学设计师
选择退出-控制学习者是否可以选择活动之外的活动
通过选择进行汇总。
这就是我读到的关于它们的内容。我尝试过更改它们,但是结果是一样的。我在这里做错了什么? :(
那是我的清单:
<?xml version="1.0" standalone="no" ?>
<manifest identifier="com.scorm.manifesttemplates.scorm2004.4thEd.nometadata" 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>2004 4th Edition</schemaversion>
</metadata>
<organizations default="158ltd.omo.org">
<organization identifier="158ltd.omo.org">
<title>sdasdf</title>
<item identifier="course_main_folder">
<title>sdasdf</title>
<item identifier="3" identifierref="54182fce77661">
<title>1</title>
</item>
<item identifier="4" identifierref="54182fce77b28">
<title>2</title>
</item>
<item identifier="5" identifierref="54182fce77ebd">
<title>3</title>
</item>
<item identifier="54182fce786c7">
<title>visible group</title>
<item identifier="6" identifierref="54182fce784f8">
<title>Wooho</title>
</item>
</item>
</item>
<imsss:sequencing>
<imsss:controlMode choice="true" choiceExit="true" flow="true"/>
</imsss:sequencing>
</organization>
</organizations>
<resources>
<resource identifier="54182fce77661" type="webcontent" adlcp:scormType="sco" href="content/slide_3.html">
<file href="content/slide_3.html" />
</resource>
<resource identifier="54182fce77b28" type="webcontent" adlcp:scormType="sco" href="content/slide_4.html">
<file href="content/slide_4.html" />
</resource>
<resource identifier="54182fce77ebd" type="webcontent" adlcp:scormType="sco" href="content/slide_5.html">
<file href="content/slide_5.html" />
</resource>
<resource identifier="54182fce784f8" type="webcontent" adlcp:scormType="sco" href="content/slide_6.html">
<file href="content/slide_6.html" />
</resource>
</resources>
</manifest>
最佳答案
为了在许多LMS系统上进行部署,它们建立规范的方式是在imsmanifest.xml中混合使用SCORM 2004序列和导航。这是包装(内容汇总模型)规范的一部分。其次,通过“ adl.nav.x”利用新的运行时功能。
我个人发现规范的这一部分比较棘手,因为您正在(在SCO中)提出要求,并且您组织中的所有SCO都需要彼此了解。这意味着您的CAM具有所有活动和/或资源的标识符,而您的SCO则需要知道它们正在请求通过这些ID移至内容。这称为“选择”导航请求,您在其中传递要访问的目标:
继续或上一个:
if (wrapper.GetValue("adl.nav.request_valid.continue") === 'true') {
wrapper.SetValue("adl.nav.request", "continue");
} else {
// not supported (fail over)
}
跳过,跳转或选择文档中提到的内容:
if (wrapper.GetValue("adl.nav.request_valid.choice.{target=PAGE-D}") === 'true') {
wrapper.SetValue("adl.nav.request", "{target=PAGE-D}choice");
} else {
// not supported (fail over)
}
此外,在“序列和导航”中,您可以选择控制流程-学生是否可以自由导航,只能在其他选项中前进。从技术上讲,您可以通过启动数据或参数将CAM标识符传递到每个SCO中,以便知道可用的内容。
您可能可以使用简单排序规则直接控制某些所需的行为,这些规则具有用于跳过,退出,重新启动等的前/后条件...。这使您可以设置有关学生如何上课的表现规则。对于所有我强烈建议阅读SCORM SeqNav PDF via ADL或结帐的第3版(如果LMS不采用第4版的话)(2009年修补)。您可能直接从IMS Global获得有关IMS简单排序的更多详细信息。在ADL和IMS之间,在某些相同的较高点上似乎有些争执。
在手上编辑XML(imsmanifest.xml)-
您可以通过添加以下内容来控制课程结构的全部或部分的顺序:
<imsss:sequencing>
<imsss:controlMode choice="true" flow="true" />
</imsss:sequencing>
flow默认为false,但是true允许对请求进行排序。
选择默认为true。
我将提供一个更完整的示例(zip)。我确实注意到我在上面的if语句中检查了一个布尔值,该布尔值实际上响应为“ true”。所以这是我的疏忽。
通过上一个,继续和选择来选择“ adl.nav.request”。但是必须使用choice ='true'才能正常工作。
https://dl.dropboxusercontent.com/u/3459294/scorm/one-page-progression.zip
管理顺序的唯一其他方法是深入研究前提规则和操作。
谢谢,
标记
关于javascript - SCORM:单击演示文稿中的按钮时,在SCO之间跳转,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25831980/