ONLYOFFICE 文档是一款符合 GNU AGPL v3.0 的开源办公套件。其中包含基于 Web 的查看器和协作编辑器,可用于处理文本文档、电子表格、演示文稿、可填写表单以及 PDF 文件。套件使用的核心文件格式为 OOXML(DOCX、XLSX、PPTX)。
本办公套件可与多种云服务进行集成,如:CMS 框架(WordPress/Strapi)、协作平台(ONLYOFFICE 工作区/Nextcloud/Seafile/Confluence/Alfresco)、问题跟踪工具(Jira/Redmine)、线上教育解决方案(Moodle/Chamilo/HumHub)等等。开发人员还能将编辑器嵌入至其自己的 Web 应用程序中。
Strapi 是一款基于 Node.js 进行构建的开源协作式 CMS,可帮助开发人员打造数字化产品。其是一个后端内容管理系统,专为桌面端与移动端网站/应用/互动式显示/Web 元素之间进行内容传递而构建。借助集成后的 ONLYOFFICE 文档,您可直接在 Strapi 界面中对内容进行编辑和协同处理。
在本教程中,我们将了解如何使用集成插件(连接器)实现 ONLYOFFICE 文档与 Strapi 之间的连接。
注意,ONLYOFFICE 兼容 Strapi v.4.0 及更高版本。
第 1 步:安装 ONLYOFFICE 文档
如需在 Strapi 中处理办公文档,首先您需要安装 ONLYOFFICE 文档实例(文档服务器)。开发人员建议使用 Docker 进行安装。这样就可使用以下命令安装最新版本的编辑器及其所需的全部依赖:
sudo docker run -i -t -d -p 8080:80 --restart=always onlyoffice/documentserver
您可在这篇文章中找到详细说明。如果您需要在 Ubuntu 上安装 64 位 ARM 架构的 ONLYOFFICE 文档,可参考这些说明。
第 2 步:安装集成插件
在 Strapi 中间件文件 strapi/config/middlewares.js 中替换 strapi::security 行以允许插入编辑器框并加载 api.js:
{
name: "strapi::security",
config: {
contentSecurityPolicy: {
useDefaults: true,
directives: {
"script-src": ["'self'", "https:", "http:"],
"frame-src": ["'self'", "https:", "http:"],
},
},
},
},
如果已存在此类配置,则可仅添加指令性元素。
一切准备完成后即可在您的 Strapi 项目中安装插件了:
npm install onlyoffice-strapi --save
安装完成后需对管理员 UI 进行重建并重启 Strapi:
# using yarn
yarn build
yarn develop
# using npm
npm run build
npm run develop
集成插件也已在官方 Strapi 市场中提供。
第 3 步:配置集成插件
在完成了集成插件的安装工作后,需通过 Strapi 仪表板对 ONLYOFFICE 文档服务器进行配置。前往“设置 -> 全局设置 -> ONLYOFFICE”。指定参数:
- 文档服务器地址指已安装的 ONLYOFFICE 文档服务器 URL。
- 文档服务器 JWT Secret Key 指帮助 JWT 保护文档免遭未经授权访问的信息。您还需要在 ONLYOFFICE 文档服务器的配置文件中声明相同的 Secret Key 以启用验证。
第 4 步:在 Strapi 内使用 ONLYOFFICE 文档
您可对已添加至 Strapi 媒体库的文本文档、电子表格和演示文稿(DOCX、XLSX、PPTX)进行查看、编辑和协同创作。
可用的协作功能有:实时和段落锁定共同编辑模式、跟踪更改、评论、内置聊天以及通过 Jitsi 插件进行音视频通话(需单独安装)。
可供查看/编辑的文档可在 Strapi 内部的 ONLYOFFICE 文件页中找到。编辑器将在点击文件名称或进行“在 ONLYOFFICE 中编辑”操作时打开。
访问权限将按以下方式提供:
- 打开文件以进行编辑:有更新(剪切、详情、替换)+ 删除权限的用户角色。
- 打开文件以进行查看:有媒体库访问权限的用户角色。
这就完成啦!现在相信您能轻松地在 Strapi 中直接使用 ONLYOFFICE 文档对办公内容进行编辑和协同处理了。