ONLYOFFICE Alfresco 模块包

插件 让用户能够从 Alfresco Share 中用 ONLYOFFICE 文档编辑办公文档。

该插件在官方 Alfresco 插件目录中可以找到。

  • 目前可以使用此插件打开和编辑以下文档格式:DOCX、XLSX、PPTX、DOCXF、OFORM。
  • 该插件将在 Office 文档的文档库中创建一个新的菜单选项- 在ONLYOFFICE 中编辑

    在ONLYOFFICE 中编辑

    这允许多个用户实时协作并将这些更改保存到 Alfresco中。

  • 要将 ODT、ODP、ODS、DOC、XLS、PPT 文件转换为其 OOXML 对应文件,请选择 用 ONLYOFFICE 转换 选项。生成的文件将放置在同一文件夹中。 您还可以为文件夹配置规则,这将在上传或更改时自动转换文件。您可以在 此处找到详细信息。
  • 要创建新文档,请打开要在其中创建文档的文件夹,然后单击创建...按钮。 新建...

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

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

要开始在 Alfresco 中使用 ONLYOFFICE 文档,必须在 Ubuntu 14.04 中执行以下步骤的操作:

  1. 将已编译的 *.amp 包上传到相应的目录以供您安装 Alfresco:
    • 对于Alfresco 存储库: 从 onlyoffice-alfresco/repo/target//usr/local/tomcat/amps/
    • 对于Alfresco Share: 从 onlyoffice-alfresco/share/target//usr/local/tomcat/amps_share/
    您可以在 这里 下载已经编译好的包文件并将它们放置到各自的目录中。
  2. 使用 模块管理工具 (MMT) 安装模块,安装后运行此命令:

    Alfresco

    java -jar /usr/local/tomcat/alfresco-mmt/alfresco-mmt.jar install /usr/local/tomcat/amps/onlyoffice-integration-repo.amp /usr/local/tomcat/webapps/alfresco

    分享

    java -jar /usr/local/tomcat/alfresco-mmt/alfresco-mmt.jar install /usr/local/tomcat/amps_share/onlyoffice-integration-share.amp /usr/local/tomcat/webapps/share

    关于使用MMT的更多细节可以在以下地址找到 - https://docs.alfresco.com/content-services/latest/install/zip/amp/.

  3. 确保文档服务器能够 POST 到 Alfresco 中。

    您可能需要在 alfresco-global.properties 中更改这些行,或者您可以使用 配置页面进行设置:

    alfresco.host=<hostname> alfresco.port=443 alfresco.protocol=https share.host=<hostname> share.port=443 share.protocol=https
    大概位于这里 /usr/local/tomcat/shared/classes/alfresco-global.properties
  4. 重启 Alfresco: sudo ./alfresco.sh stop sudo ./alfresco.sh start

可以在 /share/page/console/admin-console/module-package 的管理员工具中检查该模块。

模块配置可以在 Alfresco 管理控制台 中找到,或者只需导航到 http://<alfrescohost>/alfresco/s/onlyoffice/onlyoffice-config即可。

您还可以将 onlyoffice.url 添加到 alfresco-global.properties。 通过设置页面进行的配置将覆盖 alfresco-global.properties

从 7.2 版开始,默认情况下启用 JWT,并自动生成密钥以限制对 ONLYOFFICE 文档的访问,这也是出于安全原因和数据完整性考虑。 在 Alfresco 配置页面上或通过将 onlyoffice.jwtsecret 添加到 alfresco-global.properties 来指定您自己的密钥。 在 ONLYOFFICE 文档 配置文件中,指定相同的密钥并启用验证。

如果您打算自己编译 ONLYOFFICE Alfresco 模块包(例如编辑源代码并在之后编译),请按照以下步骤操作:

  1. 成功构建需要最新的稳定 Oracle Java 版本。 如果您没有安装它,请使用以下命令安装 Oracle Java 8: sudo apt-get update sudo apt-get install openjdk-8-jdk
  2. 安装最新的 Maven此处描述了安装过程。
  3. 下载ONLYOFFICE Alfresco模块包源代码: git clone https://github.com/ONLYOFFICE/onlyoffice-alfresco.git
  4. 获取子模块: git submodule update --init --recursive
  5. reposhare 目录中编译包: cd onlyoffice-alfresco/ mvn clean install

另一种构建 ONLYOFFICE Alfresco 模块包的方法是使用 docker-compose 文件。

在项目目录中使用此命令:

docker-compose up

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

  1. 用户导航到 Alfresco Share 中的文档并选择 在ONLYOFFICE中编辑 菜单选项。
  2. Alfresco Share 向 repo 端发出请求(表单URL为:/parashift/onlyoffice/prepare?nodeRef={nodeRef}).
  3. Alfresco Repo 端为具有以下属性的 Share 准备一个 JSON 对象:

    • url - ONLYOFFICE 文档用于下载文档的 URL(包括当前用户的 alf_ticket );
    • callbackUrl - ONLYOFFICE 文档通知文档编辑状态的 URL;
    • onlyofficeUrl - 客户端需要响应 ONLYOFFICE 文档的 URL(由 onlyoffice.url 属性提供);
    • keyUUID+Modified Timestamp 指示 ONLYOFFICE 文档是否再次下载文档;
    • title - 文档标题(名称)。
  4. Alfresco Share 使用这个对象并从 freemarker 模板构建一个页面,填充所有这些值,以便客户端浏览器可以加载编辑器。
  5. 客户端浏览器从 ONLYOFFICE 文档向 JavaScript 库发出请求,并向 ONLYOFFICE 文档发送包含上述属性的 DocEditor 配置。
  6. 然后 ONLYOFFICE 文档从 Alfresco 下载文档,用户开始编辑。
  7. ONLYOFFICE 文档向 回调 URL 发送 POST 请求,以通知 Alfresco 用户正在编辑文档。
  8. Alfresco 会锁定文档,但仍允许其他具有写入权限的用户通过保留 Action 与 ONLYOFFICE 文档进行实时协作。
  9. 当所有用户和客户端浏览器都完成编辑后,他们会关闭编辑窗口。
  10. 10 秒 不活动后,ONLYOFFICE 文档向 回调 URL 发送一个 POST,让 Alfresco 知道客户端已完成对文档的编辑并关闭它。
  11. Alfresco 下载文档的新版本,替换旧版本。

此处下载 ONLYOFFICE Alfresco 模块包。