Plone ONLYOFFICE 集成插件
该 插件 使用户能够从 Plone 中用 ONLYOFFICE 文档编辑office文档。
特性
- 目前,可以编辑以下文档格式:DOCX、XLSX、PPTX、DOCXF、OFORM。
- 以下格式仅供查看:PDF、ODT、ODS、ODP、DOC、XLS、PPT。
- 该插件将在 Office 文档的文档库中创建一个新的菜单选项 ONLYOFFICE 编辑。
这允许多个用户实时协作并将这些更改保存到Plone中。
安装 ONLYOFFICE 文档
您将需要一个 ONLYOFFICE 文档(文档服务器)实例,该实例可从 Plone 和任何客户终端解析和连接。
如果不是这种情况,请使用官方 ONLYOFFICE 文档文档页面。
ONLYOFFICE 文档还必须能够直接发布到 Plone。
启动 ONLYOFFICE 文档实例的最简单方法是使用 Docker。
安装 Plone ONLYOFFICE 集成插件
要开始使用带有 Plone 的 ONLYOFFICE 文档,必须执行以下步骤:
- 通过将插件添加到您的 buildout.cfg来安装插件:
[buildout]
...
eggs =
onlyoffice.plone
- Run bin/buildout.
- 转到 站点设置 -> 附加组件,然后按 安装 按钮启用插件。
你也可以通过 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 插件
- 克隆存储库并更改目录:
git clone --branch deploy git@github.com:ONLYOFFICE/onlyoffice-plone.git
cd onlyoffice-plone
- 在包中创建一个 virtualenv。
- 使用 pip 安装所需文件。
- 运行 buildout:
virtualenv .
./bin/pip install -r requirements.txt
./bin/buildout
- 在前台启动 Plone:
./bin/instance fg
如果你有一个工作的 Plone 实例,你可以通过将项目文件添加到 scr 目录来安装插件:
- 在 scr 目录中创建 onlyoffice.plone 目录。
- 将 Git 收到的项目文件放入 onlyoffice.plone 目录。
- 编辑 buildout.cfg 文件:
[buildout]
...
eggs =
onlyoffice.plone
develop =
src/onlyoffice.plone
- 重新运行 buildout 以使更改生效:
.bin/buildout
- 然后启动或重新启动您的 Plone 实例。
Plone 基于 Zope 服务器,不会以 root 用户身份运行。
如果您打算以 root 用户身份运行它,则必须提供 有效用户指令。为此,请将 effective-user <username> 行添加到 ./parts/instance/etc/zope.conf。
升级 Plone ONLYOFFICE 集成插件
- 如果您在 buildout.cfg 文件中指定了具体的插件版本(所谓的pinning,及推荐的做法),例如 onlyoffice.plone = 1.0.0,请更新此引用以指向较新的版本。
如果未指定插件版本,则将自动加载最新版本:
[versions]
...
onlyoffice.plone = 1.0.1
- 运行 bin/buildout。等到下载并安装新版本。
- 重新启动克隆。在您执行下一步之前,您的网站可能看起来很奇怪,甚至无法访问。
- 导航到 附加组件 屏幕(将 /prefs_install_products_form 添加到您的站点 URL)并在 升级 列表中选择 onlyoffice.plone 并单击 升级 onlyoffice.plone。
它是如何运作的
ONLYOFFICE 集成遵循此处的 API文档。
- 用户导航到 Plone 中的文档并选择 ONLYOFFICE 编辑 操作。
-
Plone 为文档服务器准备一个 JSON 对象,具有以下属性:
- url: ONLYOFFICE 文档用于下载文档的 URL;
- callbackUrl: ONLYOFFICE 文档通知文档编辑状态的 URL;
- key: UUID+Modified Timestamp 指示ONLYOFFICE 文档是否重新下载文档;
- Title:: 文档标题(名称)。
- Plone 从 .pt 模板构造一个页面,填充所有这些值,以便客户端浏览器可以加载编辑器。
- 客户端浏览器从 ONLYOFFICE 文档向 JavaScript 库发出请求,并向 ONLYOFFICE 文档发送包含上述属性的 DocEditor 配置。
- 然后 ONLYOFFICE 文档从 Plone 下载文档,用户开始编辑。
- ONLYOFFICE 文档向 回调 URL 发送 POST 请求,通知 Plone 用户正在编辑文档。
- 当所有用户和客户端浏览器都完成编辑后,他们会关闭编辑窗口。
- 在 10 秒 不活动后,ONLYOFFICE 文档向 回调 URL 发送一个 POST,让 Plone 知道客户端已完成对文档的编辑并关闭它。
- Plone 下载文档的新版本,替换旧版本。
在 此处下载 Plone ONLYOFFICE 集成插件。