Alfresco
关于 ONLYOFFICE 与 Alfresco 的集成
ONLYOFFICE 提供了官方连接器,将 ONLYOFFICE文档 与 Alfresco 集成,以便在文档库中创建、编辑和转换办公文档。您可以从官方 Alfresco 附加组件目录 或 ONLYOFFICE 的 GitHub 页面 下载 ONLYOFFICE 连接器。
主要功能
- 创建、编辑和查看文本文件、电子表格和演示文稿。
- 文件转换。
- 实时协作编辑文档:两种协作模式(快速和严格)、修订模式、评论及内置聊天功能。
- 支持 JWT,保障您的数据传输安全,只有拥有相应权限的用户才能访问您的文档。
支持的格式
- 用于创建、编辑和查看:DOCX、PPTX、XLSX
- 用于表单处理:PDF
- 用于转换:ODT、ODP、ODS、DOC、XLS、PPT、RTF
- 通过转换为 OOXML 格式进行编辑:ODP、ODS、ODT、RTF、CSV、TXT
- 仅供查看:PDF
8.1.0 版本新功能
新增
- 编辑器中新增事件支持:onRequestReferenceData、onRequestReferenceSource、onRequestOpen
变更
- 修复忽略 SSL 证书设置的错误
完整更新日志请见 这里。
将 ONLYOFFICE文档 连接到 Alfresco Share
要求
-
ONLYOFFICE Document Server v7.1(服务器或云端版本)或更高版本
您需要一个 ONLYOFFICE文档 实例,该实例必须能被 Alfresco 和任何终端客户端访问并连接,且必须能够直接向 Alfresco 发送 POST 请求。
请参考官方 文档页面 了解有关 ONLYOFFICE文档 安装的更多信息。 - Alfresco 版本:7.4、23、25
- ONLYOFFICE Connector 7.0.0 for Alfresco
安装 ONLYOFFICE 与 Alfresco 模块包
最新的编译包文件可在 GitHub 获取。您需要 onlyoffice-integration-repo.amp 和 onlyoffice-integration-share.amp 文件。
通过编译包安装
- 使用上述链接下载编译好的 .amp 包文件。
-
在服务器上创建以下目录:
sudo mkdir -p /var/opt/alfresco/ampssudo mkdir -p /var/opt/alfresco/amps_share -
将编译好的 .amp 包文件移动到新建目录中:
/var/opt/alfresco/amps用于 onlyoffice-integration-repo.amp/var/opt/alfresco/amps_share用于 onlyoffice-integration-share.amp
-
使用以下任一方法停止 Alfresco 服务:
-
方法 1:
sudo systemctl stop alfresco确保 所有 Alfresco 服务均已停止。它们必须依次停止,最后停止的应为名称中包含content的服务,例如:alfresco-tengine-aio.service.service alfresco-search.service alfresco-content-monitored-startup.service alfresco-content.service -
方法 2:
sudo ./alfresco.sh stop请注意,该方法仅在您的版本包含该脚本时有效,且并非所有版本均包含。
-
方法 1:
-
查找 alfresco.war 和 share.war 文件的路径,例如:
sudo find / -type f -iname '*alfresco.war*' 2>/dev/null - 查找 alfresco-mmt.jar 工具文件的路径。
-
安装插件的 repo 组件:
其中 PATH 代表之前找到的文件路径。请注意,命令中每个 PATH 的值可能不同。java -jar /PATH/alfresco-mmt.jar install \ /PATH/onlyoffice-integration-repo.amp \ /PATH/alfresco.war \ -verbose -nobackup -force您可能需要更新 Java 以部署 alfresco-mmt.jar:sudo apt update sudo apt install openjdk-17-jre-headless -
安装插件的 share 组件:
其中 PATH 代表之前找到的文件路径。请注意,命令中每个 PATH 的值可能不同。java -jar /PATH/alfresco-mmt.jar install \ /PATH/onlyoffice-integration-share.amp \ /PATH/share.war \ -verbose -nobackup -force -
删除 Alfresco 的 Tomcat 目录以便重启时重新编译:
sudo rm -rf /var/opt/alfresco/tomcat/webapps/alfresco sudo rm -rf /var/opt/alfresco/tomcat/webapps/share -
使用以下任一方法重启 Alfresco:
-
sudo systemctl start alfresco -
sudo ./alfresco.sh start
请确保启动服务的顺序与停止时的顺序相同。
-
在 Ubuntu 上安装
要在 Ubuntu 24.04 上开始使用 ONLYOFFICE文档 与 Alfresco,需执行以下步骤:
-
将编译好的 *.amp 包分别上传至对应的 Alfresco 安装目录:
- 从
onlyoffice-alfresco/repo/target/到/usr/local/tomcat/amps/(Alfresco 仓库), - 从
onlyoffice-alfresco/share/target/到/usr/local/tomcat/amps_share/(Share)。
- 从
-
您也可以从 这里 下载已编译的包文件,并放置到相应目录。
使用 模块管理工具 (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 -
Share
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 的更多详情,请参阅 Alfresco 安装指南。
-
Alfresco
-
确保 Document Server 能够向 Alfresco 发送 POST 请求。
您可能需要修改 alfresco-global.properties 中的以下内容,或者通过配置页面设置:
alfresco.host=<hostname> alfresco.port=443 alfresco.protocol=https share.host=<hostname> share.port=443 share.protocol=https -
重启 Alfresco:
sudo ./alfresco.sh stopsudo ./alfresco.sh start
您可以在 Alfresco 的管理员工具中通过 /share/page/console/admin-console/module-package 检查模块。
编译 ONLYOFFICE Alfresco 模块包
如果您计划自行编译 ONLYOFFICE Alfresco 模块包(例如,编辑源码后再编译),请按以下步骤操作:
-
需要最新稳定版的 Oracle Java 以成功构建。如果尚未安装,请使用以下命令安装 Oracle Java 8:
sudo apt-get updatesudo apt-get install openjdk-8-jdk - 安装最新版 Maven。安装过程请参阅 官方 Maven 指南。
-
下载 ONLYOFFICE Alfresco 模块包源码:
git clone https://github.com/ONLYOFFICE/onlyoffice-alfresco.git -
获取子模块:
git submodule update --init --recursive -
在 repo 和 share 目录中编译包:
cd onlyoffice-alfresco && mvn clean install
另一种构建 ONLYOFFICE Alfresco 模块包的方法是使用 docker-compose 文件。
在项目目录下运行以下命令:
docker-compose up
配置 ONLYOFFICE 与 Alfresco 模块包
进入 Alfresco 管理控制台。打开
http://<alfrescohost>/alfresco/s/onlyoffice/onlyoffice-config 并填写以下参数。
设置项:
-
文档编辑服务地址 - 指定文档编辑服务安装的 URL 地址。
重要 ONLYOFFICE文档 的地址必须能被 Alfresco 访问,同时 Alfresco 的地址也必须能被 ONLYOFFICE文档 访问。
-
密钥 - 指定用于签名数据的密钥。
从 ONLYOFFICE文档 v7.2 开始,JWT 默认启用,且密钥自动生成。您需要在 Alfresco 端也启用此功能:在 ONLYOFFICE文档 配置文件中找到您的密钥,并在连接器设置中填写相同的密钥。详情请参见本文的 为 ONLYOFFICE 与 Alfresco 集成启用 JWT 部分。
高级服务器设置:
- Alfresco 服务器内部请求的文档编辑服务地址 - 指定 Alfresco 服务器访问文档编辑服务时使用的地址。
- 文档编辑服务内部请求的 Alfresco 服务器地址 - 指定文档编辑服务访问 Alfresco 服务器时使用的地址。
- 授权头(留空则使用默认头) - ONLYOFFICE 使用的 JWT 授权头为 Authorization。如果该头与您的环境冲突,可更改为自定义头。
常规设置:
- 忽略 SSL 证书 - 关闭 SSL。
- 启用强制保存 - 点击保存按钮后,直接将文档更改保存到 Alfresco 存储(若禁用,文档将保存在编辑器缓存中,直到关闭文档)。
- 转换后以新版本保存 docx、xlsx、pptx - 若禁用,将创建单独文件并放置于同一文件夹。
- 打开文件时通过转换为 OOXML 格式进行编辑 - 允许管理员选择通过转换为 OOXML 格式编辑的文档格式。
- 关闭编辑器后将文档保存为次要版本 - 决定关闭时文档版本是保存为主要版本(2.0、3.0)还是编辑中保存为次要版本(1.1、1.2),初始版本为 1.0。
工作原理
ONLYOFFICE 集成遵循此处文档化的 API:链接。
- 用户在 Alfresco Share 中导航至文档并选择 在 ONLYOFFICE 中编辑 菜单选项。
- Alfresco Share 向仓库端发送请求(URL 格式为:/parashift/onlyoffice/prepare?nodeRef={nodeRef})。
-
Alfresco 仓库端为 Share 准备一个包含以下属性的 JSON 对象:
- url - ONLYOFFICE文档 用于下载文档的 URL(包含当前用户的 alf_ticket);
- callbackUrl - ONLYOFFICE文档 用于通知文档编辑状态的 URL;
- onlyofficeUrl - 客户端响应 ONLYOFFICE文档 的 URL(由 onlyoffice.url 属性提供);
- key - UUID+修改时间戳,指示 ONLYOFFICE文档 是否需要重新下载文档;
- title - 文档标题(名称)。
- Alfresco Share 使用该对象并从 freemarker 模板构建页面,填充所有值以便客户端浏览器加载编辑器。
- 客户端浏览器请求 ONLYOFFICE文档 的 JavaScript 库,并向 ONLYOFFICE文档 发送带有上述属性的 DocEditor 配置。
- 随后 ONLYOFFICE文档 从 Alfresco 下载文档,用户开始编辑。
- ONLYOFFICE文档 向 callbackUrl 发送 POST 请求,通知 Alfresco 用户正在编辑文档。
- Alfresco 锁定文档,但仍允许具有写权限的其他用户通过保留操作与 ONLYOFFICE文档 实时协作。
- 所有用户和客户端浏览器完成编辑后,关闭编辑窗口。
- 经过 10 秒 无操作后,ONLYOFFICE文档 向 callbackUrl 发送 POST,通知 Alfresco 客户端已完成编辑并关闭文档。
- Alfresco 下载文档新版本,替换旧版本。
为 ONLYOFFICE 与 Alfresco 集成启用 JWT
为防止文档被未授权访问,ONLYOFFICE 编辑器使用 JSON Web Token (JWT)。令牌 在文档编辑器初始化时及 ONLYOFFICE文档 内部服务间命令交换时添加。密钥 用于签名 JWT 并在请求 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 连接器 5.0.0 版本 开始,您可以在 Alfresco 内尝试 ONLYOFFICE 在线编辑器,无需安装 ONLYOFFICE文档。
要启用连接,请勾选 连接到演示 ONLYOFFICE 文档服务器 复选框,然后点击 保存 按钮。
开始在 Alfresco 中使用 ONLYOFFICE文档
要 创建 文档:
- 打开您想创建文档的文件夹。
- 点击 创建... 按钮。
- 选择您想创建的文件类型:文档、电子表格或演示文稿。
要 编辑或查看 文档:
- 找到所需文档。
- 点击 在 ONLYOFFICE 中编辑 按钮。
要 将非 XML 文档转换为 XML 格式(DOCX、XLSX 或 PPTX):
- 找到所需文档。
- 点击 使用 ONLYOFFICE 转换 按钮。
文档将自动转换为对应的 XML 格式,转换后的文件保存在同一文件夹。您还可以为文件夹配置自动转换规则。有关规则配置的更多信息,请参阅 官方 Alfresco 文档。
要 下载 文件为所需格式:
- 找到所需文件。
- 点击 另存为... 按钮,选择所需格式。
查看 文件修改历史:
- 点击文件名或图标,打开文件详情标签页。
- 在右侧面板找到 版本历史 标签。
- 可用部分包括:最新版本 和 旧版本。文件的修改内容将被高亮显示。
- 要上传新版本,点击右上角对应图标。
- 快速查看当前文件版本,将鼠标悬停在文件上,版本号会显示在文件名右侧,例如
。

或者
- 在编辑器中打开 文件 标签。
- 选择菜单中的 版本历史 选项。
在文档编辑器中 新建 文件:
- 打开 文件 标签。
- 点击 新建 选项。
将打开一个新的 .docx 文件标签页。
创建 自定义模板:
- 以创建者身份登录 Alfresco 门户的管理员账号。
- 进入 我的文件 -> 数据字典 -> 节点模板。
- 添加支持格式的自定义模板:
.docx、.xlsx、.pptx。
从 模板 创建文档:
- 打开想要创建文档的文件夹。
- 点击 创建... 按钮。
-
选择 从模板创建文档 选项,选择可用模板之一。
或者
- 在编辑器中打开 文件 标签。
- 点击 新建... 选项。
-
选择所需模板。
如需了解如何比较存储中的文件,请参阅 本文。
如需了解如何使用存储中的邮件合并,请参阅 本文。
如需了解如何从存储插入图片,请参阅 本文。
如需了解如何在文档编辑器中将文档标记为收藏,请参阅 本文。