Plone ONLYOFFICE 集成插件

插件 使用户能够从 Plone 中用 ONLYOFFICE 文档编辑office文档。

  • 目前,可以编辑以下文档格式:DOCX、XLSX、PPTX、DOCXF、OFORM。
  • 以下格式仅供查看:PDF、ODT、ODS、ODP、DOC、XLS、PPT。
  • 该插件将在 Office 文档的文档库中创建一个新的菜单选项 ONLYOFFICE 编辑。 这允许多个用户实时协作并将这些更改保存到Plone中。

您将需要一个 ONLYOFFICE 文档(文档服务器)实例,该实例可从 Plone 和任何客户终端解析和连接。 如果不是这种情况,请使用官方 ONLYOFFICE 文档文档页面。 ONLYOFFICE 文档还必须能够直接发布到 Plone。

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

要开始使用带有 Plone 的 ONLYOFFICE 文档,必须执行以下步骤:

  1. 通过将插件添加到您的 buildout.cfg来安装插件: [buildout] ... eggs = onlyoffice.plone
  2. Run bin/buildout.
  3. 转到 站点设置 -> 附加组件,然后按 安装 按钮启用插件。

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

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

这两个选项都会自动从 PyPi安装插件。

请注意,如果您安装了以前的插件版本(以前名称为 onlyoffice.connector 的早期插件版本),请在安装新版本之前将其删除。

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

从 7.2 版开始,默认情况下启用 JWT,并自动生成密钥以限制对 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 实例,你可以通过将项目文件添加到 scr 目录来安装插件:

  1. scr 目录中创建 onlyoffice.plone 目录。
  2. 将 Git 收到的项目文件放入 onlyoffice.plone 目录。
  3. 编辑 buildout.cfg 文件: [buildout] ... eggs = onlyoffice.plone develop = src/onlyoffice.plone
  4. 重新运行 buildout 以使更改生效: .bin/buildout
  5. 然后启动或重新启动您的 Plone 实例。
Plone 基于 Zope 服务器,不会以 root 用户身份运行。 如果您打算以 root 用户身份运行它,则必须提供 有效用户指令。为此,请将 effective-user <username> 行添加到 ./parts/instance/etc/zope.conf
  1. 如果您在 buildout.cfg 文件中指定了具体的插件版本(所谓的pinning,及推荐的做法),例如 onlyoffice.plone = 1.0.0,请更新此引用以指向较新的版本。 如果未指定插件版本,则将自动加载最新版本: [versions] ... onlyoffice.plone = 1.0.1
  2. 运行 bin/buildout。等到下载并安装新版本。
  3. 重新启动克隆。在您执行下一步之前,您的网站可能看起来很奇怪,甚至无法访问。
  4. 导航到 附加组件 屏幕(将 /prefs_install_products_form 添加到您的站点 URL)并在 升级 列表中选择 onlyoffice.plone 并单击 升级 onlyoffice.plone

ONLYOFFICE 集成遵循此处的 API文档。

  1. 用户导航到 Plone 中的文档并选择 ONLYOFFICE 编辑 操作。
  2. Plone 为文档服务器准备一个 JSON 对象,具有以下属性:

    • url: ONLYOFFICE 文档用于下载文档的 URL;
    • callbackUrl: ONLYOFFICE 文档通知文档编辑状态的 URL;
    • key: UUID+Modified Timestamp 指示ONLYOFFICE 文档是否重新下载文档;
    • Title:: 文档标题(名称)。
  3. Plone 从 .pt 模板构造一个页面,填充所有这些值,以便客户端浏览器可以加载编辑器。
  4. 客户端浏览器从 ONLYOFFICE 文档向 JavaScript 库发出请求,并向 ONLYOFFICE 文档发送包含上述属性的 DocEditor 配置。
  5. 然后 ONLYOFFICE 文档从 Plone 下载文档,用户开始编辑。
  6. ONLYOFFICE 文档向 回调 URL 发送 POST 请求,通知 Plone 用户正在编辑文档。
  7. 当所有用户和客户端浏览器都完成编辑后,他们会关闭编辑窗口。
  8. 10 秒 不活动后,ONLYOFFICE 文档向 回调 URL 发送一个 POST,让 Plone 知道客户端已完成对文档的编辑并关闭它。
  9. Plone 下载文档的新版本,替换旧版本。

此处下载 Plone ONLYOFFICE 集成插件。