HumHub
关于 ONLYOFFICE 和 HumHub 的集成
ONLYOFFICE 提供了一个官方连接器,可以将 ONLYOFFICE 文档 与 HumHub 集成,并在社交网络中编辑办公文档。您可以从官方 HumHub 市场或 ONLYOFFICE 的 GitHub 页面下载 ONLYOFFICE 连接器。
主要功能
- 创建、编辑和查看文本文档、电子表格和演示文稿。
- 实时协同编辑文档:两种协同编辑模式(快速和严格)、修订模式、评论和内置聊天。
- JWT 支持,以保护您的流量,确保只有具有适当权限的用户才能访问您的文档。
支持的格式
- 用于打开和编辑:DOCX、XLSX、PPTX、PDF 表单
- 转换为 Office Open XML:ODT、ODS、ODP、DOC、XLS、PPT、TXT、CSV
- 仅供查看:ODT、ODS、ODP、DOC、XLS、PPT、TXT、PDF
版本 3.3.0 中的新功能
新增
- 支持 .vsdx、.vssx、.vstx、.vsdm、.vssm、.vstm 图表文档类型
- 支持查看 .odg、.md
- 支持编辑 .xlsb
- 支持 hwp、hwpx、pages、numbers、key 格式
- 为请求 Docs API 和 Conversion API 添加 shardKey 参数
- 添加缺失的翻译
- 为用户提及添加分页,包括权限检查
更改
- 请求 Conversion API 的 URL
- 修复了在权限不足的情况下在 cfiles 文件夹中创建文件的问题
完整的更改日志可以在 这里查看。
将 ONLYOFFICE 文档连接到 HumHub
要求
-
ONLYOFFICE 文档服务器 v6.1.0(服务器或云版本)或更高版本
您需要一个 ONLYOFFICE 文档 实例,该实例可以从 HumHub 和任何终端客户端解析和连接。它必须能够直接向 HumHub 发送 POST 请求。
请参考官方 文档页面,了解有关安装 ONLYOFFICE 文档的更多信息。 - HumHub 1.8 及更高版本
- ONLYOFFICE 连接器 2.4.0 用于 HumHub
安装 ONLYOFFICE 连接器到 HumHub
您可以从 官方 Humhub 市场下载最新的连接器版本并进行配置。请按照以下步骤进行操作:
- 以管理员身份登录到您的 HumHub 实例。
- 点击个人资料下拉框并选择 管理 选项。用户管理 页面将加载。
- 点击页面左侧的 模块 部分。
- 进入 在线浏览 部分,通过搜索找到 ONLYOFFICE 连接器。结果将包括与您的 HumHub 实例兼容的版本。
- 点击 安装 按钮下载并安装 ONLYOFFICE 模块。
-
模块安装完成后,点击 启用 按钮。


或者,只需在 moduleAutoloadPaths 参数指定的文件夹中克隆 仓库。有关更多信息,请参阅 HumHub 文档。
配置 ONLYOFFICE 连接器到 HumHub
- 进入 管理 -> 模块 -> 已安装。
- 找到 ONLYOFFICE 连接器到 HumHub 模块。
- 点击 配置 按钮。
-
指定以下参数:
- 主机名 - 指定安装 文档编辑服务 的 URL 地址(ONLYOFFICE 文档 默认安装在端口 80 上)。
重要ONLYOFFICE 文档的地址必须从 HumHub 可访问,同时 HumHub 的地址也必须从 ONLYOFFICE 文档 可访问。
- JWT 密钥 - 指定用于签署数据的密钥。
从 ONLYOFFICE 文档 v7.2 开始,JWT 默认启用,并自动生成密钥。您需要在 HumHub 端启用它:在 ONLYOFFICE 文档配置文件 中找到您的密钥,然后在连接器设置中指定相同的密钥。有关详细信息,请参阅本文的 为 ONLYOFFICE 和 HumHub 集成启用 JWT 部分。
- 主机名 - 指定安装 文档编辑服务 的 URL 地址(ONLYOFFICE 文档 默认安装在端口 80 上)。
- ONLYOFFICE 文档的内部请求地址 - 指定用于从 HumHub 访问 文档编辑服务 的地址。
- ONLYOFFICE 文档的内部请求服务器地址 - 指定用于从 文档编辑服务 访问 HumHub 的地址。


配置集成应用程序后,点击 提交 按钮以保存更改。
工作原理
ONLYOFFICE 集成遵循 此处记录的 API。
- 创建新文件时,用户将在 创建文档 菜单中获得 文档、电子表格 或 演示文稿 选项。
- 浏览器调用 /controllers/CreateController.php 控制器中的 index 方法。
- 或者,当打开现有文件时,用户将根据扩展名获得 查看文档 或 编辑文档 选项。
- 弹出窗口打开,并调用 /controllers/OpenController.php 控制器的 index 方法。
-
应用程序准备一个具有以下属性的 JSON 对象:
- url - ONLYOFFICE 文档 用于下载文档的 URL;
- callbackUrl - ONLYOFFICE 文档 用于通知文档编辑状态的 URL;
- key - 随机 MD5 哈希,用于指示 ONLYOFFICE 文档 是否再次下载文档;
- title - 文档标题(名称);
- id - 用户标识;
- name - 用户名。
- HumHub 获取此对象并从 views/open/index.php 模板构建页面,填充所有这些值,以便客户端浏览器可以加载编辑器。
- 客户端浏览器向 ONLYOFFICE 文档 的 JavaScript 库发出请求,并向 ONLYOFFICE 文档 发送具有上述属性的 DocEditor 配置。
- 然后 ONLYOFFICE 文档 从 HumHub 下载文档,用户开始编辑。
- ONLYOFFICE 文档 向 callbackUrl 发送 POST 请求以通知 HumHub 用户正在编辑文档。
- 当所有用户和客户端浏览器完成编辑后,他们关闭编辑窗口。
- 在10 秒不活动后,ONLYOFFICE 文档 向 callbackUrl 发送 POST 请求,通知 HumHub 客户端已完成编辑文档并关闭。
- HumHub 下载新版本的文档,替换旧版本。
为 ONLYOFFICE 和 HumHub 集成启用 JWT
为了保护文档免受未经授权的访问,ONLYOFFICE 编辑器使用 JSON Web Token (JWT)。在初始化文档编辑器和内部 ONLYOFFICE 文档服务 之间交换命令时,令牌 会被添加到配置中。密钥 用于签署 JSON Web Token 并在请求 ONLYOFFICE 文档 时验证令牌。
从 ONLYOFFICE 文档 v7.2 开始,JWT 默认启用,并自动生成密钥。您需要在 ONLYOFFICE 文档配置文件 中找到您的密钥,然后在连接器设置中指定相同的密钥。
步骤 1:在 ONLYOFFICE 文档配置文件 中找到您的密钥
-
使用任何可用的文本编辑器打开 local.json 文件。
- 对于 Linux -
/etc/onlyoffice/documentserver/local.json - 对于 Windows -
%ProgramFiles%\ONLYOFFICE\DocumentServer\config\local.json -
对于 Docker – 使用
docker exec -it <containerID> bash命令进入 ONLYOFFICE 文档容器并打开/etc/onlyoffice/documentserver/local.json或者,您可以使用以下命令在不打开 local.json 的情况下找到默认密钥:
sudo docker exec <containerID> /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json 'services.CoAuthoring.secret.session.string'
local.json 文件应如下所示:
{"services": {"CoAuthoring": {"token": {"enable": {"request": {"inbox": true,"outbox": true},"browser": true}},"secret": {"inbox": {"string": "yoursecret"},"outbox": {"string": "yoursecret"},"session": {"string": "yoursecret"}}}}} - 对于 Linux -
-
在三个部分中指定了
true值。这意味着令牌验证已启用。services.CoAuthoring.token.enable.browserservices.CoAuthoring.token.enable.request.inboxservices.CoAuthoring.token.enable.request.outbox
-
自动生成的密钥在三个部分中指定。您可以用自己的密钥替换默认密钥。密钥在三个部分中必须相同。
services.CoAuthoring.secret.inbox.stringservices.CoAuthoring.secret.outbox.stringservices.CoAuthoring.secret.session.string
-
如果您进行了更改,请保存并重启服务以使配置更改生效。
supervisorctl restart all
步骤 2:在连接器设置中指定相同的密钥
在连接器设置中,在 密钥 字段中指定相同的密钥并保存设置。
开始在 HumHub 中使用 ONLYOFFICE 文档
要创建文档:
- 打开 文件 选项卡。
- 点击 添加文件 按钮。
-
点击 创建文档 选项。


-
在打开的窗口中,选择文件类型:文档、电子表格或演示文稿。


- 指定文件名称。
- 选择 在下一步中打开新文档 复选框以开始处理文档。
-
点击 保存 按钮。


要查看/编辑文档:
- 打开 文件 选项卡。
- 点击所需文件。
-
在打开的窗口中,点击 编辑文档 按钮。

