跳到主要内容

Liferay

关于 ONLYOFFICE 与 Liferay 集成​

ONLYOFFICE 提供官方连接器,可将 ONLYOFFICE Docs 与 Liferay 集成,并在 Liferay 文档和媒体库中编辑办公文档。您可以从 Liferay Marketplace 或 GitHub 页面下载 ONLYOFFICE 连接器。该连接器采用 Apache 许可证分发。

备注

要详细了解适用于 Liferay 的 ONLYOFFICE 连接器的工作原理,请访问我们的 API 文档页面。

主要功能​

  • 使用 Create with ONLYOFFICE(使用 ONLYOFFICE 创建)菜单选项创建文件。
  • 创建和填写在线表单。
  • 在 Documents and Media(文档和媒体)部分中,使用 ONLYOFFICE Edit/View(ONLYOFFICE 编辑/查看)菜单选项查看和编辑现有的文本文档、电子表格或演示文稿。
  • 实时共同编辑文档:两种共同编辑模式(快速和严格)、修订、批注和内置聊天。
  • JWT 支持,保护您的流量安全,除具有适当权限的用户外,任何人都无法访问您的文档。

支持的格式​

  • 用于查看:
    • WORD:DOC、DOCM、DOCX、DOT、DOTM、DOTX、EPUB、FB2、FODT、HTM、HTML、HWP、HWPX、MD、MHT、MHTML、ODT、OTT、PAGES、RTF、STW、SXW、TXT、WPS、WPT、XML
    • CELL:CSV、ET、ETT、FODS、NUMBERS、ODS、OTS、SXC、XLS、XLSM、XLSX、XLT、XLTM、XLTX
    • SLIDE:DPS、DPT、FODP、KEY、ODG、ODP、OTP、POT、POTM、POTX、PPS、PPSM、PPSX、PPT、PPTM、PPTX、SXI
    • PDF:DJVU、DOCXF、OFORM、OXPS、PDF、XPS
    • DIAGRAM:VSDM、VSDX、VSSM、VSSX、VSTM、VSTX
  • 用于编辑:
    • WORD:DOCM、DOCX、DOTM、DOTX
    • CELL:XLSB、XLSM、XLSX、XLTM、XLTX
    • SLIDE:POTM、POTX、PPSM、PPSX、PPTM、PPTX
    • PDF:PDF
  • 用于转换为 Office Open XML 格式:
    • WORD:DOC、DOCM、DOCX、DOT、DOTM、DOTX、EPUB、FB2、FODT、HTM、HTML、HWP、HWPX、MD、MHT、MHT、MHTML、ODT、OTT、PAGES、RTF、STW、SXW、TXT、WPS、WPT、XML
    • CELL:CSV、ET、ETT、FODS、NUMBERS、ODS、OTS、SXC、XLS、XLSB、XLSM、XLSX、XLT、XLTM、XLTX
    • SLIDE:DPS、DPT、FODP、KEY、ODG、ODP、OTP、POT、POTM、POTX、PPS、PPSM、PPSX、PPT、PPTM、PPTX、SXI
    • PDF:DOCXF、OXPS、PDF、XPS

3.1.0 版本的新增内容​

新增

  • 支持 ONLYOFFICE Docs v9.1.0

更改

  • 更新了 com.onlyoffice:docs-integration-sdk 的版本
    • 新增支持的格式:.vsdx、.md、.odg、.xlsb、Apple iWork、.hwp、.hwpx、.mht
    • 新增文档类型:DIAGRAM
    • 扩展了空文件模板

完整的更新日志请见此处。

将 ONLYOFFICE Docs 连接到 Liferay​

要求​

  • ONLYOFFICE Document Server v6.1.0 或更高版本(服务器版或云版)。

    您需要一个 ONLYOFFICE Docs 实例,该实例必须能够被 Liferay 和所有终端客户端解析并连接。它必须能够直接向 Liferay 发送 POST 请求。

    备注

    要详细了解如何安装 ONLYOFFICE Docs,请参阅官方文档页面。

  • Liferay CE Portal 7.2 GA1+、Liferay DXP 7.2 GA1+、Liferay CE Portal 7.3 GA1+、Liferay DXP 7.3 GA1+、Liferay CE Portal 7.4 GA1+、Liferay CE 7.4 GA44 - GA73、Liferay DXP 7.4 U44 - U73。

  • 适用于 Liferay 的 ONLYOFFICE 连接器 v2.2.0。

安装适用于 Liferay 的 ONLYOFFICE 连接器​

您可以使用 App Manager 安装 ONLYOFFICE 连接器。

使用 App Manager 安装:

  1. 转到 Control Panel > System > App Manager。
  2. 点击 Options Options(选项)按钮。
  3. 点击 Upload(上传)按钮。
  4. 在打开的窗口中,选择 ONLYOFFICE 应用程序文件。

安装完成后,应用程序即可使用。

如果您自行构建连接器,只需将 build\libs 文件夹中编译好的 .jar 文件放入 /opt/liferay/deploy。Liferay 会自动安装它。

备注

从 Marketplace 下载的文件采用 .lpkg 格式。您可以解压 .lpkg 包以获取相应的 .jar 文件。然后可以通过 App Manager 部署解压出的 .jar。

编译适用于 Liferay 的 ONLYOFFICE 连接器​

只需运行 gradle build。输出的 .jar 将放在 build/libs 目录中。

配置适用于 Liferay 的 ONLYOFFICE 连接器​

转到 Control Panel > Configuration > System Settings。在 Platform 部分中,选择 Connectors 类别,然后选择 ONLYOFFICE。

您可以在此处配置以下设置:

  • ONLYOFFICE Docs address(ONLYOFFICE Docs 地址)- 指定安装了 Document Editing Service 的 URL 地址。

    备注

    ONLYOFFICE Docs 的地址必须可从 Liferay 访问,同样,Liferay 的地址也必须可从 ONLYOFFICE Docs 访问。

  • ONLYOFFICE Docs address for internal requests from the server(来自服务器的内部请求的 ONLYOFFICE Docs 地址)- 指定从 Liferay 访问 Document Editing Service 所使用的地址。

  • Server address for internal requests from ONLYOFFICE Docs(来自 ONLYOFFICE Docs 的内部请求的服务器地址)- 指定从 Document Editing Service 访问 Liferay 所使用的地址。

  • Secret key(密钥)- 指定用于对数据签名的密钥。

    备注

    从 ONLYOFFICE Docs v7.2 开始,JWT 默认启用,并自动生成密钥。您还需要在 Liferay 端启用它:在 ONLYOFFICE Docs 配置文件中找到您的密钥,然后在连接器设置中指定相同的密钥。有关更多详细信息,请参阅本文的为 ONLYOFFICE 和 Liferay 集成启用 JWT部分。

  • Authorization header(授权标头)(留空则使用默认标头)- ONLYOFFICE 中使用的授权 JWT 标头为 Authorization。如果该标头与您的设置冲突,可以将其更改为自定义标头。

  • Enable Force Save(启用强制保存)- 选中此复选框可在编辑时保留文档的中间版本。

  • Enable ONLYOFFICE Web Preview(启用 ONLYOFFICE 网页预览)- 选中此复选框可启用文件预览。

Configuration

配置完集成应用程序后,点击 Save(保存)按钮应用更改。

工作原理​

ONLYOFFICE 集成遵循此处记录的 API。

  1. 用户在 Liferay 中进入 Documents and Media 部分,并选择 Edit in ONLYOFFICE 操作。
  2. Liferay 为 Document Server 准备一个具有以下属性的 JSON 对象:
    • url:ONLYOFFICE Docs 用于下载文档的 URL;
    • callbackUrl:ONLYOFFICE Docs 用于通知文档编辑状态的 URL;
    • key:用于指示 ONLYOFFICE Docs 是否再次下载文档的 fileVersionId;
    • title:文档标题(名称)。
  3. 客户端浏览器向 ONLYOFFICE Docs 的 JavaScript 库发出请求,并向 ONLYOFFICE Docs 发送具有上述属性的 DocEditor 配置。
  4. 然后 ONLYOFFICE Docs 从 Liferay 下载文档,用户开始编辑。
  5. ONLYOFFICE Docs 向 callbackUrl 发送 POST 请求,通知 Liferay 有用户正在编辑文档。
  6. Liferay 锁定文档,但仍保留 Action(操作),允许其他具有写入权限的用户通过 ONLYOFFICE Docs 实时协作。
  7. 当所有用户和客户端浏览器完成编辑后,他们关闭编辑窗口。
  8. 经过 10 秒的不活动后,ONLYOFFICE Docs 向 callbackUrl 发送 POST 请求,告知 Liferay 客户端已完成文档编辑并已将其关闭。
  9. Liferay 下载文档的新版本,替换旧版本。

为 ONLYOFFICE 和 Liferay 集成启用 JWT​

为了保护文档免受未经授权的访问,ONLYOFFICE 编辑器使用 JSON Web Token (JWT)。令牌在文档编辑器初始化时以及 ONLYOFFICE Docs 内部服务之间交换命令时添加到配置中。密钥用于对 JSON Web 令牌签名,并在向 ONLYOFFICE Docs 发出请求时验证令牌。

从 ONLYOFFICE Docs v7.2 开始,JWT 默认启用,并自动生成密钥。您需要在 ONLYOFFICE Docs 配置文件中找到您的密钥,然后在连接器设置中指定相同的密钥。

步骤 1:在 ONLYOFFICE Docs 配置文件中找到您的密钥

  1. 使用任意可用的文本编辑器打开 local.json 文件。

    • Linux - /etc/onlyoffice/documentserver/local.json

    • Windows - %ProgramFiles%\ONLYOFFICE\DocumentServer\config\local.json

    • Docker – 使用 docker exec -it <containerID> bash 命令进入 ONLYOFFICE Docs 容器,然后打开 /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"
    }
    }
    }
    }
    }
  2. 在三个部分中都指定了 true 值。这表示已启用令牌验证。

    • services.CoAuthoring.token.enable.browser
    • services.CoAuthoring.token.enable.request.inbox
    • services.CoAuthoring.token.enable.request.outbox
  3. 在三个部分中指定了自动生成的密钥。您可以将默认密钥值替换为您自己的密钥。三个部分中的密钥必须相同。

    • services.CoAuthoring.secret.inbox.string
    • services.CoAuthoring.secret.outbox.string
    • services.CoAuthoring.secret.session.string
  4. 如果进行了更改,请保存并重启服务,使配置更改生效。

    • Linux:

      sudo supervisorctl restart all
    • Docker:

      docker exec <containerID> supervisorctl restart all

      或者重启整个容器:

      docker restart <containerID>

步骤 2:在连接器设置中指定相同的密钥

在连接器设置的 Secret key(密钥)字段中指定相同的密钥,然后保存设置。

开始在 Liferay 中使用 ONLYOFFICE Docs​

要创建文件:

  1. 转到 Documents and Media 部分。

  2. 点击 Add File Add File(添加文件)按钮。

  3. 在打开的菜单中,点击 Create with ONLYOFFICE 按钮。

    Create

  4. 在打开的页面上,选择文件类型,并(可选)指定其标题和描述。

  5. 点击 Save(保存)按钮。

    Create file

要编辑文件:

  1. 在 Documents and Media 部分中找到所需的文件。

  2. 点击该文档。

  3. 在打开的菜单中,点击 Edit in ONLYOFFICE 按钮。

    Edit

要创建 PDF 表单:

  1. 转到 Documents and Media 部分。

  2. 点击 Add File Add File(添加文件)按钮。

  3. 在打开的菜单中,点击 Create with ONLYOFFICE 按钮。

    Create

  4. 在打开的页面上,选择 PDF form(PDF 表单)文件类型。

  5. 点击 Save(保存)按钮。

备注

要详细了解表单,请阅读有关创建表单的相应文章。

备注

要详细了解最常见的问题及其解决方法,请访问我们的故障排除指南。