通过lti1.3将jupyterhub添加到moodle中作为外部工具
这些年一直想用Jupyterhub作为学习平台来尝试一些教学活动,但Jupyterhub用来进行学习管理方面的功能非常欠缺,好在有一个叫LTI(Learning Tools Interoperability,学习工具互操作性)的标准,可以方便的在各个教育技术系统之间无缝集成,所以尝试了一下通过LTI将Jupyterhub作为外部工具添加到Moodle中。
基本概念
LTI是一种标准,LTI1.3是目前这一标准的最新版本之一。
学习工具(Tools)
LTI标准中外部应用程序或服务的统称,如在线测验工具、互动内容平台等,这里Jupyterhub就是学习工具。
平台
提供课程管理、内容管理或学习管理的系统,如LMS(Learning Management System,学习管理系统),这里Moodle就是平台。
安装Moodle
安装
Moodle我使用的是 bitnami提供的Moodle容器(docker) ,直接把 docker-compose.yml 下到本地,安装好docker环境之后,启动服务即可。
|
在docker-compose.yml目录下启动服务
|
配置
Moodle中的配置主要是创建一个外部工具,通过这个外部工具调用jupyterhub,可以把用户信息等数据一并传递过去供jupyterhub使用。
创建外部工具
选择 站点管理->插件->活动模块->外部工具->管理
,点击 "手动配置一个工具":
填写jupyterhub服务相关信息(待Jupyterhub环境配置好后)
客户端ID在创建的时候自动生成,无需填写。注意下面红框中的内容需要选择相应的选项开启才能共享用户信息。注意默认启动容器要选择新窗口,因为Jupyterhub的安全设置似乎不允许嵌入方式。
查看工具信息
回到 站点管理->插件->活动模块->外部工具->管理
,会有一个工具列表看到刚刚创建的外部工具,点击其"工具配置细节"
Jupyterhub
安装
和Moodle整合需要使用jupyterhub的ltiauthenticator认证器,安装的时候一并安装
|
配置
|
相关配置内容如下:
|
Moodle的课程中添加Jupyterhub外部工具
如果课程中需要添加Jupyterhub作为外部工具,需要首先设置在课程的活动选择中启用这个外部工具:
之后在添加活动资源的时候就可以看到这个外部工具,添加到课程中即可。
最终效果如下,在课程中会看到jupyterhub的连接,点击之后会传递当前用户的用户名(个人资料中的姓+名)作为jupyterhub中的用户名。