跳到主要内容

Plone 集成

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

功能特性

  • 目前,可编辑的文档格式有:DOCX、XLSX、PPTX。
  • 仅支持查看的文档格式如下:DJVU、DOC、DOCM、DOT、DOTM、DOTX、EPUB、FB2、FODT、HTML、MHT、ODT、OTT、OXPS、PDF、RTF、TXT、XPS、XML、CSV、FODS、ODS、OTS、XLS、XLSB、XLSM、XLT、XLTM、XLTX、FODP、ODP、OTP、POT、POTM、POTX、PPS、PPSM、PPSX、PPT、PPTM。
  • 支持转换(另存为)的文档格式如下:DOC、DOCM、DOCX、DOT、DOTM、DOTX、EPUB、FB2、FODT、HTML、MHT、ODT、OTT、OXPS、PDF、RTF、XPS、XML、FODS、ODS、OTS、XLS、XLSB、XLSM、XLSX、XLT、XLTM、XLTX、FODP、ODP、OTP、POT、POTM、POTX、PPS、PPSM、PPSX、PPT、PPTM、PPTX。
  • 支持转换为Office Open XML格式的文档格式如下:DOC、DOCM、DOT、DOTM、DOTX、EPUB、FB2、FODT、HTML、MHT、ODT、OTT、OXPS、PDF、RTF、XPS、XML、FODS、ODS、OTS、XLS、XLSB、XLSM、XLT、XLTM、XLTX、FODP、ODP、OTP、POT、POTM、POTX、PPS、PPSM、PPSX、PPT、PPTM。
  • 该插件会在文档库中为Office文档创建一个新的ONLYOFFICE编辑菜单项。这使得多个用户能够实时协作,并将更改保存回Plone。

安装ONLYOFFICE文档

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

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

安装Plone ONLYOFFICE集成插件

要在Plone中使用ONLYOFFICE文档,必须执行以下步骤:

  1. 安装说明可在安装Plone附加组件中找到。

  2. 前往站点设置 -> 附加组件,然后点击安装按钮来启用插件。

您也可以通过Docker安装插件:

docker run -p 8080:8080 -e ADDONS="onlyoffice.plone" plone/plone-backend:6.0 start
备注

请注意,如果您之前安装过旧版本的插件(早期使用onlyoffice.connector这个旧名称的插件版本),请在安装新版本之前将其卸载。

配置Plone ONLYOFFICE集成插件

要配置插件,请前往站点设置。向下滚动到附加组件配置部分,然后点击ONLYOFFICE配置按钮。

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

开发Plone ONLYOFFICE插件

运行以下命令从本地存储库安装附加组件:

docker run -p 8080:8080 -e DEVELOP="/app/src/onlyoffice.plone" -v /path/to/onlyoffice.plone:/app/src/onlyoffice.plone plone/plone-backend:6.0 start
备注

更多信息,请参阅开发包变量

升级Plone ONLYOFFICE集成插件

  1. 如果您在buildout.cfg文件中指定了具体的插件版本(所谓的锁定版本,这是一种推荐做法),例如onlyoffice.plone = 1.0.0,请更新该引用以指向较新版本。如果未指定插件版本,那么将自动加载最新版本:

    [versions]
    onlyoffice.plone = 1.0.1
  2. 运行bin/buildout。等待新版本下载并安装完成。

  3. 重启Plone。在执行下一步操作之前,您的站点可能会显示异常,甚至无法访问。

  4. 导航到附加组件界面(在站点URL后添加 /prefs_install_products_form),在升级列表中选择onlyoffice.plone,然后点击升级onlyoffice.plone

工作原理

ONLYOFFICE集成遵循此处记录的API规范。

  1. 用户在Plone中找到文档,并选择ONLYOFFICE编辑操作。

  2. Plone为ONLYOFFICE文档准备一个包含以下属性的JSON对象:

    • url:ONLYOFFICE文档用于下载文档的URL;
    • callbackUrl:ONLYOFFICE文档用于通知文档编辑状态的URL;
    • key:由UUID+Modified Timestamp组成,用于指示ONLYOFFICE文档是否需要重新下载文档;
    • title:文档标题(名称)。
  3. Plone从 .pt 模板构建一个页面,填充所有这些值,以便客户端浏览器可以加载编辑器。

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

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

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

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

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

  9. Plone下载文档的新版本,替换旧版本。

此处下载Plone ONLYOFFICE集成插件。