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 文档(文档服务器)实例,该实例可从 HumHub 和任何终端客户端解析和连接。 如果不是这种情况,请使用官方 ONLYOFFICE 文档文档页面。ONLYOFFICE 文档还必须能够直接发布到 HumHub。

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

HumHub Marketplace 安装它,或者简单地将存储库克隆到 moduleAutoloadPaths 参数指定的文件夹之一中。 请参阅 HumHub 文档 了解更多信息。

为了配置插件,您必须导航到 Administation -> Modules。 找到 ONLYOFFICE 插件并点击 配置

从 7.2 版开始,默认情况下启用 JWT,并自动生成密钥以限制对 ONLYOFFICE 文档的访问,这也是出于安全原因和数据完整性考虑。 在 HumHub 配置页面上指定您自己的 JWT Secret。 在 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 库发出请求,并向 ONLYOFFICE 文档发送具有上述属性的 DocEditor 配置。
  8. 然后 ONLYOFFICE 文档从 HumHub 下载文档,用户开始编辑。
  9. ONLYOFFICE 文档向 callbackUrl 发送 POST 请求,通知 HumHub 用户正在编辑文档。
  10. 当所有用户和客户端浏览器都完成编辑后,他们会关闭编辑窗口。
  11. 10 秒 不活动后,ONLYOFFICE 文档向 callbackUrl 发送一个 POST,让 HumHub 知道客户端已完成对文档的编辑并关闭它。
  12. HumHub 下载文档的新版本,替换旧版本。

此处下载 HumHub ONLYOFFICE 连接器。