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规范:这里。
-
创建新文件时,用户会在创建文档菜单中看到文档****电子表格或演示文稿选项。
-
浏览器调用 /controllers/CreateController.php 控制器中的index方法。
-
或者,打开现有文件时,根据文件扩展名,用户会看到查看文档或编辑文档选项。
-
会打开一个弹出窗口,并调用 /controllers/OpenController.php控制器中的index方法。
-
应用程序准备一个包含以下属性的JSON对象:
- url:ONLYOFFICE文档用于下载文档的URL;
- callbackUrl:ONLYOFFICE文档用于通知文档编辑状态的URL;
- key:用于指示ONLYOFFICE文档是否需要重新下载文档的随机MD5哈希值;
- title:文档标题(名称);
- id:用户标识;
- name:用户名。
-
HumHub获取该对象,并从views/open/index.php模板构建一个页面,填充所有这些值,以便客户端浏览器可以加载编辑器。
-
客户端浏览器向ONLYOFFICE文档的JavaScript库发出请求,并将包含上述属性的DocEditor配置发送给ONLYOFFICE文档。
-
然后,ONLYOFFICE文档从HumHub下载文档,用户开始编辑。
-
ONLYOFFICE文档向callbackUrl发送POST请求,通知HumHub有用户正在编辑文档。
-
当所有用户和客户端浏览器完成编辑后,他们关闭编辑窗口。
-
在10秒无操作后,ONLYOFFICE文档向callbackUrl发送POST请求,告知HumHub客户端已完成文档编辑并关闭了窗口。
-
HumHub下载文档的新版本,替换旧版本。
在此处下载HumHub ONLYOFFICE连接器:这里。