这个 Xblock 在 edx 的原始 lti_consumer XBlock 上增加了可配置性
项目描述
可配置的 LTI 消费者 XBlock
此 XBlock 建立在edX LTI 消费者 Xblock 之上,以简化讲师对其的配置。
以下是该模块为 Open edX 带来的一些示例:
- 预配置 LTI 服务,可从
Advanced组件按钮一键添加, - 通过定位启动 url 模式对某些 LTI 服务进行强制配置,
- 为所有 LTI 服务强制执行默认配置,以实现更好的控制、安全性或人体工程学,
- 平台级 LTI 凭证配置适用于所有课程。培训班。
安装
这个包可以安装pip:
$ pip install configurable_lti_consumer-xblock
如果您愿意将此 XBlock 作为独立软件包安装或测试,则需要Edx 的lti_consumer-xblock作为额外依赖项。您可以使用以下命令单独安装它pip:
$ pip install git+https://github.com/edx/xblock-lti-consumer@v1.1.8#egg=lti-consumer-xblock
如果您打算在基本 Open edX 安装中安装它,则此依赖项将已经可用,因此您不需要执行上述命令。
入门
首先,如果您打算在项目本身上工作,则需要克隆此存储库:
$ git clone git@github.com:openfun/xblock-configurable-lti-consumer.git
在您的机器上克隆项目后,您将需要构建一个自定义的edx 平台 docker 映像,其中包括可配置的 LTI 消费者 XBlock,并设置一个开发环境,其中包括启动和运行的所有必需服务(稍后将详细介绍):
$ cd xblock-configurable-lti-consumer
$ make bootstrap
如果一切顺利,您现在应该可以访问以下服务:
- 打开 edX LMS:http://localhost:8072
- 打开 edX CMS:http://localhost:8082
具有以下凭据:
email: admin@example.com
password: admin
配置示例
典型的 LTI 配置如下所示:
LTI_XBLOCK_CONFIGURATIONS = [
{
"display_name": "Marsha Video",
"oauth_consumer_key": "InsecureOauthConsumerKey",
"shared_secret": "InsecureSharedSecret",
"is_launch_url_regex": True,
"automatic_resizing": True,
"inline_ratio": 0.5625,
"hidden_fields": [
"lti_id",
"description",
"launch_target",
"custom_parameters",
"button_text",
"modal_height",
"modal_width",
"has_score",
"weight",
"hide_launch",
"accept_grades_past_due",
"ask_to_send_username",
"ask_to_send_email",
],
"defaults": {
"custom_parameters": [],
"ask_to_send_username": True,
"weight": 0,
"modal_height": 400,
"ask_to_send_email": True,
"accept_grades_past_due": False,
"button_text": "button",
"has_score": False,
"hide_launch": False,
"launch_target": "iframe",
"modal_width": 80,
"launch_url": "https://marsha\.education/lti/videos/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",
"lti_id": "marsha",
},
},
{
"pattern": ".*ltiapps\.net.*",
"hidden_fields": ["launch_target"],
"defaults": {"launch_target": "modal"},
},
{
"display_name": "LTI consumer",
"pattern": ".*",
"hidden_fields": ["ask_to_send_username", "ask_to_send_email"],
"automatic_resizing": False,
"defaults": {
"ask_to_send_email": True,
"launch_target": "new_window",
"ask_to_send_username": True,
},
},
]
这个配置做了几件事:
- 它在 Studio 的组件按钮后面添加了一个“Marsha Video”链接
Advanced,以便一键添加视频。视频会自动添加到启动 url 指向的 Marsha实例中, - 它强制所有指向
ltiapps.net使用模式的 LTI 消费者 XBlock, - 它建议所有其他 LTI 消费者 XBlocks 默认在新窗口中打开,并在发送用户的用户名和电子邮件之前强制询问。
此列表中每个配置的顺序很重要,因为对于给定的 XBlock,我们将使用与其启动 url 匹配的第一个配置模式。
如果您希望加密oauth_consumer_key和凭据并保持其他设置可见,您可以使用as 映射密钥shared_secret在单独的设置中声明其中一个或两者
:LTI_XBLOCK_SECRETSlti_id
LTI_XBLOCK_SECRETS = {
"marsha": {
"oauth_consumer_key": "InsecureOauthConsumerKey",
"shared_secret": "InsecureSharedSecret",
}
}
请注意,当前存储库中包含的工作台正在官方 France Université Numérique Open edX 扩展 Docker 映像上运行此配置(请参阅config/settings.yml.dist ) 。
与 Open edX Studio 集成
目前,如果您想
在 Studio 的组件按钮中为某些配置添加预配置选项,该项目需要一个edx/edx-platform的小分支。Advanced
在我们看来,这个小分叉值得应用,因为:
- 它将使您免于安装许多 XBlock,并有助于使您的 Open edX 安装易于管理,
- 它允许您为要提供给讲师的每项 LTI 服务自动添加特定链接。他们不需要激活 LTI 并为每门课程提供凭据......他们不需要为他们添加的每个 XBlock 提供服务的启动 URL......
对于open-release/hawthorn.1,要应用的补丁程序可在此处获得:
https ://gist.github.com/sampaccoud/f15083325cec4f14a53bfb78fb4b4e42
开发者指南
项目启动后(请参阅“入门”部分),要开始处理项目,请使用:
$ make dev
您可以通过以下方式停止运行服务:
$ make stop
如果出于任何原因,您需要删除数据库并从新数据库开始,请使用
down目标:
$ make down
执照
这项工作是根据 AGPL 3.0 许可证发布的(请参阅许可证)。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
内置分布
可配置的_lti_consumer -xblock-1.4.1.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | ff17f9849080872d75a4b59b4a0e7ee36f6793df0c11b9153aea538cc088162e |
|
| MD5 | 2f98c256c86174a3870b412fa589dca3 |
|
| 布莱克2-256 | 403a43eeb0df5b3e101d5baae0bd1c7245978cb79ce43bf8b5ac634cd924cd24 |
可配置的_lti_consumer_xblock -1.4.1-py2.py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 5baf8ca72e7ccf4c9d8cdc13320999347732001cd875fff041a4c16663752508 |
|
| MD5 | 36bef2a9995904c20711d5987b2f43a0 |
|
| 布莱克2-256 | 04f326486b19fabef57b9ff45456cdb38e57385b407b8a0596ccf043f6353493 |