本文由AI翻译

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.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 模块。
  • 模块安装完成后,点击 启用 按钮。
    ONLYOFFICE_install 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 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 ONLYOFFICE_create1
  4. 在打开的窗口中,选择文件类型:文档、电子表格或演示文稿。
    ONLYOFFICE_create2 ONLYOFFICE_create2
  5. 指定文件名称。
  6. 选择 在下一步中打开新文档 复选框以开始处理文档。
  7. 点击 保存 按钮。
    ONLYOFFICE_create3 ONLYOFFICE_create3

要查看/编辑文档:

  1. 打开 文件 选项卡。
  2. 点击所需文件。
  3. 在打开的窗口中,点击 编辑文档 按钮。
    ONLYOFFICE_editview ONLYOFFICE_editview
要了解有关最常见问题及其解决方法的更多信息,请访问我们的 故障排除指南。
文章: 标签:
浏览所有标签