问题标签 [tin-can-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1702 浏览

jquery - 从 SCORM Cloud LRS 检索 Tin Can API 语句列表

我已经在我的 LMS 中添加了一个 Tin Can 课程,并且我能够成功地上传和播放该课程,以便我的陈述被写入 Initial Application Realm LRS。到目前为止,一切都很好。

现在我希望能够从 LRS 中检索已编写的所有语句的列表,以便我可以遍历这些语句并检查登录用户的课程完成情况。我的陈述被写入以下端点:

我尝试使用 .NET 库和以下代码查询语句:

然而,这将返回所有语句的列表,无论已使用的动词或活动如何。查询过滤器中是否可能存在错误,因为在使用 SCORM Cloud 时我可以看到 TCPAPI 查询字符串,并且在此处输入动词或活动的 URI 时,它会适当地过滤。

作为测试语句是否正确输出的一种方法,我也有以下观点,不确定这是否是获得人类可读版本的语句的最佳方法,但我的列表中的每个语句都有这个输出

0 投票
1 回答
2037 浏览

oauth - tincan LRS/LMS 启动和 OAuth 的最佳实践

我正在开发一个基于锡罐的 LMS。我们根据本指南从 LMS 启动活动,并使用适当的查询参数让活动与 LRS xapi 端点进行通信。

https://github.com/RusticiSoftware/launch/blob/master/lms_lrs.md

我们正在努力解决的问题是对传入语句的身份验证。现在我们在作弊,只使用会话 cookie,因为活动与 LMS 位于同一域中,但是我们想转移到外部活动。

我知道 tin-can 为此更喜欢 OAuth 2.0,但是我不确定最好的令牌交换流程应该是什么。我最好的猜测是

  1. 用户单击 lms 中的活动链接
  2. 活动网址以锡罐参数(演员、端点等)打开
  3. 活动将用户重定向回 l​​rs 以获取身份验证令牌
  4. lrs 使用身份验证令牌和原始锡罐参数重定向回活动
  5. 活动将身份验证令牌交换为访问令牌
  6. lrs 将访问令牌返回给活动
  7. 活动使 tin can 语句调用使用访问令牌授权

然而,鉴于我们来自 LMS/LRS,前几个步骤似乎是多余的。是否有可能/建议:

  • 使用 url 中已经存在的身份验证令牌启动活动,跳到第 5 步
  • 使用 url 中已经存在的访问令牌启动活动,直接跳到第 7 步

这些中的任何一个都会减少所需的步骤数量,但可能会带来安全风险。

想法?

0 投票
2 回答
2008 浏览

tin-can-api - tin 可以启动 auth 参数

本文档指的是传递给已启动活动的身份验证令牌参数

https://github.com/RusticiSoftware/launch/blob/master/lms_lrs.md

这个参数是什么,它是如何使用/传递回 LRS 的,并带有授权它们的语句?API 规范仅涉及使用不同参数的 OAuth,以及使用用户名/密码的 http 基本身份验证。

https://github.com/adlnet/xAPI-Spec/blob/master/xAPI.md#security

0 投票
1 回答
455 浏览

tin-can-api - xAPI 是为通用数据分析而设计的吗?

如果可以使用 Tin Can API(xAPI) 创建像 Google Anallytics 这样的网站,我已咨询过我。它似乎是按规范为电子学习而设计的,但我不确定它是否适合普通网站上的数据分析。是否建议通过 xAPI 跟踪网站访问者?

0 投票
0 回答
93 浏览

asp.net-mvc-4 - 使用 TinCanAPI 更新俄罗斯方块示例中的排行榜时的 ActivityProfile 休息调用

我正在尝试将我的 LMS 更新为与 TinCanAPI 兼容,虽然我已经能够捕获俄罗斯方块示例游戏开始和结束的语句,但我无法将 ActivityProfile 调用更新为高分,因为我不确定什么确切地需要返回。

我有以下 WebAPI 控制器:

如果我在 Cloud.Scorm.Com 上托管课程时尝试查看排行榜,那么我可以看到对/activities/profile?profileId=highscores&activityId=http%3A%2F%2Ftincanapi.com%2FJsTetris_TCAPI的请求

我得到的回应

"[{演员:{姓名:约翰保罗},得分:9921,日期:2014-04-07T14:42:46.492Z},{演员:{姓名:约翰保罗},得分:4000,日期:2014-04- 07T14:42:46.492Z}]"

但是,如果我尝试仅返回此字符串值以进行测试,我会在排行榜上获得 137 个未定义的列表。

如果我在此控制器操作中返回 void,则排行榜显示为空白。

如果我将此文件中的文本保存为 json 文件并保存到 blob 存储,然后尝试返回指向该文件的 URI,我会得到一个未定义的 66 个名称列表。

任何有助于加深我对 ActivityProfile API 工作原理的理解的帮助将不胜感激。SCORM云上的实现是什么?

0 投票
1 回答
3112 浏览

php - 如何使用 PHP 创建本地 LRS 并与 Tin can Api 集成以在我的 SCORM 包上运行

我正在尝试创建一个 SCORM 包并为其生成语句。

我想创建一个本地 LRS 和 Tin Can Api 设置并从我的 scorm 生成语句并在我的 php 页面中显示结果。

我使用以下链接(http://onetarek.com/tin-can-api/guidephp-simple-lrs-with-tin-can-api/)创建了一个 LRS。

我已经下载了 Tin Can Php 示例并安装在我的本地,不幸的是它无法正常工作。因为我需要设置我的端点和身份验证凭据。我不知道要对我的本地 LRS 设置执行此操作。

这个怎么做 ?

我还想将我的 SCORM 包托管到任何 LMS 并使用这些设置进行测试。

我分析了许多论坛和帖子,但没有任何结果。

我搞不清楚了。需要一些分辨率。

请帮忙。

-Vignesh Selvarajan

0 投票
2 回答
249 浏览

tin-can-api - 是否可以在 Tin Can 中按团队过滤陈述?

我正在向 LRS 记录语句,并且在每个语句中我总是设置“团队”属性。

我知道我可以按此处所述的动词、活动和许多其他参数过滤这些语句。

但是,我找不到按团队过滤语句的方法(这是上下文的属性)。

可能吗?

0 投票
1 回答
837 浏览

c# - C# HttpWebRequest 到 Scorm Cloud 总是返回错误 400 错误请求

我正在尝试通过 c# HttpWebRequest 以 JSON 格式将 Tin Can 语句发布到 Scorm Cloud LRS。但是我总是收到错误 400。身份验证是正确的,那么 JSON 有什么问题?我也尝试过编码为UTF8,但仍然没有骰子

这是所需的代码和凭据:

0 投票
2 回答
2171 浏览

tin-can-api - 如何对锡罐语句执行查询?

我正在使用 Learning Locker(学习记录存储)。我通过 REST API 成功地向它插入语句。但我没有成功从中获取语句。如何对语句进行查询?REST API?

0 投票
1 回答
376 浏览

scorm - 使用 tincan api 和我们自己的 LRS 是否使我们符合 SCORM?

我真的对 SCORM 和 Tin Can API 感到困惑。客户希望符合 SCORM,而我所阅读的所有内容似乎都表明我应该将 Tin Can API 用作服务。来自 eFront 的一份参考资料指出,他们花了将近 18 个月的时间来实施旧的 SCORM 标准,但只用了一个月的时间来实施 Tin Can。

这两者有区别吗?站立 LRS 并在我们的 LMS 中使用 Tin Can 是否符合“SCORM”标准?