HumHub ONLYOFFICE 连接器
该 插件 使用户可以从 HumHub 中使用 ONLYOFFICE 文档编辑办公文档。
该插件可以在官方 HumHub Marketplace中获得。
特性
- 目前可以使用此插件打开和编辑以下文档格式: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。
启动 ONLYOFFICE 文档实例的最简单方法是使用 Docker。
安装 HumHub ONLYOFFICE 连接器
从 HumHub Marketplace 安装它,或者简单地将存储库克隆到 moduleAutoloadPaths 参数指定的文件夹之一中。
请参阅 HumHub 文档 了解更多信息。
配置 HumHub ONLYOFFICE 连接器
为了配置插件,您必须导航到 Administation -> Modules。
找到 ONLYOFFICE 插件并点击 配置。
从 7.2 版开始,默认情况下启用 JWT,并自动生成密钥以限制对 ONLYOFFICE 文档的访问,这也是出于安全原因和数据完整性考虑。
在 HumHub 配置页面上指定您自己的 JWT Secret。 在 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 库发出请求,并向 ONLYOFFICE 文档发送具有上述属性的 DocEditor 配置。
- 然后 ONLYOFFICE 文档从 HumHub 下载文档,用户开始编辑。
- ONLYOFFICE 文档向 callbackUrl 发送 POST 请求,通知 HumHub 用户正在编辑文档。
- 当所有用户和客户端浏览器都完成编辑后,他们会关闭编辑窗口。
- 在 10 秒 不活动后,ONLYOFFICE 文档向 callbackUrl 发送一个 POST,让 HumHub 知道客户端已完成对文档的编辑并关闭它。
- HumHub 下载文档的新版本,替换旧版本。
在 此处下载 HumHub ONLYOFFICE 连接器。