概述

TinyMCE 8 使用增强的许可证密钥系统,以确保符合 TinyMCE 的许可条款。

本页仅涵盖 TinyMCE 编辑器许可证密钥。有关用于自托管 Docker 服务(如 TinyMCE AI、导出到 PDF、从 Word 导入/导出到 Word)的许可证密钥的信息,请参阅 服务许可证密钥。

TinyMCE 依据 GNU 通用公共许可证第 2 版或更高版本授权。TinyMCE 7 中引入的配置选项 'license_key' 要求开发者做出有意识的决定,以 GPLv2+ 许可证或商业许可证使用 TinyMCE。

在自托管环境中使用 TinyMCE 8 时,必须提供有效的许可证密钥。否则,编辑器将被禁用。从 Tiny Cloud 加载 TinyMCE 时不需要许可证密钥,因为它已经处于商业许可证下。

此外,在自托管环境中将 TinyMCE 8 用于商业用途时,需要商业许可证密钥管理器插件才能使编辑器运行。

设置许可证

使用 GPLv2+ 许可证的 TinyMCE

如果开发者打算根据 GPL 许可证自托管 TinyMCE 并同意其条款,可以将 license_key 配置选项设置为 'gpl'。大小写不敏感。

示例

tinymce.init({
  selector: 'textarea',  // 根据需要更改此值以匹配您的 HTML
  license_key: 'gpl'
});

使用商业许可证的 TinyMCE

如果开发者打算根据商业许可证自托管 TinyMCE,则必须提供有效的许可证密钥。购买了 TinyMCE 自托管许可的客户将在 账户门户中找到他们的许可证密钥。要购买商业许可证,请查看 价格页面上的可用选项。

TinyMCE 8 的商业许可证密钥将以 T8LK: 为前缀。

示例

tinymce.init({
  selector: 'textarea',  // 根据需要更改此值以匹配您的 HTML
  license_key: 'T8LK:...'
});

使用 GPL 下带有高级功能的 TinyMCE

如果开发者打算根据 GPL 许可证自托管 TinyMCE 编辑器并同意其条款,同时自托管高级功能,则必须提供有效的许可证密钥。购买了 TinyMCE 自托管许可的客户将在 账户门户中找到他们的许可证密钥。要购买商业许可证,请查看 价格页面上的可用选项。

此类许可证密钥专门用于需要高级功能且保持 GPL 合规的开源项目。

TinyMCE 8 的商业许可证密钥将以 GPL+T8LK: 为前缀。

tinymce.init({
  selector: 'textarea',  // 根据需要更改此值以匹配您的 HTML
  license_key: 'GPL+T8LK:...'
});

设置商业许可证密钥管理器

不需要将 'licensekeymanager' 添加到 plugins 配置选项中。

使用商业许可证密钥时,编辑器需要加载商业许可证密钥管理器(licensekeymanager)。对于自托管安装,可以像设置其他插件一样设置商业许可证密钥管理器。然而,不需要在 plugins 配置选项中指定它,因为编辑器会在需要时尝试自动加载许可证密钥管理器。

商业许可证密钥管理器可用于:

  • 购买的自托管计划 - TinyMCE .zip 的 plugins 文件夹中会有一个 licensekeymanager 文件夹。

  • 购买的自托管插件 - 除了购买的插件外,还会有一个 licensekeymanager 文件夹。

  • 作为独立插件 - 会有一个 licensekeymanager 文件夹。

  • 在 tinymce-premium NPM 包中 - licensekeymanager 插件包含在 tinymce-premium 包中。

编辑器要与商业许可证密钥一起运行,必须执行以下设置步骤。如果没有正确的许可证密钥管理器配置,编辑器将无法工作。

托管与捆绑时的注意事项

  • 如果独立托管 TinyMCE,例如在 /public 文件夹中,确保 licensekeymanager 文件夹与其他所有插件一起包含在 plugins 文件夹中。没有这个,编辑器将无法运行。

  • 如果将 TinyMCE 捆绑为应用程序的一部分,确保导入 licensekeymanager/index.js 文件,否则没有这个,编辑器将无法运行。

当使用带有来自 ZIP 的高级插件的 tinymce NPM 包时:

import 'tinymce/plugins/licensekeymanager';

当使用 tinymce-premium NPM 包(推荐)时:

import 'tinymce-premium/plugins/licensekeymanager';

当使用 external_plugins 从自定义位置加载许可证密钥管理器时:

tinymce.init({
  selector: 'textarea',
  external_plugins: {
    'licensekeymanager': '<path_to_premium_plugins>/licensekeymanager/plugin.min.js'
  },
  // ... other configuration
});
  • `licensekeymanager` 插件包含在 `tinymce-premium` 包中。

  • `tinymce-premium` 包版本必须与 `tinymce` 包版本匹配(例如,两者均为 8.3.0)。

  • `external_plugins` 选项允许从任何位置加载许可证密钥管理器,例如 CDN 或独立主机。有关更多信息,请参阅:external_plugins configuration option。

许可证类型和部署选项

许可证密钥类型

有两种不同的许可证类型:

  1. GPL 许可证

  2. 商业许可证

商业许可证可细分为以下子类型:

类型主要特性最佳适用场景

基于时间的密钥

  • 到期日期

  • 可选的宽限期

  • 高级插件访问权限

  • 无补丁版本锁定

  • 能够定期轮换许可证的开发者。

  • 希望许可证密钥在跨补丁版本中有效的开发者。

版本锁定的密钥

  • 仅限特定补丁版本

  • 无到期日期

  • 高级插件访问权限

  • 无法定期轮换许可证密钥的环境。

试用密钥(ONLINE+)

  • 密钥格式以 ONLINE+ 前缀开头

  • 试用期结束时到期

  • 需要连接到 Tiny Cloud 进行验证

  • 可选择通过 online_license_services_opt_in: true 连接到云服务

  • 在自托管环境中评估 TinyMCE。

  • 有关设置说明,请参阅 自托管试用。

部署类型

类型密钥配置功能

仅云部署

  • 需要 API 密钥用于:

    • 访问云服务

    • 访问高级插件

    • 自动更新

  • 无需许可证密钥,因为它会自动颁发。(默认为商业许可证)

  • 完全托管的服务:

    • 无需本地部署

    • 自动更新和 CDN 分发

自托管

  • 需要 GPL 或商业许可证密钥

  • 无需 API 密钥

  • 完全的本地控制:

    • 自托管编辑器和高级插件

    • 自定义部署选项

    • 无云依赖

    • 无需互联网连接

混合部署

  • 需要两种密钥:

    • 用于云功能的 API 密钥

    • 用于自托管编辑器和自托管高级插件的许可证密钥

  • 两全其美:

    • 访问云功能

    • 自定义部署选项

许可证状态

状态功能和行为适用对象

有效

  • 完整的编辑器和高级插件功能

  • 功能无限制

所有许可证类型

宽限期

  • 所有功能保持正常

  • 警告许可证密钥处于宽限期,将来将无法使用

仅限基于时间的密钥

已过期

  • 编辑器被禁用

  • 必须获取新的许可证密钥才能继续使用 TinyMCE

仅限基于时间的密钥

无效

  • 编辑器被禁用

  • 编辑器通知提示许可证密钥无效

所有许可证类型

常见问题

GPL 许可证意味着什么?

TinyMCE 8 根据 GNU 通用公共许可证版本 2 或更高版本进行许可,通常缩写为 GPLv2+。在此阅读更多关于许可证条款的信息。

选择 GPLv2+ 许可证是为了提供与现有 GPL 许可的开源项目的最佳兼容性。

许可证密钥和 API 密钥有什么区别?

API 密钥用于从 Tiny Cloud 加载 TinyMCE。许可证密钥用于在自托管 TinyMCE 时声明许可证条款。

谁需要获取许可证密钥?

任何打算自托管 TinyMCE 的人都将需要获取以 T8LK 为前缀的商业许可证密钥或使用 GPL 模式。

我如何知道我是否受到此更改的影响?

如果 TinyMCE 检测到 license_key 配置缺失或无效,它将显示控制台日志警告消息和/或编辑器通知,并将编辑器设置为禁用。这些警告和限制旨在确保合规性,并在评估期间提供透明度。

如果您主动抑制或隐藏了这些消息,请移除这些覆盖设置以保持正确的许可证验证。如果没有出现通知,则说明您未受影响。

我应该同时使用 API 密钥和许可证密钥吗?

更多信息请参阅上文的部署类型部分。

仅在正确配置的混合部署中同时使用这两个密钥。未正确配置混合部署而同时使用这两个密钥可能会导致验证冲突和意外行为。

TinyMCE 会“回传”以检查许可证密钥吗?

对于使用基于时间或版本锁定的商业密钥的标准自托管部署,不会:验证完全离线进行,不会建立网络连接。

对于云部署和混合部署,许可证密钥可能会被 Tiny Cloud 检查。

对于使用试用版 (ONLINE+) 密钥的自托管试用部署,会:编辑器会联系 Tiny Cloud 以完成密钥验证。这是试用密钥所必需的,且无法禁用。可选的 online_license_services_opt_in 设置控制是否也配置云服务 URL,但无论如何都会进行验证网络调用。详情请参阅 自托管试用版。

如果我不提供有效的许可证密钥会怎样?

除了编辑器被禁用外,控制台日志警告消息和/或编辑器通知将一直存在,直到提供有效的许可证密钥或 'gpl'。

为什么需要许可证密钥?

许可证密钥确保符合 TinyMCE 许可条款。这是我们完善许可证密钥系统努力的一部分,未来可能会具有额外的功能。

如何获取 TinyMCE 8 许可证密钥?

要获取新的 TinyMCE 8 许可证密钥(以 T8LK 为前缀):

现有的 TinyMCE 7 许可证密钥无法通过添加 T8LK 前缀来修改以用于 TinyMCE 8。必须通过上述列出的正确渠道获取新的 TinyMCE 8 许可证。

从 TinyMCE 7 升级时,获取 TinyMCE 8 许可证密钥的流程是什么?

如果您使用的是 Tiny Cloud(云托管):

  • 不需要许可证密钥 - 只需更新您的 TinyMCE 版本,因为您的云订阅已包含商业许可证。

如果您是升级到 TinyMCE 8 的现有 TinyMCE 7 自托管客户:

  1. 有效订阅:

    • 联系您的客户经理或访问 Tiny Cloud 账户 以获取新的以 T8LK 为前缀的许可证密钥。

  2. 订阅已过期:

    • 联系您的客户经理或访问 Tiny Cloud 定价 以续订您的订阅。

    • 作为续订过程的一部分,将提供一个新的以 T8LK 为前缀的许可证密钥。

您现有的 TinyMCE 7 许可证密钥将继续适用于 TinyMCE 7 自托管安装。但是,对于自托管安装的 TinyMCE 8 编辑器实例,您将需要一个单独的以 T8LK 为前缀的许可证密钥。

我如何获得进一步的帮助?

对于任何许可或技术支持问题,请参阅我们的支持页面上可用的选项。

技术支持

对于许可或技术支持:

许可证密钥错误消息

下表列出了可能出现在控制台或编辑器中的常见许可证密钥错误消息及其描述和解决方案:

错误类型控制台消息编辑器通知解决方案

无效的许可证密钥(通用)

编辑器被禁用,因为提供的许可证密钥无效 [${errorType}]

编辑器被禁用,因为提供的许可证密钥无效。

  • 验证许可证密钥是否正确从您的 Tiny Cloud 账户 复制

  • 确保密钥中没有多余的空格或字符

  • 检查密钥是否与您的部署类型匹配(云 vs 自托管)

加载错误(云)

编辑器被禁用,因为 TinyMCE API 密钥无法验证。需要 TinyMCE 商业许可证密钥管理器插件来验证提供的 API 密钥,但无法加载。

编辑器被禁用,因为 TinyMCE API 密钥无法验证。

  • 验证您的 API 密钥是否有效

  • 检查您的订阅是否有效

  • 如果问题仍然存在,请访问 支持门户

加载错误(自托管)

编辑器已被禁用,因为提供的 license key 无效。需要加载 TinyMCE Commercial License Key Manager 插件来验证所提供的 license key,但该插件无法加载。

编辑器已被禁用,因为无法验证 TinyMCE 的 license key。

  • 检查 license key 是否与您的部署类型匹配:GPL 或商业版、云端或自托管

  • 确保 license key manager 已正确设置:设置 Commercial License Key Manager

已过期

编辑器已被禁用,因为 license key 已过期且不再有效

编辑器已被禁用,因为 license key 已过期且不再有效。

  • 访问 Tiny Cloud 账户 获取新的 license key

  • 使用新的 key 更新您的配置

  • 如果您认为您的许可证仍然有效,请访问 支持门户

宽限期

编辑器将在不久的将来被禁用,因为 license key 已过期

编辑器将在不久的将来被禁用,因为 license key 已过期。

  • 访问 Tiny Cloud 账户 获取新的 license key

  • 在宽限期结束前更新您的配置

  • 如果您在许可证续订方面需要帮助,请访问 支持门户

编辑器版本无效

编辑器已被禁用,因为此 license key 不适用于当前的 TinyMCE 版本

编辑器已被禁用,因为此 license key 不适用于当前的 TinyMCE 版本。

  • 确认您的 TinyMCE 版本与 license key 版本匹配

  • 更新您的 TinyMCE 版本或获取新的 license key

  • 对于版本锁定的 key,确保您正在使用正确的补丁版本

无 license key

编辑器已被禁用,因为未提供 TinyMCE 的 license key。请确保提供有效的 license key 或在 init 配置中添加 license_key: 'gpl' 以同意开源许可证条款。

编辑器已被禁用,因为未提供 TinyMCE 的 license key。

  • 在 TinyMCE 配置中添加 license_key 参数

  • 对于 GPL 使用,设置 license_key: 'gpl'

  • 对于商业使用,输入您有效的商业 license key

插件无效

“${pluginCode}”插件需要有效的 TinyMCE license key

由于 license key 限制,一个或多个高级插件已被禁用。

  • 确认您的许可证包含对高级插件的访问权限

  • 检查您的 license key 是否有效且未过期

  • 如果您认为自己应该有权访问此插件,请访问 支持门户

在线 API Key 错误(5xx - 回退)

API key 无法通过 API key 验证服务器验证 [类型: ${errorType}${statusMsg}]。尝试回退到提供的 license key。

  • 检查您的互联网连接

  • 确认您的防火墙设置允许访问验证服务器

  • 编辑器将尝试使用提供的 license key 作为回退方案

在线 API Key 错误(4xx - 禁用)

编辑器已被禁用,因为 API key 无法通过 API key 验证服务器验证 [类型: ${errorType}${statusMsg}]

编辑器已被禁用,因为 API key 无法通过 API key 验证服务器验证。

  • 确认您的 API key 有效

  • 检查您的订阅是否激活

  • 如果问题仍然存在,请访问 支持门户

资源加载错误

编辑器已被禁用,因为无法验证 TinyMCE 的 license key。TinyMCE Commercial License Key Manager 插件无法加载其他所需资源。

编辑器已被禁用,因为无法验证 TinyMCE 的 license key。

  • 如果在打包,请确认您使用的是导入其他所需资源的 licensekeymanager/index.js 文件。

  • 如果在托管,请确认 plugins/licensekeymanager 文件夹中也存在 js/commerciallicensekeymanager.js 文件。

ONLINE+ 交换错误

编辑器已被禁用,因为 license key 无法通过云服务器验证 [类型: ${errorType}${statusMsg}]

编辑器已被禁用,因为 license key 无法通过云服务器验证。

  • 确认您的 ONLINE+ license key 有效

  • 确保您的部署为自托管(ONLINE+ key 不能与云或混合部署一起使用)

  • 检查您的服务器是否具有对云验证端点的网络访问权限

  • 如果问题仍然存在,请访问 支持门户

ONLINE+ 不安全上下文

编辑器已被禁用,因为 ONLINE+ license key 需要安全上下文(HTTPS 或 localhost) [类型: online-insecure-context]

编辑器已禁用,因为 ONLINE+ 许可证密钥需要安全上下文(HTTPS 或 localhost)。

  • 通过 HTTPS 提供应用程序服务

  • 在本地开发中使用 localhost

  • ONLINE+ 密钥不能在非 localhost 源上通过纯 HTTP 使用

ONLINE+ 配置冲突

编辑器已禁用,因为 ONLINE+ 许可证密钥只能为自托管部署进行配置。

编辑器已禁用,因为 ONLINE+ 许可证密钥只能为自托管部署进行配置。

  • 试用(ONLINE+)密钥仅对自托管部署有效

  • 如果从 Tiny Cloud 加载 TinyMCE 或使用混合部署,请切换到标准商业许可证密钥

  • 有关选择正确部署类型和密钥的指导,请参阅部署类型部分

ONLINE+ 服务未配置

检测到 ONLINE+ 许可证密钥,但没有 online_license_services_opt_in: true。云服务高级插件(例如 linkchecker、spellchecker)将不会自动配置。设置 online_license_services_opt_in: true 以使用捆绑的云服务,或手动配置每个插件的服务 URL。

  • 将 online_license_services_opt_in: true 添加到 TinyMCE init 配置中以启用自动云服务 URL 配置

  • 或者,手动配置每个云服务插件的服务 URL

详细错误描述

无效的许可证密钥(常规)

提供的许可证密钥未被识别为有效的 TinyMCE 许可证密钥。如果密钥格式不正确、已过期或与您的部署类型不匹配,可能会出现这种情况。对于自托管安装,请确保您使用的是有效的以 T8LK 为前缀的许可证密钥。访问 Tiny Cloud 账户 以验证您的许可证密钥。

加载错误(云端)

对于云部署,TinyMCE 商业许可证密钥管理器插件会从 Tiny Cloud CDN 自动加载。如果无法加载,编辑器将被禁用。在您的 Tiny Cloud 账户 中查看您的订阅详情以检查其状态。

加载错误(自托管)

对于自托管安装,商业许可证密钥需要 TinyMCE 商业许可证密钥管理器插件,否则编辑器将被禁用。如果无法加载,请参阅设置商业许可证密钥管理器部分以获取实施细节。

已过期

许可证密钥已达到其到期日,不再有效。在提供新的有效许可证密钥之前,编辑器将被禁用。对于基于时间的密钥,请参阅许可证密钥类型部分。要续订许可证,请访问 Tiny Cloud 定价 或联系您的客户经理。

宽限期

许可证密钥已达到其初始到期日,但仍在宽限期内。编辑器将继续运行,但会在宽限期结束时被禁用。有关宽限期的更多信息,请参阅许可证状态部分。在宽限期到期之前,请联系您的客户经理或访问 Tiny Cloud 账户 以续订许可证。

无效的编辑器版本

许可证密钥与当前版本的 TinyMCE 不兼容。当使用不同的补丁版本时,版本锁定密钥通常会出现这种情况。访问 TinyMCE 文档 以检查您的编辑器版本。查看许可证密钥类型部分以了解版本锁定密钥。如果您要从 TinyMCE 7 升级,请访问 Tiny Cloud 账户 获取新的许可证密钥,或参阅 [如果我从 TinyMCE 7 升级,如何获得 TinyMCE 8 许可证密钥?] 以获取指导。对于新许可证,请访问 Tiny Cloud 定价。

无许可证密钥

TinyMCE 配置中未提供许可证密钥。对于自托管安装,您必须提供有效的商业许可证密钥或明确选择加入 GPL 使用。有关实施细节,请参阅设置商业许可证密钥管理器部分;有关 GPL 许可信息,请参阅“GPL 许可证意味着什么?”部分。

无效插件

尝试使用高级插件但未提供有效的商业许可证密钥。当尝试使用 GPL 许可证或无效的商业许可证使用高级功能时会出现这种情况。在您的 Tiny Cloud 账户 中查看您的订阅详情以验证插件访问权限。有关许可证类型和插件访问权限的更多信息,请参阅许可证类型和部署选项部分。

在线 API 密钥错误(5xx - 回退)

在验证 API 密钥时发生了服务器端错误。编辑器将尝试使用提供的许可证密钥作为回退机制。这通常发生在混合部署中 - 有关正确配置,请参阅部署类型部分。如果问题仍然存在,请访问 支持门户 寻求帮助。

在线 API 密钥错误(4xx - 禁用)

由于密钥无效或订阅未激活,API 密钥验证失败。在提供有效的 API 密钥之前,编辑器将被禁用。对于 API 密钥问题,请访问 Tiny Cloud 账户 或参阅“许可证密钥和 API 密钥有什么区别?”部分以获取说明。

资源加载错误

TinyMCE Commercial License Key Manager 插件无法加载其他必需资源。这种情况通常发生在 js/commerciallicensekeymanager.js 文件缺失或未正确配置时。对于捆绑应用程序,请确保您使用的是会导入其他必需资源的 licensekeymanager/index.js 文件。对于自托管安装,请验证 plugins/licensekeymanager 文件夹中是否存在 js/commerciallicensekeymanager.js 文件。有关实现细节,请参阅“设置 Commercial License Key Manager”一节。

ONLINE+ 交换错误

此错误适用于试用版 (ONLINE+) 许可证密钥。有关设置信息,请参阅自托管试用版。

试用版许可证密钥无法被 Tiny Cloud 服务器验证。编辑器将被禁用,并且在配置问题解决之前不会恢复。与适用于标准 API 密钥验证的 Online API Key 错误 (4xx - Disable) 不同,此错误特定于试用版密钥交换。请确保您的部署是自托管的,因为试用版密钥在云端或混合部署中不受支持。如果密钥和部署类型正确,请检查您的服务器能否访问 Tiny Cloud 验证端点。如果问题持续存在,请访问支持门户。

ONLINE+ 不安全的上下文

此错误适用于试用版 (ONLINE+) 许可证密钥。有关设置信息,请参阅自托管试用版。

试用版许可证密钥需要安全的上下文才能正确验证,因为验证涉及对 Tiny Cloud 的网络调用。安全的上下文是指通过 HTTPS 提供服务或通过 localhost 访问的页面。在非 localhost 域上通过普通 HTTP 提供服务的页面将导致编辑器被禁用。通过 HTTPS 提供应用程序服务,或者在本地开发中使用 localhost。

ONLINE+ 配置冲突

此错误适用于试用版 (ONLINE+) 许可证密钥。有关设置信息,请参阅自托管试用版。

在云端或混合部署配置中检测到了试用版许可证密钥。试用版密钥仅对自托管部署有效。如果您正从 Tiny Cloud 加载 TinyMCE 或使用混合部署,请切换到标准商业许可证密钥。如果您打算使用自托管部署,请确保 TinyMCE 未从 Tiny Cloud 加载,因为这样做会激活与试用版密钥不兼容的云验证流程。有关选择正确的部署类型和密钥的指导,请参阅“部署类型”一节。

ONLINE+ 服务未配置

此提示适用于试用版 (ONLINE+) 许可证密钥。有关设置信息,请参阅自托管试用版。

试用版许可证密钥已被接受,但在 init 配置中未设置 online_license_services_opt_in: true。如果没有此选项,TinyMCE 将不会自动配置诸如 linkchecker 和 spellchecker 等高级插件的云服务端点。这些插件将加载,但会显示它们自己的关于缺少服务 URL 的错误。要启用自动配置,请将 online_license_services_opt_in: true 添加到您的 tinymce.init 配置中。或者,手动配置每个插件的服务 URL。

如需更多帮助,请访问我们的支持门户或联系您的Tiny Cloud 帐户经理。