3

我需要使现有的 LMS Scorm 1.2 兼容(仅基本调用)。有谁知道那里有任何免费的脚本,以免不得不从头开始编写?

谢谢!

迈克尔

4

6 回答 6

5

我最近创建并提供了一个简单的 SCORM(1.2) API,您可以免费下载和使用 - 您可以从这里下载:

https://github.com/gabrieldoty/simplify-scorm

于 2017-01-14T16:24:27.387 回答
4

看看这个:http ://scormpool.com/search/player.aspx

我能够下载他们的 JavaScript 文件并播放我自己的 SCORM 1.2 和 2004 课程。

确保下载两个不同的 API.js 文件,一个用于 1.2,另一个用于 2004。

于 2011-11-23T19:44:13.770 回答
3

曾经有一个名为“escorte4js”的示例 SCORM 运行时 API 实现,但不再可从其创建者的站点下载。您可以尝试搜索它,看看在应用程序中使用它的人是否仍有可以发送给您的副本。

您还可以查看 ADL 示例运行时环境。它是一个开源应用程序,包含 SCORM 1.2 的参考实现。

还有几个开源 LMS 已经实现了 SCORM 1.2(取得了不同程度的成功)。你可以看看 Moodle、Illias 或 Sakai。

实现真正兼容的 SCORM 播放器比最初看起来要难。实施规范只是第一步。SCORM(或实际上任何互操作性标准)的真正诀窍是找出其他人以不同方式解释标准的所有微妙方式,并确保您的实现足够灵活以适应所有这些差异。我最近写了一篇关于该主题的博客文章,您可能会感兴趣。在同一站点的 SCORM Explained 下查看更多免费 SCORM 资源。

麦克风

于 2009-06-05T13:27:57.403 回答
2

迈克尔,

好消息 - SCORM 1.2 的大部分内容都是可选的(请参阅下面的细分文档)。现在取决于构建与购买,其他帖子是正确的。这可以在价格范围内,并且通常它们带有一些用于 .NET/Java 或其他的预先创建的平台代码。

我只构建了 JavaScript 部分,但它仍然需要您将其与 LMS 后端服务器端脚本或 API 接口。

我将尝试快速分解这一切的工作原理,并为您节省阅读数百页白皮书的时间。

主要部分

  1. 在服务器端,您需要解压缩称为 CAM 或 PIF 包的 SCORM 包。其中包括小型便携式网站和 imsmanifest.xml。
  2. 您需要能够解析此 imsmanifest.xml,以便提取标题和内容使用的资源。通常,您将它们扔到内容共享中,并可能将数据点存储到您的数据库或 NOSQL 选项中。
  3. imsmanifest 中可能包含在 SCO 启动时添加的启动数据或启动参数。启动参数像查询字符串一样被添加到 URL 中 (index.html?name=value&sky=blue)
  4. 您必须在 LMS 中构建 TOC 视图或课程查看器。当学生单击所需的模块时,您需要获得学生对 SCORM 1.2 的尝试。我使用 JSON 来支持 CMI 对象。一些内容暂停,一些刚刚启动和终止。
  5. 一旦您有学生对该课程的尝试,您将需要公开“API”JavaScript 运行时,并支持对学生尝试(CMI 对象)的读/写。SCORM 有一些关于该对象的进出的规则,并且运行时 API 强制执行它。
  6. 有一些关键因素会触发您将学生尝试存储到后端服务器。我在 LMSCommit 上执行此操作。如果您对每个 LMSSetValue 执行此操作,您将开始对您的服务器进行 DDoS 攻击。DNS 响应时间最终会延迟超过 250 毫秒,您可能会遇到糟糕的用户体验。
  7. 一旦 SCO 触发 LMSFinish,这表明您可以结束学生尝试,并可能卸载 SCO。

有更微妙的部分维护了内容的发布/重新发布。LMS 总时间(运行内容)。如果您选择支持目标和交互。如果您寻求完全 100% 的支持,那么规范中几乎没有任何问题。内容开发人员在将内容带到其他 LMS 平台时不可避免地会遇到其中的一些问题。

上合组织

SCO 通常包含必要的 JavaScript,以通过弹出窗口、新窗口、选项卡或 IFRAME 查找您在 LMS(在网页上)公开的“API”变量。它有一个算法来扫描 DOM。这就是为什么我在上面通知您,您的 LMS 需要在启动 SCO 之前公开学生尝试和“API”。如果不这样做,很可能会导致 SCO 以非持久模式运行。

SCORM 1.2 的运行时

您需要创建的 JavaScript 的基本概念。您需要一个名为“API”的 JavaScript 函数对象。这需要支持方法:

  • LMS初始化()
  • LMSGetValue(键)
  • LMSSetValue(键,值)
  • LMSCommit()
  • LMS完成(
  • LMSGetLastError()
  • LMSGetErrorString()
  • LMSGetDiagnostic()

我在https://github.com/cybercussion/SCOBot/wiki上有一堆 Wiki 文档以及完整的 SCORM 1.2, 2004 分解。 https://dl.dropboxusercontent.com/u/3459294/SCOBot-Content-API-Standards-Breakdown.pdf

提示

因此,如果您知道自己在做什么,那么您可以在几天到一周内站稳脚跟。在没有任何知识的情况下,这可能需要几个月的时间来完善。正如我试图在上面强调的那样,还有很多其他依赖项。SCO、imsmanifest.xml、Runtime API、Student Attempt 以及所有的管理和知道要监听什么或触发什么。这是这个更大的努力成本 $$ 的主要原因。尝试从像 Moodle 这样的开源项目或上面发布的一些古老的链接中挑选和拉取只会让你到目前为止。老实说,它们中的大多数都与 LMS 紧密结合,你会花更多的时间来梳理它,而不是从头开始编写自己的。我从 2009 年到 2015 年建造了我的。我从根据知识共享许可提供的内容 API 开始。我将运行时 API 与它一起构建为单元测试的一种形式。后来,决定通过 USB 记忆棒或服务器将其捆绑到其他人的平台、Android/iOS 项目、Electron/NodeJS 应用程序上。

祝你好运。

于 2017-08-19T14:58:33.293 回答
1

我只找到了这个http://www.jcasolutions.com/simple-scorm-lms-adapter,但它不是免费的(5.000 美元);-(

于 2011-10-06T11:05:11.930 回答
0

如果有人像我一样在这里登陆了一个完整的 SCORM 新手,请了解您的 LMS 可能会内置 SCORM。您很可能会摆弄 SCORM,因为您的客户陷入了黑暗时代。找出他们正在使用的 LMS 并安装它。然后,您将(很可能)可以通过 LMS 访问 SCORM 1.2 API。

于 2017-08-15T23:03:51.143 回答