我想知道是否可以使用与 Discourse AI - Web Artifacts 非常相似的方法在 Discourse 中使用 H5P 内容。
AI 构件 大小有限。我猜,应该避免将较大的内容存储在数据库中?
我想了解如何存储较大的内容,以及富内容和 Discourse 之间如何进行有限的通信。
需要解决的任务
- 从 Discourse 提供 H5P 内容
- 在 Discourse 中存储 成就
- 分析 来自 Discourse 的成就
- 将 成就与徽章集成
从 Discourse 提供 H5P 内容
H5P 内容以特定的结构化 zip 文件形式上传。必须解压此存档并将其移动到可以提供内容的目录。
内部的配置数据通常很小,可以像 AI Web Artifacts (AIWA) 一样存储在数据库中。包含的库和媒体可能会变得相当大,应该像其他上传一样存储(作为文件或通过 CDN)。
AIWA 在 iframe 中提供内容,该 iframe 提供了一个沙箱环境。由于 H5P 中的任何代码都不可信,因此这似乎也是 H5P 的最佳选择。
另一种选择是通过 oneboxing 从外部基础架构嵌入 H5P。
在 Discourse 中存储成就
H5P 使用 REST-API (xAPI) 来存储成就。为了与 Discourse UI 集成,跨文档消息传递 可能很有趣。