安装 Moodle 与 Microsoft Teams 的集成

Moodle 是世界上最受欢迎的开源学习管理系统 (LMS) ,现已与 Microsoft Teams 集成! 此集成可帮助教师和学生围绕 Moodle 课程进行协作,询问有关其成绩和作业的问题,并在 Teams 中随时更新通知!

为了帮助 IT 管理员轻松设置此集成,我们更新了开源 Moodle 插件,具有以下功能:

  • 使用 Microsoft Entra ID 自动注册 Moodle 服务器。
  • 将 Moodle 助手机器人一键式部署到 Azure。
  • 自动预配团队和自动同步所有团队注册,或选择 Moodle 课程。
  • 将 Moodle 选项卡和 Moodle 助手机器人自动安装到每个同步团队中。 (即将推出)
  • 一键式将 Moodle 应用发布到专用 Teams App Store。 (即将推出)

若要详细了解此集成提供的功能,请参阅 安装 Moodle 与 Microsoft Teams 的集成

先决条件

若要安装和配置此应用程序,需要:

  1. Moodle 管理员凭据
  2. Microsoft Entra管理员凭据
  3. 可在 中创建新资源的 Azure 订阅

步骤 1:安装 Moodle 插件

Microsoft Teams 中的 Moodle 集成由 开放源代码 Moodle 插件集提供支持。 若要在 Moodle 服务器中安装插件,请执行以下作:

  1. 首先,下载 Moodle 插件集 并将其保存到本地计算机。 需要使用版本 3.5 或更高版本。
  2. 以管理员身份登录到 Moodle 服务器,并从左侧导航面板中选择“ 站点管理 ”。
  3. 选择“ 插件 ”选项卡,然后选择“ 安装插件”。
  4. 在“从 ZIP 文件安装插件”部分下,选择“ 选择文件 ”按钮。
  5. 从左侧导航栏中选择 “上传文件 ”选项,浏览上面下载的文件,然后选择“ 上传此文件”。
  6. 再次从左侧导航面板中选择“网站管理”选项,返回到管理员仪表板。 向下滚动到“本地”插件,然后选择“Microsoft Office 365集成”链接。 使此配置页在单独的浏览器选项卡中保持打开状态,因为你将在整个过程中使用它。

可以在 Moodle 文档中找到有关如何安装 Moodle 插件的详细信息。

重要说明:将 Microsoft 365 或 Office 365 Moodle 插件配置页保留在单独的浏览器选项卡中打开,因为在整个过程中将返回到这组页面。

还没有 Moodle 网站? 你可能想要检查 Moodle on Azure 存储库,以便快速在 Azure 上部署 Moodle 实例,并根据需要对其进行自定义。

步骤 2:配置 Microsoft 365 或 Office 365 插件与 Microsoft Entra ID 之间的连接

接下来,需要在Microsoft Entra ID中将 Moodle 注册为应用程序。 我们提供了一个 PowerShell 脚本来帮助你完成此过程。 PowerShell 脚本为 Microsoft 365 或 Office 365 组织预配新的 Microsoft Entra 应用程序,Moodle 插件将使用该应用程序。 该脚本将为 Microsoft 365 或 Office 365 租户预配应用,为预配的应用设置所有必需的回复 URL 和权限,并返回 AppID 和密钥。 可以使用 Moodle 插件设置页中生成的 AppID 和密钥来配置 Moodle 服务器Microsoft Entra ID。 如果想要查看 PowerShell 脚本自动执行的详细手动步骤,可以在 插件的完整文档中找到这些步骤。

Microsoft Teams 信息流的 Moodle 选项卡

Microsoft Teams 信息流的 Moodle 选项卡
  1. 在“Microsoft 365 或 Office 365 集成插件”页中,选择“设置”选项卡。
  2. 选择“ 下载 PowerShell 脚本 ”按钮,并将其保存到本地计算机。
  3. 需要从 ZIP 文件准备 PowerShell 脚本。 为此:
    • 下载并提取 Moodle-AzureAD-Powershell.zip 文件。
    • 打开提取的文件夹。
    • 右键单击文件, Moodle-AzureAD-Script.ps1 然后选择“ 属性”。
    • 在属性窗口的“常规”选项卡下,检查Unblock底部“安全性”属性旁边的框。
    • 选择 “确定”。
    • 复制提取的文件夹的目录路径。
  4. 接下来,你将以管理员身份运行 PowerShell:
    • 选择“开始”。
    • 键入 PowerShell。
    • 右键单击“Windows PowerShell”。
    • 选择“以管理员身份运行”。
  5. 通过键入cd ...\...\Moodle-AzureAD-Powershell...\...目录的路径,导航到解压缩的目录。
  6. 通过以下方式执行 PowerShell 脚本:
    • 输入 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
    • 输入 .\Moodle-AzureAD-Script.ps1
    • 在弹出窗口中登录到 Microsoft 365 或 Office 365 管理员帐户。
    • 输入 Microsoft Entra Application (Ex. Moodle/Moodle 插件) 的名称。
    • 输入 Moodle 服务器的 URL。
    • 复制脚本生成的 应用程序 ID应用程序密钥 并保存它们。
  7. 接下来,需要将 ID 和密钥添加到 Moodle 插件。 返回到“插件管理”页, (365 集成) Microsoft站点管理 > 插件 > 。
  8. 在“设置”选项卡上,添加之前复制 的应用程序 ID应用程序密钥 ,然后选择“ 保存更改”。
  9. 页面刷新后,现在应会看到新的 “选择连接方法”部分。 选中标记为 “默认 ”的复选框,然后再次选择“ 保存更改 ”。
  10. 页面刷新后,你将看到另一个新部分管理员同意 & 其他信息
    • 选择“提供管理员同意”链接,输入Microsoft 365 或Office 365全局管理员凭据,然后选择“接受”以授予权限。
    • “Microsoft Entra租户”字段旁边,选择“检测”按钮。
    • OneDrive for Business URL 旁边,选择“检测”按钮。
    • 填充字段后,再次选择“ 保存更改 ”按钮。
  11. 选择“ 更新 ”按钮以验证安装,然后选择 “保存更改”。
  12. 接下来,你需要在 Moodle 服务器和Microsoft Entra ID之间同步用户。 根据你的环境,可以在此阶段选择不同的选项。 此处设置的配置将与每个 Moodle cron 运行一起运行, (通常每天运行一次,) 使所有内容保持同步。若要开始使用,请:
    • 切换到“ 同步设置”选项卡
    • 在“将用户与Microsoft Entra ID同步”部分中,选中适用于你的环境的复选框。 通常,至少会选择:
      • 在 Moodle 中为 Microsoft Entra ID 中的用户创建帐户
      • 为 Microsoft Entra ID 中的用户更新 Moodle 中的所有帐户
    • 在“用户创建限制”部分中,可以设置筛选器以限制将同步到 Moodle 的用户Microsoft Entra。
    • 使用“用户字段映射”部分,可以自定义 Moodle 用户配置文件字段映射Microsoft Entra ID。
    • “Teams 同步 ”部分中,可以选择自动创建组 (即,为部分或全部现有 Moodle 课程创建 Teams) 。
  13. 若要验证 cron 作业 (并手动运行它们(如果想要进行首次运行) 请在“将用户与Microsoft Entra ID同步”部分中选择“计划任务管理”页链接。 这会将你带到“ 计划的任务” 页。
    • 向下滚动并找到“使用Microsoft Entra ID作业同步用户”,然后选择“立即运行”。
    • 如果选择基于现有课程创建组,还可以运行在Office 365中创建用户组作业。
  14. 返回到“插件管理”页, (“网站管理 > 插件 > ”Microsoft 365 集成) 并选择“ Teams 设置” 页。 需要配置一些安全设置才能启用 Teams 应用集成。
    • 若要启用 OpenID Connect,请单击 “管理身份验证” 链接,然后单击 “OpenId Connect” 行上的眼睛图标(如果灰显)。
    • 接下来,需要启用帧嵌入。 选择 “HTTP 安全性” 链接,然后选中 “允许帧嵌入”旁边的复选框。
    • 下一步是启用 Web 服务,这将启用 Moodle API 功能。 单击“ 高级功能” 链接,并确保选中 “启用 Web 服务” 旁边的复选框。
    • 最后,需要为 Microsoft 365 或 Office 365 启用外部服务。 单击“ 外部服务 ”链接,然后:
      • 单击“Moodle Office 365 Webservices”行上的“编辑”。
      • 标记“已启用”旁边的复选框,然后单击“保存更改
    • 接下来,需要编辑经过身份验证的用户权限,以允许他们创建 Web 服务令牌。 单击 编辑角色“经过身份验证的用户” 链接。 向下滚动并找到 “创建 Web 服务令牌 ”功能,并标记“ 允许” 复选框。

步骤 3:将 Moodle 助手机器人部署到 Azure

适用于 Microsoft Teams 的免费 Moodle 助手机器人可帮助教师和学生在 Moodle 中回答有关其课程、作业、成绩和其他信息的问题。 机器人还会直接在 Teams 中向学生和教师发送 Moodle 通知。 此机器人是由 Microsoft 维护的开放源代码项目,可在 GitHub 上使用

注意

在本部分中,你将将资源部署到 Azure 订阅,并且所有资源都将使用 免费 层进行配置。 根据机器人的使用情况,可能需要缩放这些资源。 如果只想在不使用机器人的情况下使用 Moodle 选项卡,请跳到 步骤 4

Moodle 机器人信息流

Microsoft Teams 信息流的 Moodle 机器人的 llustration

若要安装机器人,首先需要在Microsoft 标识平台上注册它。 这允许机器人针对Microsoft终结点进行身份验证。 注册机器人:

  1. 返回到“插件管理”页, (“网站管理 > 插件 > ”Microsoft 365 集成) 并选择“ Teams 设置” 选项卡。
  2. 单击 “Microsoft应用程序注册门户 ”链接,并使用Microsoft ID 登录。
  3. 输入应用的名称 (例如 MoodleBot) ,然后单击“ 创建 ”按钮。
  4. 复制应用程序 ID 并将其粘贴到“团队设置”页上的“机器人应用程序 ID”字段中。
  5. 单击“ 生成新密码” 按钮。 复制生成的密码,并将其粘贴到“团队设置”页上的“机器人应用程序密码”字段中。
  6. 滚动到窗体底部,然后单击“ 保存更改”。

生成应用程序 ID 和密码后,即可将机器人部署到 Azure。 单击“ 部署到 Azure ”按钮,在表单中填写必要的信息, (“机器人应用程序 ID”、“机器人应用程序密码”和“Moodle 机密 ”位于“团队设置” 页上,Azure 信息位于 “设置 ”页上) 。 填写表单后,单击“检查”框同意条款和条件,然后单击“购买”按钮, (所有 Azure 资源都部署到免费层) 。

资源部署到 Azure 后,需要配置 Moodle 插件及其消息传递终结点。 首先,需要从 Azure 中的机器人获取终结点。 为此,请执行以下作:

  1. 如果尚未登录,请登录到Azure 门户
  2. 在左窗格中,选择“ 资源组”。
  3. 从列表中选择刚刚 (或部署机器人时创建的) 资源组。
  4. 从组中的资源列表中选择 “WebApp 机器人 ”资源。
  5. 复制“概述”部分中的“消息传送终结点”。
  6. 在 Moodle 中,打开 Moodle 插件的 “团队设置” 页。
  7. “机器人终结点” 字段中,粘贴刚复制的 URL,并将 消息 一词更改为 Webhook。 URL 现在应如下所示 https://botname.azurewebsites.net/api/webhook
  8. 单击“ 保存更改”
  9. 保存更改后,返回到 “团队设置” 选项卡,单击“ 下载清单文件 ”按钮,将清单包保存到计算机, (你将在下一节) 使用它。

步骤 4:部署 Microsoft Teams 应用

现在,已将机器人部署到 Azure 并配置为与 Moodle 服务器通信,接下来可以部署Microsoft Teams 应用。 为此,你将加载从上一步的 Moodle 插件团队设置页下载的清单文件。

在安装应用之前,需要确保已启用外部应用和应用旁加载。 为此,可以 按照以下步骤作。 确保启用外部应用后,可以按照以下步骤部署应用。

  1. 打开 Microsoft Teams。
  2. 单击导航栏左下角的 “应用商店 ”图标。
  3. 单击选项列表中的 “上传自定义应用 ”链接。 注意: 如果你以全局管理员身份登录,则可以选择将应用上传到组织的应用商店,否则只能加载属于 (“旁加载”) 的 Teams 的应用。
  4. 选择 manifest.zip 之前下载的包,然后单击“ 保存”。 如果尚未下载清单包,可以从 Moodle 中插件配置页的“ 团队设置” 选项卡执行此作。

安装应用后,可以将选项卡添加到有权访问的任何频道。 为此,请导航到通道,单击符号 + 并从列表中选择你的应用。 按照提示完成将 Moodle 课程选项卡添加到频道。

就是这样! 你和你的团队现在可以直接从 Microsoft Teams 开始使用 Moodle 课程。

若要与我们共享任何功能请求或反馈,请访问我们的 反馈门户

注意

2021 年期间,Microsoft 将逐个产品从 UserVoice 转移到我们自己的客户反馈解决方案。 了解详细信息