【问题标题】:xAPI / Tin Can to LRS to LMSxAPI / 锡罐到 LRS 到 LMS
【发布时间】:2015-06-17 23:35:01
【问题描述】:

我正在尝试更好地了解 xAPI / Tin Can 的工作原理(以后我将称它为 xAPI)

之前我正在开发一个 SCORM 1.2 LMS,其中有“记录”,例如:Raw AttemptsStatusRaw Score每个内容包。 LMS 想要升级到 xAPI,但我不确定 xAPI 工作原理背后的原理。

http://tincanapi.com/learning-record-store/ 上声明:

存储在 LRS 中的数据可以通过 LMS、报告工具或其他 LRS 访问,并且可以存储为单独的学习记录和/或整个成绩单

随后在http://www.learningsolutionsmag.com/articles/1271/the-xapi-and-the-lms-what-does-the-future-hold 上还声明:

具有内置 LRS 的 LMS 支持 Experience API,并且还执行 LMS 产品为管理学习交付所做的所有其他事情。

问题是,

LMS 和 LRS 之间的这种关系究竟意味着什么?我需要能够从位于外部 LMS 的应用程序设置上述LMS“记录”,您如何使用xAPI 做到这一点?

或者也许我完全误解了 xAPI LRS,它旨在完全取代 LMS 记录?

感谢您的帮助。也非常感谢提供有关此信息的资源链接。

【问题讨论】:

标签: scorm tin-can-api xapi


【解决方案1】:

LRS 是一个学习者记录存储,它是关于学习者做了什么或正在做什么的一系列陈述。有人可以纠正我,但我相信 Activity Streams 是由社交媒体实体在 2006 年左右创建的,并且不同的实体采用/扩展了它以形成一种电子学习标准。

如果我们解构这两个真正的快速(高级)-

LMS 是一个包含任务、报告、维护/管理工具、论坛等的门户……有时是 LCMS(学习内容管理系统)和基于 Web 的一体化解决方案的其他变体。 AICC 是在 CBT(DOS - 磁盘操作系统)期间开发的,然后是浏览器(pre-XML)。 SCORM 是在 2001 年左右(后 XML,前 JSON)之后不久出现的,现在生活在浏览器的世界中(HTML/CSS/JS、Macromedia/Adobe Flash 等)。 因此,使用 SCORM,您实际上是在捆绑小型便携式网站,后来我们能够将其扩展为使用内容媒体服务器或 CDN,以保持“逻辑”和“资产”的外部化。 SCORM 基于通过 CAM/PIF 包共享培训,其中包括清单/目录,以及您的 HTML 文件,其中涵盖了规范的打包部分。第二部分是运行时。 LMS 将公开此运行时以管理学生尝试。在某种程度上,这就像“陈述”,只是它是整个学生尝试数据或 CMI 对象。这包括:评分、交互、目标和其他数据点。 SCORM 2004 进一步扩展了这一点,使大部分规范成为强制性的,迫使 LMS 支持更丰富的序列和导航功能。这些通常被认为过于复杂,并且由于缺乏工具和支持而难以管理。但人们确实使用它们。

通过“端点”的 LRS 很像您将语句发布到服务器。有 XML 和 JSON 实现。因此,当您部署“应用程序”时,您正在传递一个 URL 以便与之通信。 您实际上可以将一些以 SCORM 为中心的内容转换为 xAPI 语句,但请记住 xAPI 不控制打包、顺序和导航。所有这些现在都基于您的应用程序(网络、iOS、Android 等)来管理它。它现在主要允许非 HTML 应用程序利用训练,因为 SCORM 主要是 JavaScript 通信标准。

因此,您必须从正反两方面了解您正在尝试做什么,SCORM 或 xAPI、Activity Streams 或某些专有方法如何满足您的需求。

xAPI 语句可能类似于:

{
actor: {
    name: "Learner Name",
    objectType: "Agent",
    account: {
        homePage: window.location.href,
        name: "Learner ID"
    }
},
verb: {
    id: "http://adlnet.gov/expapi/verbs/completed",
    display: {
        "en-US": "completed"
    }
},
object: {
    id: "commonly a URI",
    objectType: "Activity",
    "definition": {
        type: "http://adlnet.gov/expapi/activities/lesson",
        "name": {
            "en-US": "Some Name"
        },
        "description": {
            "en-US": "Some Description"
        }
    }
},
result: {
    completion: true,
    success: true,
    duration: 'PTHMS'
    score: {
        scaled: 0.9        
    }
}

}

SCORM,主要是定位LMS Runtime(API_1484_11或API),然后调用Initialize、Set/Get Value、Commit和Terminate等方法。 CMI 对象(对于 SCORM 2004)在填充后看起来更像这样。 https://gist.github.com/cybercussion/4675334

【讨论】:

  • 嗨,马克,感谢您对两个系统的深入回复和历史记录!那么,一旦我向 LRS 发送了一条语句(例如上面的那个),我如何才能将 result.completion 值传输到 LMS 中相应的完成字段? github链接似乎暗示我只是通过SCORM 2004发送数据,我只是想确认一下?而且,tincan 是否意味着我可以从 LMS 之外的应用程序发送 SCORM 2004 数据?感谢并非常感谢所有帮助!
  • LRS 确实是一个单独的记录状态的机制。因此 LMS 可以读取存储在那里的记录以维护状态。 SCORM 也确实与 xAPI 分开。但是,您可以迁移您的 SCORM 通信以将语句发布到 LRS 端点。它不会自动发生,除非已配置为这样做。这个页面可能会对这种情况有所帮助 - scorm.com/tincanoverview/what-is-an-lrs-learning-record-store
  • 感谢您的澄清。这就是我以为你不幸会说的哈哈。干杯!
  • 随着时间的推移,会出现更多的东西。我已经不得不做一些这种“转换”风格的工作。 SCORM 1.2 不使用 xAPI 所需的持续时间,因此需要额外的步骤来转换它,但只要您可以访问内容或 LMS 运行时 API,它绝对是收费的。学生通常还需要通过端点进行身份验证,否则他们必须登录。 SCORM 只是在网页上搜索要与之通信的变量名称。
  • 谢谢马克,我将不得不找出我可以在 LMS 方面访问的确切内容,因为我目前不确定......你把这些“转换”放在哪里'?在/在 LRS、LMS 或内容中?
【解决方案2】:

我学到了什么

最佳实践是使用 LMS 进行内容交付并使用 LRS 进行分析。所有报告都通过 LRS 跟踪扩展数据,然后 LMS 将跟踪其正常数据(scorm1.2 等)。

让 LMS 做它现在所做的事情 - 完成课程、添加书签和向用户提供内容。然后使用 LRS 进行更复杂的数据捕获 - 哪条路径、交互时长、给出的答案、选择的答案 - 你的“谁做了什么”

使用 xAPI 的“大多数人”已经放弃了他们的 LMS,现在一切都通过 LRS 完成,即他们放弃了混合 LMS/LRS 结构 - 为什么?因为这将所有可能的学习媒介(应用程序、视频、面对面等)解耦,现在都可以在一个系统中进行跟踪,从而形成一个更有凝聚力的分析/审计/报告架构。

在部署 iPad 应用程序时,这会直接与 LRS 通信,除非您编写一些自定义的“网络挂钩”/代码将两者联系在一起,否则 LRS 在任何时候都无法与 LMS 通信 - 未经同意推荐.

在部署基于浏览器的学习时,您可以分别将数据联合发送到 LMS 和 LRS - 当我们需要对学习者所做的额外分析时从 LRS 中提取数据,然后离开 LMS 以保留其当前功能 - “是我们完成了”。


总结

回答我原来的问题。 LMS 和 LRS 之间没有默认关系。如果内容在 LMS 之外——它永远在 LMS 之外——无论如何它都不会与之交互。考虑在 LRS 调用中模仿 LMS 的相同数据字段,并从 LRS 的数据库运行自定义报告。


注意事项

感谢@Mark 对这两个系统的详细解释,并帮助我初步了解这些系统。

此信息来自与工作相关的经验 - 抱歉没有官方来源。

【讨论】:

  • 随时。这个主题肯定与对报告的依赖或缺乏报告有关。我同样在“谁想要通过一些随机端点进行身份验证并发布学者?”的概念上苦苦挣扎。与管理谷歌分析和增强用户访问的内容类似,您实际上需要知道学生是谁,他们的互动如何与内容或目标保持一致,这可能非常可怕,因为您可能不希望您的学者张贴在“别处”。我什至看到电子学习公司也使用谷歌分析来获取此类信息!
  • 非常详细的答案。谢谢你:)
【解决方案3】:

我不确定我是否完全理解这个问题,但无论如何我都会尝试回答。

LRS 可能通过几种不同的方式与 LMS 关联。我按照它们在当今 LMS 供应商中的常见程度以及许多 LMS 供应商似乎遵循的顺序列出了这些内容。

  1. LMS 可能会启动学习体验。这样做时,它可能会为学习体验提供一些安全凭证和 LRS 的端点 URL,以便学习体验可以追溯到 LRS。这些学习经验可能是上传到 LMS 的打包内容或外部内容。

  2. LMS 可能包含 LRS 作为 LMS 应用程序的一部分。例如,参见here。 LMS 中包含的 LRS 应始终具有连接到外部 LRS 的功能。

  3. LMS 可能会从 LRS 中提取数据,例如用于仪表板和报告或支持完成跟踪。

  4. LMS 中的活动,例如论坛、测验等可能会使用 Tin Can 跟踪到 LRS。

从您的问题看来,您要找的是第三个吗?这里的高级方法是将这些外部源输入 LRS,然后将 LRS 中的数据推/拉到 LMS。

【讨论】:

  • 感谢 Andrew 的回复,我同意,3 号是我想要达到的目标。如果您能详细说明如何将数据从 LRS 推送/拉入 LMS,我将不胜感激。我已经有一大堆语句在工作,我只是不明白 LMS 中完成跟踪的最后一步。谢谢!
  • 规范的相关部分在这里:github.com/adlnet/xAPI-Spec/blob/master/xAPI.md#stmtapiget您使用什么编程语言?也许我可以给你找个例子。您应该使用tincanapi.com/libraries 的库之一
  • 这里是 Moodle 插件的一个示例:github.com/garemoko/moodle-mod_tincanlaunch/blob/master/…
  • 我们使用 efront LMS efrontlearning.net ... 我们使用 javascript。那个moodle链接很有趣。感谢您提供的所有帮助,我需要一些时间来真正查看您发送给我的所有链接!
  • 我知道 efront 确实有一些原生的 Tin Can 支持。您是否联系过他们以了解开箱即用的可能性?
【解决方案4】:

我建议您看一下cmi5,这是一个定义 LMS、LRS 和学习内容之间通信的 xAPI 协议。本规范中定义了内容模块已完成和/或通过的确定。

【讨论】:

  • 这最好作为评论,因为它不一定回答问题,只是指出可能有答案的来源。
  • 是的,无论如何,让我们确保从字面上回答人们的问题,绝对不要解决他们正在努力解决的更大问题。范围越窄,答案越有限,每个人都会越快乐。嘘
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多