跳到主要内容

HumHub 集成

这个插件允许用户借助ONLYOFFICE文档在HumHub中编辑办公文档。

该插件可在官方的HumHub应用市场获取。

功能特性

  • 目前,使用该插件可打开并编辑的文档格式有:DOCX、XLSX、PPTX、DOCXF、OFORM。
  • 仅支持查看的文档格式如下:ODT、ODS、ODP、DOC、XLS、PPT、TXT、PDF。
  • 可转换为OOXML格式的文档如下:ODT、ODS、ODP、DOC、XLS、PPT、TXT、CSV。
  • 该插件会为Office文档创建一个新的编辑/查看菜单项。这使得多个用户能够实时协作,并将更改保存回HumHub。

安装 ONLYOFFICE文档

您需要一个ONLYOFFICE文档(文档服务器)实例,该实例必须能从HumHub和任何终端客户端解析并连接。如果无法满足此条件,请使用官方的ONLYOFFICE文档安装指南。ONLYOFFICE文档还必须能够直接向HumHub发送POST请求。

使用Docker是启动ONLYOFFICE文档实例的最简单方法。

安装HumHub ONLYOFFICE连接器

您可以从HumHub应用市场或者直接将代码仓库克隆到moduleAutoloadPaths参数指定的其中一个文件夹内。更多信息请查看HumHub文档

配置HumHub ONLYOFFICE连接器

要配置该插件,您必须进入管理->模块。找到ONLYOFFICE插件并点击配置

从7.2版本开始,JWT默认启用,并且会自动生成密钥,用于限制对ONLYOFFICE文档的访问,保障安全性和数据完整性。在HumHub配置页面指定您自己的JWT密钥。在ONLYOFFICE文档的配置文件中,指定相同的密钥并启用验证。

工作原理

ONLYOFFICE集成遵循此处记录的API规范:这里

  1. 创建新文件时,用户会在创建文档菜单中看到文档****电子表格演示文稿选项。

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

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

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

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

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

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

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

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

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

  11. 10秒无操作后,ONLYOFFICE文档向callbackUrl发送POST请求,告知HumHub客户端已完成文档编辑并关闭了窗口。

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

在此处下载HumHub ONLYOFFICE连接器:这里