如何参考其他LMS的培训课程?

时间:2019-02-06 05:09:58

标签: scorm

我被要求制作一门课程,该课程可以在其他学习管理系统中可用的一个基于云的学习管理系统(明亮空间)中使用。目的是让某人像Moodle这样在第三方学习管理系统(LMS)中打开课程,然后从我阅读的内容中读取一个iframe,其中将包含原始LMS(Brightspace)托管的课程

我整天都在研究,但没有取得任何进展。 LMS之间似乎存在oauth,但我无法解决。

如何创建一个SCORM程序包,其中将包含到中央LMS的iframe?而且,是否存在任何可处理身份验证或类似功能的标准化LMS / SCORM协议?

谢谢!

2 个答案:

答案 0 :(得分:0)

将SCORM程序包嵌入另一个SCORM程序包不是要走的路。 SCORM的制造商打算解决此问题的方法是将SCORM包导出并导入第三方LMS中,因为这就是SCORM的全部意义所在。但是,这显然不是您想要实现的。

通常,SCORM软件包只是一个打包的网站(带有清单),它要求嵌入的LMS提供JS API。因此,基本上,您可以在SCORM程序包中执行任何操作,例如创建iframe,在父浏览上下文中调用函数,打开弹出窗口等,只要它不受Web安全机制(例如同一原始策略)的禁止即可。

从理论上讲,如果您的LMS将按原样提供软件包的内容且未进行身份验证,即您在scorm软件包内部具有指向起始页面的深层链接(think index.html)(LMS会而不发送保护性标头(例如X-Frame-Options),则通常可以将此页面嵌入到网络中的任何iframe中,从而嵌入到另一个SCORM包中。剩下的问题将是相同的原始策略,这将阻止位于子框架中的程序包在父框架中调用API。可能有一些技巧可以解决此问题,例如通过在转发给另一个域的相同起源下使用反向代理,但这很可能是不实际的或被其他机制禁止。 如果您可以解决此问题,则仍然必须手动将API调用从嵌入式程序包直通/转发到LMS的API适配器。总的来说,这种方法并不实际/可行。

通常,SCORM不处理身份验证。请查看为此目的的IMS学习工具互操作性(LTI)规范。它允许启动由另一方托管的工具/内容,并提供反向渠道,例如成绩。

我认为Rustici Software的家伙提供了一个托管的SCORM RTE,可以通过LTI启动它,您可能也想看看...

答案 1 :(得分:0)

使用SCORM进行跨域娱乐

“我的内容在另一个域上”的另一种快速解决方法是引用媒体/内容服务器上的JS / CSS,但在预期的LMS上包含一个索引(播放器或启动)html文件,可以将这些文件带入没有跨域问题。

因此,重新打包的SCO仅具有必要的启动文件,但是在其中,您指向的是“ //domain.com/path/to/css/styles.css”而不是“ css / styles.css” ”。对JavaScript文件重复相同的操作。

内容可能比HTML文档中的静态定义资产稍微复杂一些。如果是这种情况,则可能需要进一步调整。

此处的Wiki有一些额外的提示https://github.com/cybercussion/SCOBot/wiki

GL