跳到主要内容

HumHub

关于 ONLYOFFICE 和 HumHub 的集成​

ONLYOFFICE 提供了一个官方连接器,可以将 ONLYOFFICE 文档 与 HumHub 集成,并在社交网络中编辑办公文档。您可以从官方 HumHub 市场或 ONLYOFFICE 的 GitHub 页面下载 ONLYOFFICE 连接器。

备注

要了解有关 ONLYOFFICE 连接器如何在 HumHub 中工作的更多信息,请访问我们的 API 文档。

主要功能​

  • 创建、编辑和查看文本文档、电子表格和演示文稿。
  • 实时协同编辑文档:两种协同编辑模式(快速和严格)、修订模式、评论和内置聊天。
  • 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.2.0 中的新功能​

新增

  • 默认空模板
  • 添加了 ar-SA、eu-ES、fi-FI、he-IL、nb-NO、sl-SL 和 sr-Cyrl-RS 空文件模板
  • JWT 过期配置

更改

  • 创建和编辑 PDF 表单
  • 更新了支持的格式列表
  • 更改了演示服务器地址

完整的更改日志可以在 这里查看。

将 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 模块。

  • 模块安装完成后,点击 启用 按钮。

    ONLYOFFICE_install

或者,只需在 moduleAutoloadPaths 参数指定的文件夹中克隆 仓库。有关更多信息,请参阅 HumHub 文档。

配置 ONLYOFFICE 连接器到 HumHub​

  1. 进入 管理 -> 模块 -> 已安装。

  2. 找到 ONLYOFFICE 连接器到 HumHub 模块。

  3. 点击 配置 按钮。

  4. 指定以下参数:

    • 主机名 - 指定安装 文档编辑服务 的 URL 地址(ONLYOFFICE 文档 默认安装在端口 80 上)。

      重要

      ONLYOFFICE 文档的地址必须从 HumHub 可访问,同时 HumHub 的地址也必须从 ONLYOFFICE 文档 可访问。

    • JWT 密钥 - 指定用于签署数据的密钥。

      备注

      从 ONLYOFFICE 文档 v7.2 开始,JWT 默认启用,并自动生成密钥。您需要在 HumHub 端启用它:在 ONLYOFFICE 文档配置文件 中找到您的密钥,然后在连接器设置中指定相同的密钥。有关详细信息,请参阅本文的 为 ONLYOFFICE 和 HumHub 集成启用 JWT 部分。

  5. ONLYOFFICE 文档的内部请求地址 - 指定用于从 HumHub 访问 文档编辑服务 的地址。

  6. ONLYOFFICE 文档的内部请求服务器地址 - 指定用于从 文档编辑服务 访问 HumHub 的地址。

Configure_menu

配置集成应用程序后,点击 提交 按钮以保存更改。

工作原理​

ONLYOFFICE 集成遵循 此处记录的 API。

  1. 创建新文件时,用户将在 创建文档 菜单中获得 文档、电子表格 或 演示文稿 选项。

  2. 浏览器调用 /controllers/CreateController.php 控制器中的 index 方法。

  3. 或者,当打开现有文件时,用户将根据扩展名获得 查看文档 或 编辑文档 选项。

  4. 弹出窗口打开,并调用 /controllers/OpenController.php 控制器的 index 方法。

  5. 应用程序准备一个具有以下属性的 JSON 对象:

    • url - ONLYOFFICE 文档 用于下载文档的 URL;
    • callbackUrl - ONLYOFFICE 文档 用于通知文档编辑状态的 URL;
    • key - 随机 MD5 哈希,用于指示 ONLYOFFICE 文档 是否再次下载文档;
    • title - 文档标题(名称);
    • id - 用户标识;
    • name - 用户名。
  6. HumHub 获取此对象并从 views/open/index.php 模板构建页面,填充所有这些值,以便客户端浏览器可以加载编辑器。

  7. 客户端浏览器向 ONLYOFFICE 文档 的 JavaScript 库发出请求,并向 ONLYOFFICE 文档 发送具有上述属性的 DocEditor 配置。

  8. 然后 ONLYOFFICE 文档 从 HumHub 下载文档,用户开始编辑。

  9. ONLYOFFICE 文档 向 callbackUrl 发送 POST 请求以通知 HumHub 用户正在编辑文档。

  10. 当所有用户和客户端浏览器完成编辑后,他们关闭编辑窗口。

  11. 在 10 秒不活动后,ONLYOFFICE 文档 向 callbackUrl 发送 POST 请求,通知 HumHub 客户端已完成编辑文档并关闭。

  12. HumHub 下载新版本的文档,替换旧版本。

为 ONLYOFFICE 和 HumHub 集成启用 JWT​

为了保护文档免受未经授权的访问,ONLYOFFICE 编辑器使用 JSON Web Token (JWT)。在初始化文档编辑器和内部 ONLYOFFICE 文档服务 之间交换命令时,令牌 会被添加到配置中。密钥 用于签署 JSON Web Token 并在请求 ONLYOFFICE 文档 时验证令牌。

从 ONLYOFFICE 文档 v7.2 开始,JWT 默认启用,并自动生成密钥。您需要在 ONLYOFFICE 文档配置文件 中找到您的密钥,然后在连接器设置中指定相同的密钥。

步骤 1:在 ONLYOFFICE 文档配置文件 中找到您的密钥

  1. 使用任何可用的文本编辑器打开 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"
    }
    }
    }
    }
    }
  2. 在三个部分中指定了 true 值。这意味着令牌验证已启用。

    • services.CoAuthoring.token.enable.browser
    • services.CoAuthoring.token.enable.request.inbox
    • services.CoAuthoring.token.enable.request.outbox
  3. 自动生成的密钥在三个部分中指定。您可以用自己的密钥替换默认密钥。密钥在三个部分中必须相同。

    • services.CoAuthoring.secret.inbox.string
    • services.CoAuthoring.secret.outbox.string
    • services.CoAuthoring.secret.session.string
  4. 如果您进行了更改,请保存并重启服务以使配置更改生效。

    supervisorctl restart all

步骤 2:在连接器设置中指定相同的密钥

在连接器设置中,在 密钥 字段中指定相同的密钥并保存设置。

开始在 HumHub 中使用 ONLYOFFICE 文档​

要 创建 文档:

  1. 打开 文件 选项卡。

  2. 点击 添加文件 按钮。

  3. 点击 创建文档 选项。

    ONLYOFFICE_create1

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

    ONLYOFFICE_create2

  5. 指定文件名称。

  6. 选择 在下一步中打开新文档 复选框以开始处理文档。

  7. 点击 保存 按钮。

    ONLYOFFICE_create3

要 查看/编辑 文档:

  1. 打开 文件 选项卡。

  2. 点击所需文件。

  3. 在打开的窗口中,点击 编辑文档 按钮。

    ONLYOFFICE_editview