我想将 LMS 集成到我们的应用程序中,因为我是新手。如果有人分享 LMS 架构的知识,那就太好了。
就像我们的客户希望通过 LMS/LTI 访问我们的内容一样,我们可以如何进行以及我们需要考虑哪些关键功能以及挑战是什么。
我想将 LMS 集成到我们的应用程序中,因为我是新手。如果有人分享 LMS 架构的知识,那就太好了。
就像我们的客户希望通过 LMS/LTI 访问我们的内容一样,我们可以如何进行以及我们需要考虑哪些关键功能以及挑战是什么。
几年前我为 Canvas 做过这个,这就是我记得的。
您是工具提供商 (TP),这些 LMS 需要在他们的平台上展示您的内容。内容可能会有所不同,从图像、测验等。Canvas 在 iframe 中呈现我们的内容,如果我没记错的话,所有人都在做同样的事情。
当请求您的某些内容时,通常是通过 LTI 调用完成的。这是事情的概述,https://www.imsglobal.org/basic-overview-how-lti-works - 这并不复杂。基本上,您需要有一个端点,所有 LTI 调用都在其中着陆(它们被称为“启动”)、验证它们并返回特定响应。
我使用了这个 gem,https://github.com/instructure/ims-lti,我的代码看起来像这样:
before_action :validate_launch, only: :launch
def launch
pp params.inspect
end
private
def validate_launch
@tool_provider = IMS::LTI::ToolProvider.new(consumer_key, secret_key, params)
Lti::VerifyLaunchParameters.new(@tool_provider, consumer_key, params).call
respond_with_error('Invalid LTI launch') unless @tool_provider.valid_request?(request)
rescue Lti::InvalidLaunchParameter => exception
respond_with_error(exception.message)
end
查看一些 youtube 视频。我记得这个人:https ://www.youtube.com/watch?v=I0zhjzCxovw 。
我真的不知道 Moodle 是如何工作的,但 Canvas 有一个演示游乐场,您可以在其中测试这些“发布”。