Plone
关于 ONLYOFFICE 和 Plone 的集成
ONLYOFFICE 提供了一个官方连接器,将 ONLYOFFICE 文档 与 Plone 集成,可以在内容管理系统中编辑文档。您可以从 PyPi.org 和 ONLYOFFICE 的 GitHub 页面 下载 ONLYOFFICE 连接器。该连接器以 Apache-2.0 许可证发布。
主要功能
- 创建、编辑和查看文本文档、电子表格和演示文稿。
- 实时协同编辑文档:两种协同编辑模式(快速和严格),修订模式,评论和内置聊天。
- JWT 支持以保护您的流量,确保只有具有适当权限的用户才能访问您的文档。
支持的格式
- 用于编辑:DOCX, XLSX, PPTX, DOCXF, OFORM
- 用于查看:DJVU, DOC, DOCM, DOCX, DOCXF, DOT, DOTM, DOTX, EPUB, FB2, FODT, HTML, MHT, ODT, OTT, OXPS, PDF, RTF, TXT, XPS, XML, OFORM, CSV, FODS, ODS, OTS, XLS, XLSB, XLSM, XLSX, XLT, XLTM, XLTX, FODP, ODP, OTP, POT, POTM, POTX, PPS, PPSM, PPSX, PPT, PPTM, PPTX
- 用于转换(下载为):DOC, DOCM, DOCX, DOCXF, DOT, DOTM, DOTX, EPUB, FB2, FODT, HTML, MHT, ODT, OTT, OXPS, PDF, RTF, XPS, XML, OFORM, 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, DOCXF, 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
连接 ONLYOFFICE 文档到 Plone
要求
-
ONLYOFFICE 文档服务器 v6.1(服务器或云版本)或更高版本
您需要一个 ONLYOFFICE 文档实例,该实例可以从 Plone 和任何终端客户端解析和连接。它必须能够直接向 Plone 发送 POST 请求。
请参考官方 文档页面了解更多关于安装 ONLYOFFICE 文档的信息。 - Python 3.4 及更高版本
- ONLYOFFICE 集成插件 3.0.1 或更高版本用于 Plone
为 Plone 安装 ONLYOFFICE 集成插件
onlyoffice.connector),请在安装新版本之前将其移除。如果您想安装早期版本,请在遵循安装说明时使用 onlyoffice.connector 而不是 onlyoffice.plone。ONLYOFFICE 集成插件作为标准的 Plone 插件发布。推荐的安装方法是通过 Buildout。
-
将插件添加到 Buildout。
打开您的 Plone 实例的
buildout.cfg文件,并将onlyoffice.plone添加到 eggs 部分:[buildout] ... eggs = onlyoffice.plone -
运行 Buildout。
通过在命令行中以非超级用户身份运行
buildout来应用更改:sudo -u plone_buildout /plone/zinstance/bin/buildout -
重启 Plone 实例。
重启您的 Plone 实例以加载新安装的插件:
sudo /plone/zinstance/bin/instance restart -
在 Plone 中启用插件。
在浏览器中打开您的 Plone 站点,作为管理员登录,并启用插件:
- 进入 站点设置 > 插件 部分。
- 在可用插件中找到 onlyoffice.plone。
- 按下 安装 按钮以启用它。
配置 Plone 的 ONLYOFFICE 集成插件
要配置插件:
- 进入 站点设置。
- 向下滚动到 插件配置 部分。
- 按下 ONLYOFFICE 配置 按钮。
-
在 文档编辑服务 字段中,指定 ONLYOFFICE 文档 所在的 URL 地址。
该地址必须能够从 Plone 访问,同时 Plone 的地址也必须能够从 ONLYOFFICE 文档访问。
-
在 密钥 字段中,指定用于签署数据的密钥。
从 ONLYOFFICE 文档 v7.2 开始,JWT 默认启用,并且密钥会自动生成。您需要在 Plone 端也启用它:在 ONLYOFFICE 文档配置文件 中找到您的密钥,然后在连接器设置中指定相同的密钥。有关更多详细信息,请参阅本文的 为 ONLYOFFICE 和 Plone 集成启用 JWT 部分。
- 在 文档编辑服务的内部请求服务器地址 字段中,指定用于从 文档编辑服务 访问 Plone 的地址。
- 在 服务器的内部请求文档编辑服务地址 字段中,指定用于从 Plone 访问 文档编辑服务 的地址。


开发 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 用户身份运行它,必须提供一个 有效用户 指令。为此,请在 ./parts/instance/etc/zope.conf 中添加 effective-user
< username >
行。升级 Plone ONLYOFFICE 集成插件
-
如果您在 buildout.cfg 文件中指定了精确的插件版本(所谓的 固定,也是推荐的做法),例如 onlyoffice.plone = 1.0.0,请更新此引用以指向更新版本。如果未指定插件版本,则会自动加载最新版本:
[versions] ... onlyoffice.plone = 1.0.1 - 运行 bin/buildout。等待新版本下载并安装。
- 在完成下一步之前,您的站点可能会出现失真甚至无法访问的情况。
- 导航到 插件 屏幕(在您的站点 URL 后添加 /prefs_install_products_form),在 升级 列表中选择 onlyoffice.plone 并点击 升级 onlyoffice.plone。
工作原理
ONLYOFFICE 集成遵循 此处记录的 API。
- 用户导航到 Plone 中的文档并选择 ONLYOFFICE 编辑 操作。
- Plone 为 文档服务器 准备一个 JSON 对象,具有以下属性:
- url:ONLYOFFICE 文档 用于下载文档的 URL;
- callbackUrl:ONLYOFFICE 文档 用于通知文档编辑状态的 URL;
- key:UUID+修改时间戳,用于指示 ONLYOFFICE 文档 是否需要重新下载文档;
- title:文档标题(名称)。
- Plone 从 .pt 模板构建页面,填充所有这些值,以便客户端浏览器可以加载编辑器。
- 客户端浏览器向 ONLYOFFICE 文档 请求 JavaScript 库,并将上述属性的 DocEditor 配置发送给 ONLYOFFICE 文档。
- 然后 ONLYOFFICE 文档 从 Plone 下载文档,用户开始编辑。
- ONLYOFFICE 文档 向 callbackUrl 发送 POST 请求,通知 Plone 用户正在编辑文档。
- 当所有用户和客户端浏览器完成编辑时,他们关闭编辑窗口。
- 在10 秒不活动后,ONLYOFFICE 文档 向 callbackUrl 发送 POST 请求,通知 Plone 客户端已完成编辑并关闭文档。
- Plone 下载文档的新版本,替换旧版本。
为 ONLYOFFICE 和 Plone 集成启用 JWT
为了保护文档免受未经授权的访问,ONLYOFFICE 编辑器使用 JSON Web Token (JWT)。在初始化 文档编辑器 和内部 ONLYOFFICE 文档服务 之间的命令交换时,令牌 会添加到配置中。密钥 用于签署 JSON Web Token 并在请求 ONLYOFFICE 文档 时验证令牌。
从 ONLYOFFICE 文档 v7.2 开始,JWT 默认启用,并且密钥会自动生成。您需要在 ONLYOFFICE 文档配置文件 中找到您的密钥,然后在连接器设置中指定相同的密钥。
步骤 1:在 ONLYOFFICE 文档配置文件 中找到您的密钥
-
使用任何可用的文本编辑器打开 local.json 文件。
- 对于 Linux -
/etc/onlyoffice/documentserver/local.json - 对于 Windows -
%ProgramFiles%\ONLYOFFICE\DocumentServer\config\local.json -
对于 Docker – 使用
docker exec -it <containerID> bash命令进入 ONLYOFFICE 文档容器并打开/etc/onlyoffice/documentserver/local.json或者,您可以使用以下命令在不打开 local.json 的情况下找到默认密钥:
sudo docker exec <containerID> /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json 'services.CoAuthoring.secret.session.string'
local.json 文件应如下所示:
{"services": {"CoAuthoring": {"token": {"enable": {"request": {"inbox": true,"outbox": true},"browser": true}},"secret": {"inbox": {"string": "yoursecret"},"outbox": {"string": "yoursecret"},"session": {"string": "yoursecret"}}}}} - 对于 Linux -
true值在三个部分中指定。这意味着令牌验证已启用。services.CoAuthoring.token.enable.browserservices.CoAuthoring.token.enable.request.inboxservices.CoAuthoring.token.enable.request.outbox
-
自动生成的密钥在三个部分中指定。您可以用自己的密钥替换默认密钥。密钥必须在三个部分中相同。
services.CoAuthoring.secret.inbox.stringservices.CoAuthoring.secret.outbox.stringservices.CoAuthoring.secret.session.string
-
如果您进行了更改,请保存并重启服务以使配置更改生效。
supervisorctl restart all
步骤 2:在连接器设置中指定相同的密钥
在连接器设置中,在 密钥 字段中指定相同的密钥并保存设置。
连接到演示 ONLYOFFICE 文档
从 ONLYOFFICE 连接器版本 3.0.0 开始,您可以在 Plone 中尝试 ONLYOFFICE 在线编辑器,而无需安装 ONLYOFFICE 文档。
要开启连接,请勾选 连接到演示 ONLYOFFICE 文档服务器 复选框并点击 保存 按钮。
在 Plone 中开始使用 ONLYOFFICE 文档
要创建文档:
- 在 内容 选项卡上,点击左侧的 在 ONLYOFFICE 中创建 菜单选项。
-
选择所需的文件类型:文档、电子表格或演示文稿。


- 将打开一个新的文档以供编辑。
要编辑文档:
-
在 内容 选项卡中找到所需的文档。


- 点击文档。
-
在打开的页面上,点击 ONLYOFFICE 编辑 菜单选项以打开文档进行编辑和/或查看。


要将文档转换为 Office Open XML 格式:
- 在 内容 选项卡中找到所需的文档。
- 点击文档。
-
在打开的页面上,点击 在 ONLYOFFICE 中转换 菜单选项。

查看可以转换为 OOXML 的格式的完整列表。 -
点击 转换 按钮。


要创建表单模板:
- 在 内容 选项卡上,点击左侧的 在 ONLYOFFICE 中创建 菜单选项。
- 选择 表单模板 选项。
- 将打开一个新的空白表单模板以供编辑。
要填写表单:
- 在 内容 选项卡中找到所需的表单。
- 点击表单。
-
在打开的页面上,点击 在 ONLYOFFICE 中填写表单 菜单选项。


要下载不同格式的文档:
- 在 内容 选项卡中找到所需的文档。
- 点击文档。
-
在打开的页面上,点击 操作 菜单选项并选择 下载为 菜单项。


- 从列表中选择所需的格式。
-
点击 下载 按钮。

