
语言 🇨🇳 简体中文
简要
FastComments 设置
注册工具
添加到课程
使用该工具
安全与合规
通过 LTI 1.3 将评论添加到您的 LMS
FastComments 与任何符合 LTI 1.3 的 LMS 集成 - D2L Brightspace、Moodle、Blackboard Learn、Sakai、Schoology 等 - 通过 IMS LTI Dynamic Registration 标准。只需将一个 URL 粘贴到您的 LMS 的注册界面,即可完成整个集成:SSO、课程上下文、角色映射和内容放置。无需在您的服务器上安装任何插件。 (Canvas LMS 有其专门的指南,因为其注册流程不同。)
注册后,FastComments 会以 Learning Tool 的形式出现在您的课程中。学生在课程内容旁可以看到线程式评论和协作聊天,且会自动使用他们的 LMS 帐户登录。
定价 
FastComments LTI 1.3 集成包含在 Flex 和 Pro 计划中,且无需额外费用。它可与任何支持 IMS LTI 1.3 Advantage 规范的 LMS 一起使用,包括 Dynamic Registration。
快速开始 
- 登录 FastComments 并转到 您的 LTI 1.3 配置页面。
- (Optional) 从 Platform 下拉菜单中选择您正在连接的平台 - 它会设置显示标签,但 Auto-detect 工作正常。
- 点击 Generate URL。会出现一个一次性 Registration URL(有效期 30 分钟,仅可使用一次)。
- 在您的 LMS 中,打开 LTI 1.3 Dynamic Registration 界面,并将该 URL 粘贴到 Tool initiation registration endpoint(或相应)字段。提交。
- 您的 LMS 会回调到 FastComments,交换密钥并创建集成。完成后弹出窗口会自动关闭。
- 回到 FastComments,新的配置会出现在 Existing Configurations 表中。该工具现在可以在您的 LMS 课程中使用。
支持的平台 
FastComments LTI 1.3 已在以下系统中测试:
- D2L Brightspace (任何支持 LTI Advantage 的版本)
- Moodle 4.0+ (External Tool 插件,LTI Advantage)
- Blackboard Learn (SaaS 与 Ultra)
- Sakai (支持 LTI Advantage 的版本)
- Schoology (Enterprise,在可用时支持 Dynamic Registration)
任何其他实现了 IMS LTI 1.3 Advantage 规范并支持 Dynamic Registration 的 LMS 也应该可用 - 在生成您的注册 URL 时从平台下拉菜单中选择 Other LTI 1.3 platform(在此获取)。
Canvas LMS 使用不同的设置流程(使用 per-developer-key configuration JSON,而不是 Dynamic Registration)。请参阅专门的 Canvas LMS 安装指南。
生成注册 URL 
导航到 LTI 1.3 配置
登录 FastComments 并转到 您的 LTI 1.3 配置页面。
如果您的账户尚未具有 LTI 访问权限,您会看到 "LTI not enabled for this account" - 请联系支持以在您的计划中启用它。
选择平台(可选)
在 生成动态注册 URL 下,使用 Platform 下拉菜单告诉 FastComments 您正在连接哪个 LMS:
- D2L Brightspace
- Moodle
- Blackboard Learn
- Sakai
- Schoology
- 其他 LTI 1.3 平台
您也可以将其保留为 自动检测。在注册过程中,平台信息会从您的 LMS 的 openid-configuration 中读取;下拉菜单仅用于为生成的配置提供显示标签的初始值。
生成 URL
单击 Generate URL。FastComments 会创建一个一次性注册令牌并显示一个类似于以下的 URL:
https://fastcomments.com/lti/v1p3/register/<long-token>
复制它。该 URL:
- 是 一次性使用 — 一旦您的 LMS 成功调用,令牌即被使用。
- 在未使用时会在 30 分钟 后到期。
- 应当保密 — 在这 30 分钟内,任何拥有该 URL 的人都可以在您的租户下注册一个工具。
现有配置
注册成功完成后,新配置会显示在同一页面的 Existing Configurations 表中,包含其 Platform、Issuer、Client ID 和 Status。若需取消注册,您可以从该表中删除配置。
在 D2L Brightspace 中注册 
D2L Brightspace 通过 LTI Advantage 管理界面提供动态注册。您需要管理员权限。
打开注册界面
- 以管理员身份登录到您的 Brightspace 实例。
- 导航到 Admin Tools > Manage Extensibility > LTI Advantage。
- 点击 Register。 (直接网址为
https://<your-brightspace-host>/d2l/le/ltiadvantage/registrations/create。)
粘贴 URL
您会看到一个注册表单。关键字段是 Tool initiation registration endpoint(某些 Brightspace 版本将其标记为 "Tool Initiation Registration URL")。
将 FastComments 注册 URL (在此获取) 粘贴到该字段。将其他字段留空 - 它们会在注册握手过程中由 FastComments 自动填充。
点击 Register。
批准该工具
Brightspace 会打开一个弹出窗口与 FastComments 通信、交换密钥并显示确认屏幕。注册完成后弹出窗口会自动关闭。
新工具会出现在您的 LTI Advantage 工具列表中。默认情况下 Brightspace 会将新工具标记为 disabled - 将切换项切换为 enabled,以便您的课程可以使用它。
添加部署
在 Brightspace 中,LTI 工具在可用于课程之前需要一个 deployment:
- 打开新注册的 FastComments 工具。
- 点击 View Deployments > New Deployment。
- 为部署命名(例如 "FastComments - All Courses"),选择其应可用的组织单元,然后保存。
通过此部署首次启动后,FastComments 会将 deployment_id 固定到其配置记录 - 在同一客户端下来自不同部署的后续启动将被拒绝,除非您重新注册。
在 Moodle 中注册 
使用 Moodle? 我们还为 FastComments 发布了专门的 Moodle 插件,提供比 LTI 1.3 更紧密的集成(成绩同步钩子、更深入的活动报告、本地 Moodle 设置界面)。请参阅 Moodle 插件安装指南。如果你希望进行一次注册覆盖其他 LMS,或你的 Moodle 管理员不愿安装第三方插件,下面的 LTI 1.3 流程是正确的选择。
Moodle 4.0+ 支持通过 External Tool 插件进行 LTI 1.3 的动态注册。
打开工具管理界面
- 以站点管理员身份登录 Moodle。
- 导航到 Site administration > Plugins > Activity modules > External tool > Manage tools。
粘贴 URL
你会看到一个标为 Tool URL 的卡片。将 FastComments 的注册 URL (在此获取) 粘贴到文本字段,然后点击 Add LTI Advantage。
Moodle 会打开一个注册界面,显示该工具的身份信息及其请求的权限。检查无误后点击 Activate(或 Register,取决于 Moodle 版本)。
注册完成后弹窗会关闭;新的 FastComments 工具会以 Active 状态出现在 Tools 列表中。
使其可用
默认情况下,Moodle 会将新工具添加到“Course tools”列表,但不会在活动选择器中显示它们。要在课程范围内公开 FastComments:
- 点击 FastComments 磁贴上的齿轮图标。
- 在 Tool configuration usage 下,选择 Show in activity chooser and as a preconfigured tool。
- 保存。
教师现在可以通过 Add an activity or resource > FastComments 将 FastComments 添加到任何课程。
在 Blackboard Learn 中注册 
Blackboard Learn SaaS 和 Ultra 支持 LTI 1.3 动态注册。
打开工具提供者屏幕
- 以系统管理员身份登录 Blackboard。
- 导航到 Administrator Panel > Integrations > LTI Tool Providers。
- 点击 Register LTI 1.3 / LTI Advantage Tool。
如果你只看到“Register LTI 1.1 Provider”,说明你的 Blackboard 版本尚不支持 LTI 1.3——请升级或联系 Blackboard 支持。
粘贴 URL
将 FastComments 注册 URL (在此获取) 粘贴到 Client ID / Registration URL 字段(Blackboard 的标签因版本而异)。提交。
Blackboard 会与 FastComments 执行注册握手并显示确认屏幕。
批准并启用
Blackboard 默认将新注册的工具标记为 Approved but excluded:
- 在工具提供者列表中找到 FastComments 条目。
- 打开菜单并选择 Edit。
- 将 Tool Status 设置为 Approved。
- 在 Institution Policies 下,查看发送了哪些用户数据(姓名、电子邮件、角色)。保存。
该工具现在可供教师在向课程添加内容时使用。
在 Sakai 或 Schoology 中注册 
Sakai
Sakai 在支持 LTI Advantage 的发布版本中支持 LTI 1.3 动态注册。从 管理工作区 开始:
- 以 Sakai 管理员身份登录并打开 管理工作区。
- 选择 外部工具 > 安装 LTI 1.3 工具。
- 粘贴 FastComments 注册 URL (在此获取) 并提交。
- 握手完成后批准该工具。
该工具随后会出现在 外部工具 下,站点维护者可以将其添加到站点。
Schoology
Schoology Enterprise 实例支持 LTI 1.3,但动态注册的可用性因部署而异。请与您的 Schoology 客户经理确认。
如果您的 Schoology 实例不支持动态注册,则需要使用以下端点手动配置集成:
- OIDC 登录 URL:
https://fastcomments.com/lti/v1p3/login - 目标链接 URL:
https://fastcomments.com/lti/v1p3/launch - 公钥集 URL (JWKS):
https://fastcomments.com/lti/v1p3/jwks - 重定向 URL:
https://fastcomments.com/lti/v1p3/launch
在 Schoology 向您提供 Client ID 和 Deployment ID 之后,请联系 FastComments 支持在您的租户上注册该配置。
其他 LTI 1.3 平台
任何遵循 IMS LTI 1.3 Advantage 规范的 LMS 都应能使用相同的注册 URL (在此获取)。请查找标有 "Dynamic Registration", "Tool Registration URL", "Tool initiation registration endpoint", 或类似名称的设置。
如果您的平台仅支持手动 LTI 1.3 设置,请使用上文 Schoology 部分列出的四个端点并联系支持以完成配置。
添加到 D2L 课程内容 
本页介绍在管理员已注册该工具并创建部署后,如何将 FastComments 添加到 Brightspace 课程中。如果该工具尚未注册,请先参阅 D2L 注册指南。
Brightspace 提供两种内容创作体验:Classic Content 和 New Content Experience(也称为 Lessons)。两者都支持 FastComments,但菜单路径有所不同。下面每一节在分歧处都会分别说明。
定位 FastComments 工具
FastComments 工具在课程内容编辑器中有两个出现位置:
- 活动选择器(activity picker),通过模块/单元的 Add Existing 按钮访问(较旧的 Brightspace 版本标为 Add Existing Activities)。在当前 Brightspace 版本中,FastComments 会直接显示在选择器中;较旧版本将其嵌在 External Learning Tools 子菜单下。任一路径都会将 FastComments 添加为独立主题。
- HTML 编辑器内的 Insert Stuff 对话框下的 LTI Advantage。这会通过 LTI 深度链接流程将 FastComments 以内联方式嵌入到 HTML 主题中。
如果 FastComments 未出现在任一选择器中,说明部署未对包含该课程的组织单元启用。请让您的 Brightspace 管理员打开 Admin Tools > Manage Extensibility > LTI Advantage > FastComments tool > View Deployments,打开相应部署,并在 Org Units 下为该部署添加课程所属的组织单元(或其父级组织单元)。
在模块中将 FastComments 添加为主题
Classic Content:
- 打开课程并在导航栏中点击 Content。
- 选择应包含讨论的模块(或通过 Add a module 创建一个)。
- 点击 Add Existing(旧版 Brightspace:Add Existing Activities > External Learning Tools)。
- 在选择器中点击 FastComments。Brightspace 会在模块中创建一个主题并返回内容视图。
- 点击新主题。使用内联标题编辑器将其重命名为诸如
FastComments Discussion的描述性名称。
New Content Experience (Lessons):
- 打开课程并点击 Content。
- 打开应包含讨论的单元和课时(unit 和 lesson)。
- 点击 Add > Existing Activity 并选择 FastComments(旧版 Brightspace:嵌在 External Learning Tools 下)。
- 活动会被添加到课时中。
- 点击活动标题以重命名。
任何用户(教师或学生)首次打开该主题时,FastComments 会为该资源链接初始化线程。该线程绑定到资源链接 ID,因此重命名或移动主题不会改变加载的线程。
在 HTML 主题内以内联方式嵌入 FastComments
当您希望评论出现在同一主题页面的阅读、视频或其他内容下方(而不是作为单独主题)时,使用此流程。
- 在模块/课时中打开或创建一个 HTML 主题。
- 点击 Edit HTML 打开 Brightspace HTML 编辑器。
- 将光标放在应显示评论线程的位置。
- 点击 Insert Stuff 按钮(编辑器工具栏中的拼图图标)。
- 在 Insert Stuff 对话框中,滚动到 LTI Advantage 并点击 FastComments。
- FastComments 会打开深度链接选择器。确认放置位置(默认选项适用于内容讨论);点击 Insert 或 Continue。
- Brightspace 会返回到 HTML 编辑器,并显示一个表示 LTI 启动的占位块。在主题上点击 Save and Close。
当主题加载时,Brightspace 会将占位符替换为通过 LTI 自动启动 FastComments 的 iframe。学生会看到内联的讨论线程。
单个 HTML 主题可以包含多个深度链接的 FastComments 嵌入。每个嵌入都会得到自己的线程,因为每个深度链接都会产生不同的资源链接 ID。
模块主题 与 内联快速链接 的选择
当满足以下情况时,请选择 模块主题 方法:
- 该讨论是该模块步骤的主要活动。
- 您希望该主题出现在 Brightspace 的目录、完成跟踪和 Class Progress 中。
当满足以下情况时,请选择 内联嵌入 方法:
- 评论应位于同一页面上的其他内容下方。
- 您不希望在目录中创建单独的、可完成跟踪的条目。
可见性、草稿和发布条件
新的 FastComments 主题默认对学生可见。若要在设置期间隐藏它:
- 在内容编辑器中,点击主题标题(Classic)或活动上的三点菜单(New Content Experience)。
- 将状态设置为 Draft(Classic)或关闭 Visibility(New Content Experience)。
草稿主题对学生不可见。教师和助教仍能看到并带有 “Draft” 徽章。
要将主题限制为特定小组或班级部分:
- 打开主题。
- 点击主题标题菜单 > Edit Properties In-place(Classic)或 Edit > Restrictions(New Content Experience)。
- 在 Release Conditions 下,点击 Create。
- 选择 Group enrollment 或 Section enrollment,选择相应的小组/部分并保存。
发布条件会与 FastComments 自身的角色映射叠加。无法查看该主题的学生不会收到 LTI 启动。
学生首次启动时看到的内容
当学生点击主题(或加载包含嵌入的 HTML 主题)时:
- Brightspace 在后台执行 LTI 1.3 启动。
- FastComments 收到学生的姓名、电子邮件、头像 URL 和 LMS 角色,并自动为其登录。不会出现 FastComments 登录提示。
- 该资源链接的评论线程在 Brightspace iframe 内呈现。
启动时的角色映射:
- Brightspace 的
Administrator在该线程中成为 FastComments 的管理员(admin),具有完整的审核、删除、禁止和配置访问权限。 - Brightspace 的
Instructor成为 FastComments 的版主(moderator)(固定、隐藏、删除、禁止)。 - 其他所有角色(
Learner、TeachingAssistant等)成为普通评论者。
评论会标注为学生的 Brightspace 账户。如果学生在 Brightspace 中编辑其姓名或头像,下一次 LTI 启动会同步该更改。
锁定公开访问(建议)
默认情况下,FastComments 的评论数据是公开可读的。任何能猜到线程 URL 或 API 端点的人都可以查看其评论,即使在 Brightspace 之外。对于课程讨论,您几乎肯定希望将查看权限限制为仅限已注册的学员。
打开您的 widget customization page 并创建一个启用 Require SSO To View Comments 的规则,然后将安全级别设置为 Secure SSO,以便线程只能通过签名的 LTI 启动加载。
完整操作请参阅 Protecting Comment Threads With Single-Sign-On,其中包括如何将规则限定到单个域或页面的完整步骤。
Iframe 高度与重设大小
FastComments 会在每次线程呈现和内容更改(新评论、展开回复)时发出 org.imsglobal.lti.frameResize postMessage。Brightspace 监听该消息并调整 iframe 高度,以避免线程被裁剪或出现内部滚动条。
如果 iframe 仍保持固定的短高度:
- 确认课程是通过 HTTPS 加载的。Brightspace 的 postMessage 监听会拒绝混合内容的框架。
- 确认没有浏览器扩展阻止 postMessage 通道。
- 对于 HTML 主题内的内联嵌入,外围 HTML 不应将 iframe 包裹在固定高度的容器中。请从父元素中移除任何内联
style="height: ..."。
Brightspace 特定问题提示
工具未在 Add Existing 选择器中显示。 说明该部署未对该课程所属的组织单元启用。管理员需要将该组织单元(或其父级)添加到部署的 Org Units 列表中。仅注册工具并不足够;部署决定了哪些课程可以看到该工具。
启动时出现 deployment_id 不匹配。 FastComments 会把首次看到的 deployment_id 作为信任首次使用(TOFU)地固定。如果管理员删除了原始部署并创建了新部署,则来自新部署的启动会因部署不匹配而被拒绝。解决方法是重新注册 FastComments(生成新的注册 URL(在此获取)并再次运行动态注册);旧的配置记录将被替换。
工具启动但显示“Invalid LTI launch”。 课程所在的租户/组织结构不在部署覆盖范围内,或部署在注册后被禁用。重新检查 Admin Tools > Manage Extensibility > LTI Advantage > FastComments > Enabled 切换以及部署的组织单元列表。
FastComments 内缺少姓名和角色。 Brightspace 在 LTI 启动中携带 Names and Role Provisioning Services (NRPS) 声明。如果某课程是从较旧的 LTI 1.1 链接升级而来,启动可能缺少 name 和 email 声明。通过 Add Existing 重新添加 FastComments 主题(不要迁移旧链接),以便启动使用 LTI 1.3。
嵌入显示登录屏幕而非自动 SSO。 该 HTML 主题被插入为指向 FastComments 的普通 <iframe>,而不是通过 Insert Stuff > LTI Advantage 插入。普通 iframe 会跳过 LTI 启动,直接将用户带到面向公众的 FastComments 页面。删除该 iframe 并通过 Insert Stuff 流程重新插入。
添加到 Moodle 课程内容 
本指南介绍在网站管理员已注册该工具并将其设置为在活动选择器中显示后,如何将 FastComments 添加到 Moodle 4.x 课程。如果尚未注册 FastComments,请先参阅 Moodle 注册指南。
在编辑模式中打开课程
- 使用课程的 Editing Teacher(或更高权限)身份登录 Moodle。
- 打开课程。
- 在课程页眉右上角使用开关将 Edit mode 打开。
Moodle 4.x 用全屏活动选择器对替代了 3.x 的旧版“Add an activity or resource”下拉菜单。Moodle 4.5 保持相同的选择器,但在顶部添加了一个已加星标/收藏行,因此将 FastComments 固定一次以后,在以后章节中更容易访问。
添加 FastComments 活动
- 滚动到讨论所属的课程章节(主题或周)。
- 点击该章节底部的 Add an activity or resource。
- 在选择器对话框中,选择 FastComments。如果看不到它,请跳到下面的注意事项部分。
活动设置表单将打开。以下字段重要:
- Activity name(必填)。显示在课程页面和成绩册中。示例:
Week 3 Discussion。 - Activity description。可选的简介文本,呈现在评论线程上方。
- Show description on course page。如果希望在不点击活动的情况下显示描述,请勾选此项。
- Preconfigured tool。设置为
FastComments(从选择器启动时会自动选中)。不要更改。 - Launch container。设置为 New window。有关“Same window”在某些 Moodle 部署中会导致问题的原因,请参阅注意事项部分。
- Tool URL, Public key, Shared secret, Custom parameters。保持为空。动态注册在站点级别处理这些项。
向下滚动并点击 Save and return to course(或 Save and display 以立即打开该活动)。
该活动将以 FastComments 图标的行出现在章节中。学生点击该行即可打开评论线程。
在编辑器中以内嵌方式嵌入 FastComments
对于 Page、Book 章节、Lesson 或任何使用 Atto 或 TinyMCE 编辑器的资源中的线程:
- 以编辑模式打开该资源。
- 将光标放在希望插入线程的位置。
- 在编辑器工具栏中,点击 LTI / External tool 按钮。在 Atto 中标为“Insert LTI Advantage content”。在 TinyMCE(Moodle 4.3+ 的默认编辑器)中,它位于 More 菜单下的 External tools。
- 在工具列表中选择 FastComments。
- FastComments 会打开一个深度链接选择器。确认线程标题后点击 Embed。
- 编辑器将插入一个 LTI 占位块。保存资源。
每个嵌入实例都是一个独立的线程,基于深度链接内容项 ID 进行键控,因此一个包含三个 FastComments 嵌入的页面会产生三个独立的线程。
限制访问与小组设置
FastComments 活动适用标准的 Moodle 活动设置:
- Common module settings > Group mode。将其设置为 Separate groups 或 Visible groups 本身不会将 FastComments 拆分为每组独立的线程。Moodle 的小组模式仅过滤成绩册和成员列表。要为每个小组运行单独线程,请为每个小组添加一个 FastComments 活动,并使用 Restrict access 将每个活动限定范围。
- Restrict access > Add restriction。支持标准的 Moodle 条件:Date、Grade、Group、Grouping、User profile 以及嵌套的限制集合。使用 Group 将 FastComments 活动锁定到单个小组。
- Activity completion。如果希望跟踪完成情况,请设置为 Students must view this activity to complete it。除了启动外,FastComments 目前不会向 Moodle 报告其他完成事件。
角色映射
FastComments 读取 Moodle 在每次启动时发送的 LTI roles 声明并按如下方式映射:
- Moodle Manager 或 Site administrator -> FastComments admin
- Moodle Editing teacher 或 Non-editing teacher -> FastComments moderator
- Moodle Student -> FastComments commenter
- Moodle Guest -> 只读
管理员可以删除任何评论、封禁用户并编辑线程设置。版主可以删除并批准他们所启动的线程内的评论。自定义的 Moodle 角色将继承其克隆来源原型的映射。
学生看到的内容
学生点击 FastComments 活动(或滚动到 Page 或 Book 内部的嵌入块)。Moodle 会通过 LTI 向 FastComments 发送他们的身份信息:
- 无需登录屏幕。FastComments 使用 Moodle 帐户为他们登录。
- 他们的显示名称、电子邮件和头像来自 Moodle。
- 线程的范围为
(Moodle site, course, resource link ID),因此相同的活动如果复制到另一个课程会得到一个新的线程。 - 线程化回复、投票和通知与独立的 FastComments 线程工作方式相同。
锁定公开访问(推荐)
默认情况下,FastComments 的评论数据是公开可读的。任何能猜到线程 URL 或 API 端点的人,即便在 Moodle 之外,也可以查看其评论。对于课程讨论,您几乎肯定需要将查看权限限制为仅限已注册的学生。
打开您的 小部件自定义页面,创建一个启用了 Require SSO To View Comments 的规则,然后将安全级别设置为 Secure SSO,这样线程只能通过已签名的 LTI 启动加载。
参见 使用单点登录保护评论线程 获取完整操作步骤,包括如何将规则限定到单个域名或页面。
Moodle 注意事项
FastComments 在活动选择器中缺失。 站点管理员已注册该工具,但未将 Tool configuration usage 设置为 Show in activity chooser and as a preconfigured tool。在 Site administration > Plugins > Activity modules > External tool > Manage tools > 点击 FastComments 方块上的齿轮图标进行修复。
设置为“Same window”时启动失败或显示空白框架。 Moodle 的会话 cookie 默认使用 SameSite=Lax,某些浏览器会在 LTI 1.3 用于从 FastComments 返回的跨站 POST 上剥离这些 cookie。请在活动中将 Launch container 设置为 New window。对于嵌入在 Page 或 Book 中的 FastComments,这是一项硬性要求,因为编辑器嵌入的启动路径始终会弹出新窗口。
iss 声明是 Moodle 站点 URL,而不是租户 ID。 FastComments 使用 Moodle 站点 URL(wwwroot 配置值)作为 LTI 的发行者。如果您的 Moodle 实例迁移到新域或更改了 wwwroot,现有的 FastComments 线程将仍然绑定到旧的发行者,并且不会与新的启动匹配。如有需要,请针对新 URL 重新注册该工具并通过 FastComments 管理端迁移线程。
活动备份与恢复。 备份课程并将其恢复到新课程会创建新的资源链接 ID,因此恢复后的 FastComments 活动会以空线程开始。原课程保留原始线程。这是预期行为,不是 bug。
Moodle 4.5 的 TinyMCE 默认设置。 Moodle 4.5 在新安装中将 TinyMCE 作为默认编辑器。External tool 按钮位置位于 More(...)菜单下,而不是主工具栏。较早从 4.1 升级的站点会保留 Atto,除非管理员更改了默认设置。
添加到 Blackboard 课程内容 
一旦管理员将 FastComments 注册为 LTI 1.3 Advantage 工具并批准了机构策略,讲师即可通过标准的 Blackboard 放置点将其添加到课程中。Ultra Course View 与 Original Course View 的具体步骤有所不同,因此下面两个视图都予以说明。
Ultra Course View
截至 2026 年,Ultra Course View 是 Blackboard Learn SaaS 的默认视图。
- 打开课程并转到 课程内容 页面。
- 将鼠标悬停或点击大纲中希望评论线程出现在的位置,然后点击紫色的 +(添加内容)按钮。
- 选择 内容市场。内容市场面板列出机构批准的所有 LTI 工具和 Building Block 放置点。
- 找到 FastComments 磁贴并点击它。Blackboard 会在你打开 + 菜单的位置创建一个内容项。
- 对于默认个人设置中 隐藏学生 关闭的讲师,项目默认在大纲中以“对学生可见”条目出现。如果你的默认设置为 隐藏,则项目会以隐藏状态创建,准备好后你可以在项行上切换可见性选择器。
- 若要重命名该项,请在大纲中点击标题并输入新标签。学生在大纲中看到的标题与 FastComments 线程标识符是独立的,因此随时重命名都是安全的。
如果你没有看到 内容市场 选项,则说明机构已将该放置隐藏。你也可以通过同一 + 菜单下的 更多工具 中 LTI 工具 组访问相同的选择器。
Original Course View
Original Course View 在 Learn SaaS 中仍受支持,并且仍然是基于 Q4 2024 CU 发布线的自托管 Learn 9.1 站点的主要体验。
- 打开课程并进入一个 内容区(例如课程菜单中的默认 信息 或 内容 区域)。
- 在页面右上角的切换开关将 编辑模式 打开。
- 在操作栏中点击 创建内容。
- 在 学习工具 子菜单下,点击 FastComments。学习工具子菜单由管理员注册工具后的 LTI 1.3 工具放置填充。如果你看不到它,请参见下面的注意事项部分。
- 在 创建 FastComments 表单上,设置:
- 名称:学生在内容区看到的标签。
- 描述:显示在嵌入线程上方的可选文本。
- 允许用户查看此内容:是/否 可用性切换。
- 跟踪查看次数:如果你想要 Blackboard 的每项查看统计,请启用。FastComments 会独立运行自己的分析。
- 日期和时间限制:可选的 显示之后 / 显示直到 时间窗口。
- 提交。该工具将作为可点击项出现在内容区中。
在条目或文档内嵌入
在两种课程视图中,讲师都可以通过内容编辑器的 LTI Advantage 按钮将 FastComments 内联嵌入到条目、文档或任何富文本字段的正文中。
Ultra Course View:
- 创建或编辑一个 文档。
- 在文档正文中点击 添加内容,将光标置于希望线程出现的位置。
- 在编辑器工具栏中打开 插入内容 菜单并点击 内容市场(LTI Advantage / 深度链接 的入口)。
- 选择 FastComments。FastComments 返回一个深度链接有效负载,Blackboard 会在光标位置将嵌入块插入到文档正文中。
- 保存文档。学生在滚动到该处时会看到线程以内联方式渲染。
Original Course View:
- 编辑任何带有富文本正文的条目。
- 在内容编辑器工具栏中,点击 添加内容 的加号图标并选择 内容市场(在较旧的 Q4 2024 CU 中标记为 从外部工具添加内容)。
- 选择 FastComments。编辑器会插入一个引用深度链接资源的占位块。
- 提交该条目。
每个深度链接嵌入都会生成其自己的 FastComments 线程,因此一个包含两个嵌入 FastComments 区块的条目会有两个独立的评论流。
可见性、发布条件与小组限制
FastComments 内容项在访问控制规则上与其他 Blackboard 内容项的行为一致。
- Ultra:在项行上点击可见性选择器(对学生可见、对学生隐藏、条件可用性)。条件可用性支持日期/时间窗口、针对成绩簿项目的表现规则以及针对课程小组的成员规则。
- Original:打开该项的上下文菜单并选择 自适应发布 或 自适应发布:高级,以按日期、成员资格、成绩或审阅状态对工具进行限制。使用该项上的 设置小组可用性 可限制到特定课程小组。
FastComments 尊重 Blackboard 的任何门控决定。如果 Blackboard 对某学生隐藏了该项,则该学生永远不会触发 LTI 启动,也不会出现在版主视图中。
成绩簿行为
FastComments 不会通过 LTI Advantage 的 Assignment and Grade Services 报告成绩。不会为 FastComments 内容项自动创建成绩列。
如果你的 Blackboard 租户配置为对每个新内容项自动创建成绩簿列(无论是否有评分元数据),则仍会出现一个空列。要隐藏它:
- Ultra:打开 成绩簿,点击列头,选择 编辑,并关闭 向学生显示 以及 计入计算。或者如果机构允许删除未评分项的列,可使用 删除。
- Original:打开 成绩中心,点击该列的下拉箭头,选择 对用户隐藏(开/关),并可在 列组织 下可选 对讲师视图隐藏。
学生看到的内容
当学生打开 FastComments 项目或滚动到嵌入块时:
- Blackboard 向 FastComments 发起 LTI 1.3 消息。学生通过他们的 Blackboard 身份(姓名、电子邮箱、头像、角色)通过 SSO 登录,无需看到登录表单。
- 评论线程在 iframe 中渲染。线程、回复、提及和反应等功能将根据在 FastComments 中配置的评论小部件设置可用。
- 他们的评论会归属于他们的 Blackboard 账户。如果学生之后在 Blackboard 中编辑了姓名或照片,下次启动时会更新 FastComments 配置文件。
从 Blackboard 到 FastComments 的角色映射:
- System Administrator 和 Course Builder 映射到 FastComments 的 admin。
- Instructor 和 Teaching Assistant 映射到 FastComments 的 moderator。
- Student、Guest 和 Observer 映射到 FastComments 的 commenter。
版主在每条评论的行内会看到版控操作(置顶、隐藏、封禁、删除)控件。
锁定公开访问(推荐)
默认情况下,FastComments 的评论数据是公开可读的。任何能猜出线程 URL 或 API 端点的人都可以查看其评论,即使不在 Blackboard 中也一样。对于课程讨论,你几乎肯定希望将查看权限限制为仅限已注册的学生。
打开你的 小部件自定义页面,创建一条启用 查看评论需 SSO 的规则,然后将安全级别设置为 Secure SSO,这样线程只能通过签名的 LTI 启动加载。
参见 使用单点登录保护评论线程 以获取完整的操作步骤,包括如何将规则限定到单个域或页面。
线程范围
FastComments 通过 (Blackboard 主机,课程 ID,资源链接 ID) 对每个线程进行范围划分。同一课程中的两个 FastComments 项会产生两个线程。相同的项目跨两个课程外壳复制(例如通过课程复制)会产生两个线程,因为 Blackboard 在复制过程中会发放新的资源链接 ID。要在课程复制间保持共享线程,请在复制前使用深度链接并在 FastComments 中配置显式线程 URN。
Blackboard 特定注意事项
Build Content 菜单(Original)或内容市场(Ultra)中缺少 FastComments 磁贴。 管理员批准了该工具,但留下了阻止相关放置的机构策略。前往 管理员面板 > 集成 > LTI 工具提供者,编辑 FastComments 条目,确认已启用 课程内容工具(Original)以及 课程内容工具 - 允许学生 / 深度链接内容工具(Ultra)这些放置点。保存并刷新课程页面。
启动时出现“工具未为此上下文配置”或“工具未部署”错误。 在动态注册期间注册的部署范围与课程所属的机构上下文不匹配。在 Blackboard 的工具提供者条目中,验证 部署 ID 是否与 FastComments 在此租户的 LTI 1.3 配置页面上显示的值相匹配。如果不同,请删除该放置并从新的注册 URL 重新运行动态注册(在此获取)。
Iframe 高度看起来固定或内容被截断。 某些 Blackboard 租户附带严格的内容安全策略(CSP),会阻止默认的 LTI iframe-resize postMessage。FastComments 发出 Canvas 风格的 lti.frameResize 消息和 IMS 规范形式的 org.imsglobal.lti.frameResize 消息以最大化兼容性,但租户级别的 CSP 覆盖会阻止父窗口监听器。请你的管理员确认 *.fastcomments.com 已列入 LTI 工具允许列表,并且没有自定义 CSP 头部剥离 postMessage 事件。然后无需进一步配置即可恢复调整大小功能。
课程复制会复制线程。 Blackboard 在课程复制时为 LTI 放置发放新的资源链接 ID,因此被复制的课程会从空线程开始。这是预期行为。如果你需要被复制的课程继承原始线程,请在复制前使用深度链接并配置显式线程 URN,或联系 FastComments 支持以批量重映射线程 ID。
学生启动时看到通用 Blackboard 错误。 原因通常是缺失或过期的 email 声明。确认机构策略中为 FastComments 启用了 角色、姓名 和 电子邮件地址(位于 要发送的用户字段 下)。保存后,在新的浏览器会话中重新启动。
添加到 Sakai 或 Schoology 课程内容 
一旦 FastComments 在平台上注册,教师即可使用平台的标准外部工具流程将其添加到课程内容中。本页涵盖 Sakai 23.x 和 Schoology Enterprise。
限制公开访问(推荐)
默认情况下,FastComments 的评论数据在任一平台上都是公开可读的。任何能够猜到线程 URL 或 API 端点的人都可以查看其评论,甚至在 Sakai 或 Schoology 之外。对于课程讨论,您几乎肯定希望将查看权限限制为仅限已注册的学生。
打开您的 小部件自定义页面,创建一条规则并启用 Require SSO To View Comments,然后将安全级别设置为 Secure SSO,以便线程只能通过签名的 LTI 启动加载。
参见 Protecting Comment Threads With Single-Sign-On 获取完整的演练,包括如何将规则限制到单个域或页面。
Sakai
1. 将 FastComments 添加到站点
站点维护者按站点启用该工具:
- 打开站点并在左侧导航中点击 Site Info。
- 点击 Manage Tools。
- 滚动到 External Tools 列表并将 FastComments 切换为开启。
- 点击 Continue,查看工具列表,然后点击 Finish。
FastComments 现在会作为站点左侧导航项出现。
2. 重新排序左侧导航条目
转到 Site Info > Tool Order。将 FastComments 拖到所需位置并点击 Save。您也可以在此屏幕上重命名导航标签并将其对学生隐藏。
3. 在 Lessons 页面中内嵌
若要将 FastComments 直接放置在 Lessons 页面内,而不是作为独立的左侧导航工具:
- 在站点中打开 Lessons 工具。
- 点击 Add Content > Add External Tool。
- 从列表中选择 FastComments。
- 如果 FastComments 在注册期间声明了 Deep Linking,Sakai 会打开该工具的内容选择器,您可以选择或标记线程。如果未声明 Deep Linking,Sakai 会插入默认的启动链接。
- 保存 Lessons 条目。
每个嵌入实例都有自己的线程,范围限定为该资源链接。
4. 针对学生访问的权限调整
Sakai 通过 Realms 控制外部工具的启动。确认学生可以启动 FastComments 的步骤:
- 以 Sakai 管理员身份登录并打开 Administration Workspace > Realms。
- 打开相关的 realm(例如
!site.template.course或特定站点的 realm)。 - 确认
access角色已启用lti.launch,并且 external.tools 组中的角色权限已被授予。 - 保存 realm。
对于站点级的覆盖,维护者可以在 Site Info > Tool Order 中通过对各角色隐藏或显示 FastComments 来调整每个角色的工具可见性。
5. 学生看到的内容
学生点击 FastComments 左侧导航项(或滚动到嵌入的 Lessons 块)即可直接进入线程评论视图。SSO 为自动:Sakai 在 LTI 启动中发送用户身份,FastComments 使用其 Sakai 帐户为其登录。
角色映射:
- Sakai
Instructor-> FastComments 版主 - Sakai
Admin(Administration Workspace 中的管理员) -> FastComments 管理员 - Sakai
Student/access-> FastComments 评论者
6. Sakai 常见问题
- Manage Tools 中看不到该工具。 如果 FastComments 未出现在 External Tools 列表中,Sakai 管理员需要打开工具注册表(Administration Workspace > External Tools > FastComments)并将 Stealthed 设置为
false。被 Stealthed 的工具会在每站点的 Manage Tools 选择器中隐藏。 - 在共享会话的浏览器中启动失败。 Sakai 的门户 CSRF 令牌绑定到浏览器会话。如果学生在不同标签页登录了两个 Sakai 站点或存在过期会话,启动会返回 403。解决方法:关闭其他 Sakai 标签页,登出,重新登录,然后重新启动。管理员也可以在群集范围内发生此问题时提高
sakai.csrf.token.cache.ttl。 - 嵌入框架问题。 确认在
sakai.properties中lti.frameheight足够大(600 或更高),以免在 Lessons 页面中评论线程被截断。
Schoology
Schoology Enterprise 有两种安装场景。添加工具到课程之前请确认适用的场景。
1. 两种安装场景
- (a) 企业级安装。 Schoology 系统管理员在组织层面安装了 FastComments 并将其分配给所有课程或特定的课程模板。教师可跳过安装,直接进入 “Add Materials”。
- (b) 教师自助安装。 教师从 Course Options > External Tools > Install LTI Apps 将该工具安装到单个课程中。自助安装之前需要系统管理员先在组织层级批准 FastComments 应用。
2. 将 FastComments 作为课程资料添加
在课程内:
- 打开课程并转到 Materials。
- 点击 Add Materials > Add File/Link/External Tool。
- 选择 External Tool。
- 从已注册的工具列表中选择 FastComments。
- 设置一个 Name(这是学生在资料列表中看到的名称)和可选的 Description。
- 保持 Enable Grading(成绩回传)为 OFF。FastComments 不向 Schoology 报告成绩,因此启用成绩回传会创建一个空的成绩册列。
- 点击 Submit。
该资料现在出现在课程资料列表中,点击时会打开 FastComments 线程。
3. 通过富文本编辑器内联嵌入
如果系统管理员在注册期间为 FastComments 启用了 Deep Linking 放置,教师可以在任何富文本字段(作业说明、页面正文、讨论提示)中嵌入评论线程:
- 在目标页面打开富文本编辑器。
- 点击工具栏中的 External Tool(拼图图标)图标。
- 选择 FastComments。
- 在深度链接对话框中配置嵌入并点击 Insert。
- 保存页面。
如果富文本编辑器中未出现 External Tool 按钮,则说明在此租户中禁用了 Deep Linking。见下文的注意事项。
4. 可见性与小节分配
Schoology 通过课程选项按小节范围控制工具可用性:
- 在课程中,点击 Course Options > External Tools。
- 对于每个已安装的 LTI 应用,您可以控制它是对课程中所有小节可见还是仅对特定小节可见。
- 若要将 FastComments 限制到某些小节,请取消选中不应看到该工具的小节。
- 小节级访问也控制哪些小节可以看到 Add Materials > External Tool 中的 FastComments 条目。
5. 学生看到的内容
学生点击 FastComments 资料(或滚动到内联嵌入处)即可进入线程讨论。SSO 通过他们的 Schoology 帐户随 Schoology 的 LTI 启动自动完成。
角色映射:
- Schoology
Administrator-> FastComments 管理员 - Schoology
Instructor-> FastComments 版主 - Schoology
Student-> FastComments 评论者
6. Schoology 常见问题
- 仅限企业版。 个人和免费 Schoology 帐户无法安装 LTI 1.3 工具。如果您的租户使用的是免费套餐,Course Options 中将没有 External Tools 选项。升级到 Schoology Enterprise 以使用 FastComments。
- 租户默认禁用 Deep Linking。 一些 Schoology 租户在组织层面限制 Deep Linking 放置。若出现这种情况,教师在富文本编辑器中只会看到 Add Materials > External Tool 流程,而不会看到富文本编辑器中的 External Tool 按钮。要启用内联嵌入,系统管理员需转到 System Settings > Integration > LTI 1.3 > FastComments 并启用 Content Item / Deep Linking 放置,然后保存。
- 按小节分配被覆盖。 如果 FastComments 在企业级分配但教师在 Add Materials 中看不到它,则可能是课程的小节在组织级分配中被排除了。请系统管理员将该小节添加到 FastComments 应用分配中。
- 资料名称与线程标识。 在 Schoology 中重命名资料不会移动评论线程。线程是基于 LTI 资源链接 ID 键控的,因此重命名会保持相同线程;删除并重新创建资料会创建一个新的、空的线程。
故障排除 
"Registration token not found, expired, or already used"
您注册 URL 中的令牌(在此获取)仅在 30 分钟内有效且只能使用一次。如果您的 LMS 花费了更长时间,或在注册成功后又重试,令牌会被拒绝。请在 FastComments 的 LTI 1.3 配置页面生成新的 URL 并重新开始。
"Platform rejected registration"
您的 LMS 拒绝了注册握手。最常见的原因:
- Tool already registered with the same client name. 一些平台(尤其是 D2L)在未删除先前注册项之前会拒绝再次注册名为 “FastComments” 的工具。请在您的 LMS 中移除旧工具,然后重试。
- Wrong field in the LMS. 确保您将 URL 粘贴到了 registration / tool initiation registration endpoint 字段,而不是 launch URL 或 login URL 字段。
- The LMS doesn't actually support Dynamic Registration. 较旧的 Moodle 和 Blackboard 版本虽然宣称支持 LTI 1.3,但仅允许手动配置。请查看您平台的文档。
"Failed to fetch platform configuration"
FastComments 无法读取您 LMS 的 openid-configuration 文档。这种情况很少见,通常意味着 LMS 提供了格式错误或无法访问的发现(discovery)URL。请联系您的 LMS 支持。
Launch shows "Configuration not found"
要么 FastComments 中的配置被删除了,要么启动来自我们不识别的 iss/client_id 组合。如果您已删除并重新注册,请指示您的 LMS 删除并重新添加 FastComments 工具,以便获取新的 client_id。
Launch shows "Deployment not registered"
您从与首次启动时不同的 Brightspace/Moodle/Blackboard 部署中启动了 FastComments。FastComments 在首次启动时会将 deployment_id 固定以作为安全检查。要在同一客户端下添加新部署,请联系支持 —— 我们会将该部署 ID 添加到配置中。
Launch shows "Unsupported message_type"
LMS 发送了 FastComments 不处理的 LTI 消息(例如 LtiSubmissionReviewRequest)。FastComments 仅支持标准的 resource-link 启动和 deep-linking 流程。如果您需要添加特定的消息类型,请与我们联系。
Iframe doesn't resize
大多数 LMS 会自动调整 LTI iframe 的大小。如果您的平台没有,请检查 LMS 的启动设置是否允许该工具向父框架发送 postMessage 事件。FastComments 会发送 Canvas 风格的(lti.frameResize)和 IMS 规范的(org.imsglobal.lti.frameResize)调整大小消息。
最小权限与数据最小化 
The FastComments LTI 1.3 集成遵循最小权限原则:它仅使用识别用户、将评论附加到正确的课程和资源以及应用基于角色的权限所需的启动声明。
本页其余部分映射了集成所使用的每个声明、不请求的每项 LTI Advantage 服务以及不收集的每类数据。安全与采购审查人员可以直接从下表中提取答案。
从 LMS 接收的数据元素
每次 LTI 1.3 启动都携带来自 LMS 的签名 JWT。FastComments 从该 JWT 中提取以下声明,并且不使用其他内容:
| Field | LTI claim | Purpose | Required | Stored |
|---|---|---|---|---|
| User identifier | sub | 在多次启动中一致地标识用户,使同一人解析为相同的 FastComments SSO 用户 | 是 | 是,作为稳定的内部 SSO ID 的一部分 |
| Display name | name | 显示在用户评论旁的署名 | 是(如果缺失则回退为 "LMS User") | 是 |
email | 帐户匹配、通知、审核、支持通信 | 可选(集成在没有它的情况下仍然可以工作) | 提供时会存储 | |
| Avatar URL | picture | 显示在用户的评论上 | 可选 | 仅存储 URL;FastComments 不会下载或重新托管该图像 |
| Roles | https://purl.imsglobal.org/spec/lti/claim/roles | 确定用户是管理员、讲师(版主)还是学习者 | 是 | 在 SSO 会话上派生出 isAdmin / isModerator 标志 |
| Course context | https://purl.imsglobal.org/spec/lti/claim/context (id, title) | 将评论线程关联到正确的 LMS 课程 | 是 | 是,作为解析后页面标识的一部分 |
| Resource link | https://purl.imsglobal.org/spec/lti/claim/resource_link (id) | 将评论与课程内正确的活动或工具位置关联 | 如果存在则为必需 | 是,作为解析后页面标识的一部分 |
| Deployment ID | https://purl.imsglobal.org/spec/lti/claim/deployment_id | 将启动路由到正确的 FastComments 租户配置 | 是 | 是,存储在 FastComments LTI 配置记录中 |
在注册时声明的声明和范围
在 LTI 1.3 动态注册期间,FastComments 以 scope: ""(无额外 OAuth 范围)注册自身,并仅声明以下 OpenID Connect 声明:
iss, sub, name, email, picture
它注册了两种消息类型:
LtiResourceLinkRequest- 标准的课程启动到 FastComments。LtiDeepLinkingRequest- 允许讲师在课程内放置 FastComments 工具。
不会向 LMS 请求额外的访问令牌。
未请求的 LTI Advantage 服务
| Service / scope | Requested? | Reason |
|---|---|---|
| Names and Role Provisioning Services (NRPS) | 否 | 该集成不需要课程花名册;用户身份随每次启动传递 |
| Assignment and Grade Services (AGS) - lineitem, score, result scopes | 否 | 该集成与成绩簿无关 |
| Deep Linking beyond the standard placement return | 不请求额外数据 | 深度链接仅用于讲师放置该工具;不会列举课程内容 |
不收集的数据
除 LTI 本身之外,FastComments 不会从 LMS 或用户处请求或接收以下内容:
| Category | Collected? |
|---|---|
| Student grades | 否 |
| Assignment submissions | 否 |
| Attendance records | 否 |
| Full course rosters | 否 |
| Government identifiers | 否 |
| Date of birth | 否 |
| Postal address or phone number | 否 |
| Financial information | 否 |
| LMS administrator credentials | 否 |
访问边界
- FastComments 仅接收由 LMS 注册密钥签名的授权 LTI 1.3 启动中的数据。该集成不会回调 LMS 以获取额外信息。
- 启动令牌为一次性且短期有效。重放或过期的令牌将被拒绝。
- LMS 管理员控制工具在其平台中的部署位置。例如,D2L Brightspace 支持按部署的组织单元范围和按部署的安全设置,这允许管理员将工具限制到特定课程或组织单元,而不是全局可用。Moodle、Blackboard、Sakai 和 Schoology 在其 LTI 1.3 实现中提供等效的按部署控制。
存储与保留
FastComments 在活动评论服务期间并根据客户配置的保留设置保留 LTI 派生的数据。评论数据存储在加密静态生产存储中。在帐户终止或书面删除请求时,FastComments 会根据适用协议删除或匿名化客户数据。
有关完整的存储和数据处理详细信息,请参阅 FastComments 隐私政策。
审查频率
任何需要额外声明、范围或 LTI Advantage 服务的新 LTI 功能在发布前都会进行审查,以确认所请求的访问对于所交付的功能是必要且相称的。
供安全问卷使用的简短声明
FastComments 对其 LTI 1.3 集成应用最小权限和数据最小化原则。该集成仅使用用于验证用户(
sub,name,picture)、确定其角色以及识别评论所属课程和资源的 LTI 启动声明。FastComments 不请求 Names and Role Provisioning Services、Assignment and Grade Services、成绩簿数据、出勤、完整花名册或 LMS 管理访问权限。LMS 管理员保留对工具可用的组织单元、课程和部署的控制权。