跳到主要内容

Plone 集成

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

功能特性

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

安装ONLYOFFICE文档

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

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

安装Plone ONLYOFFICE集成插件

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

  1. 将插件添加到buildout.cfg中来安装插件:

    [buildout]
    eggs = onlyoffice.plone
  2. 运行bin/buildout

  3. 前往站点设置->添加组件然后点击安装按钮来启用插件

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

docker run --rm -p 8080:8080 -e ADDONS="onlyoffice.plone" plone

这两种方式都会自动从PyPi安装插件。

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

配置Plone ONLYOFFICE集成插件

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

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

开发Plone ONLYOFFICE插件

  1. 克隆存储库并切换目录:

    git clone --branch deploy git@github.com:ONLYOFFICE/onlyoffice-plone.git
    cd onlyoffice-plone
  2. 在包中创建一个virtualenv环境。

  3. 使用pip安装依赖项。

  4. 运行buildout

    virtualenv .
    ./bin/pip install -r requirements.txt
    ./bin/buildout
  5. 前台启动Plone:

    ./bin/instance fg

如果您已经有一个可用的Plone实例,可以通过将项目文件添加到src目录来安装插件:

  1. scr目录中创建onlyoffice.plone目录。

  2. 将通过Git获取的项目文件放入onlyoffice.plone目录。

  3. 编辑buildout.cfg文件:

    [buildout]
    eggs = onlyoffice.plone
    develop = src/onlyoffice.plone

4.重新运行buildout使更改生效:

.bin/buildout
  1. 然后启动或重启您的Plone实例。

Plone基于Zope服务器不能以root用户身份运行。如果您打算以root用户身份运行,必须提供有效的用户指令。为此,需要在line to ./parts/instance/etc/zope.conf中添加effective-user <用户名> 这一行。

升级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集成插件:此处:此处