ONLYOFFICE 文档如何与 Alfresco 进行集成
ONLYOFFICE 文档是一款开源办公套件,其是包含文本文档、电子表格、演示文稿、数字表单、PDF 查看器和转换工具的协作性编辑工具。要在 Alfresco 中使用 ONLYOFFICE 协作功能,可以将他们连接集成。阅读本文,了解这如何实现。
关于 ONLYOFFICE 和 Alfresco 集成
ONLYOFFICE 文档编辑器可与多种云服务进行集成,如:CMS 框架(WordPress/Strapi/Drupal)、协作与内容平台(ONLYOFFICE 工作区 / Nextcloud/Seafile/Confluence/Alfresco)、问题跟踪工具(Jira/Redmine)、线上教育解决方案(Moodle/Chamilo/HumHub)等等。您还可将编辑器嵌入至自建 Web 服务中。
ONLYOFFICE 推出的一款官方连接器有助于实现 ONLYOFFICE 文档与 Alfresco 集成,让用户可以在文档库中创建、编辑和转换办公文档。您可以从官方 Alfresco 插件目录或 ONLYOFFICE GitHub 页面下载这款 ONLYOFFICE 连接器。
如要详细了解 ONLYOFFICE 与 Alfresco 模块及其使用方式,请访问我们的 API 文档。
主要功能
- 创建、编辑、查看文本文档、电子表格及演示文稿。
- 转换文件。
- 实时协作编辑文档:支持两种协作编辑模式(快速和严格)、跟踪更改模式,有评论和内置聊天功能。
- JWT 支持,保护您的流量安全,除具有相应权限的用户外,任何人都无法访问您的文档。
支持的格式
- 创建、编辑和查看:DOCX、PPTX、XLSX
- 处理表单:OFORM、DOCXF
- 转换:ODT、ODP、ODS、DOC、XLS、PPT、RTF
- 通过转换到 OOXML 进行编辑:ODP、ODS、ODT、RTF、CSV、TXT
- 仅查看:PDF
将 ONLYOFFICE 文档连接到 Alfresco Share
开始前,请确认您的软件符合以下要求:
- ONLYOFFICE 文档服务器 v7.1 或更高版本
- 您需要一个 ONLYOFFICE 文档的实例,该实例可从 Alfresco 和任意最终客户端解析和连接;此外,必须能够直接发布到 Alfresco。
如要详细了解如何安装 ONLYOFFICE 文档,请参阅官方文档页面。
- 您还可以使用 ONLYOFFICE 文档云(SaaS版)。
- Alfresco v.5.2 - 7.2
- Alfresco 用的 ONLYOFFICE 连接器 6.0.0
安装 ONLYOFFICE 和 Alfresco 模块包
如需最新编译的包文件,可在 GitHub 获取;您会需要 onlyoffice-integration-repo.jar 和 onlyoffice-integration-share.jar 文件。如果您由于某种原因打算自行编译 ONLYOFFICE 和 Alfresco 模块包(例如编辑源代码、随后编译),请按照开发人员说明进行操作。
1. 在 repo 和 share 下载编译好的模块包:
cd onlyoffice-alfresco/
mvn clean install
2. 将编译好的 *.jar 包上传到 Alfresco 安装的相应目录中:
- Alfresco 代码库:从 onlyoffice-alfresco/repo/target/ 到 /webapps/alfresco/WEB-INF/lib/。
- Share:从 onlyoffice-alfresco/share/target/ 到 /webapps/share/WEB-INF/lib/。
3. (可选)编辑 alfresco-global.properties 文件,指定正确的主机名、开放端口和协议,因为 alfresco 和 share 要被部署为两个单独的服务。
alfresco.host=<hostname>
alfresco.port=443
alfresco.protocol=httpsshare.host=<hostname>
share.port=443
share.protocol=https
4. 重新启动 Alfresco
sudo ./alfresco.sh stop
sudo ./alfresco.sh start
检查模块是否在 /share/page/console/admin-console/module-package 列表中。
配置 ONLYOFFICE 和 Alfresco 模块包
前往 Alfresco 管理控制台。打开 http://<alfrescohost>/alfresco/s/onlyoffice/onlyoffice-config,指定以下参数。
文档服务器设置:
- 文档编辑服务地址:指定安装文档编辑服务的网址。
重要提示:ONLYOFFICE 文档的地址必须可从 Alfresco 访问,Alfresco 的地址也必须可从 ONLYOFFICE 文档访问。
- 密钥:指定用于签署数据的密钥。
从ONLYOFFICE 文档 v7.2 开始,JWT 为默认启用,并会自动生成密钥。您也需要在 Alfresco 端启用:在 ONLYOFFICE 文档配置文件中找到您的密钥,然后在连接器设置中指定相同的密钥。如要了解更多详细信息,请参阅本文的为 ONLYOFFICE 和 Alfresco 集成启用 JWT 部分。
高级服务器设置:
- Alfresco 服务器中的内部请求的文档编辑服务地址:指定用于从 Alfresco 服务器访问文档编辑服务的地址。
- 文档编辑服务中的内部请求的 Alfresco 服务器地址:指定用于从文档编辑服务访问 Alfresco 服务器的地址。
通用设置:
- 忽略 SSL 证书:关闭 SSL。
- 启用强制保存:点击“保存”按钮后,可以将文档更改直接保存到 Alfresco 存储中(如果此设置被禁用,文档会被保存在文档编辑器的缓存中,直至文档被关闭)。
- 转换后将 docx、xlsx、pptx 保存为原始文件的新版本:如果此设置被禁用,系统会创建一个单独的文件,并将其放置在同一文件夹中。
- 打开文件进行编辑:允许管理员通过转换到 OOXML 格式来选择要编辑的文档格式。
为 ONLYOFFICE 和 Alfresco 集成启用 JWT
为了保护文档免遭未经授权的访问,ONLYOFFICE 编辑器使用 JSON 网络令牌 (JWT)。在文档编辑器初始化时,以及在内部 ONLYOFFICE 文档服务之间交换命令时,令牌会被添加到配置中。密钥是被用于向 ONLYOFFICE 文档发出的请求时,对 JSON 网络令牌进行签名和验证。
从 ONLYOFFICE 文档 v7.2 开始,JWT 默认启用,并自动生成密钥。您需要在 ONLYOFFICE 文档配置文件中找到您的密钥,然后在连接器设置中指定相同的密钥。
第 1 步:在 ONLYOFFICE 文档配置文件中找到您的密钥
1. 使用任意可用的文本编辑器打开 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"}}}}
}
2. true 值会在 3 个地方被指定。这表示令牌验证被启用。
services.CoAuthoring.token.enable.browser
services.CoAuthoring.token.enable.request.inbox
services.CoAuthoring.token.enable.request.outbox
3. 系统会在 3 个部分指定自动生成的密钥。您可以用您自己的密钥替换默认密钥值。3 个部分的密钥必须是相同的。
services.CoAuthoring.secret.inbox.string
services.CoAuthoring.secret.outbox.string
services.CoAuthoring.secret.session.string
4. 如果进行更改,请保存并重启服务,以使配置更改生效。
supervisorctl restart all
第 2 步:在连接器设置中指定相同的密钥
在连接器设置中,在密钥字段中指定相同的密钥并保存设置。
连接到 ONLYOFFICE 文档演示版
从 ONLYOFFICE 连接器版本 5.0.0 开始,您无需安装 ONLYOFFICE 文档,即可在 Alfresco 中试用 ONLYOFFICE 在线编辑器。
如要打开连接,请单击“连接到 ONLYOFFICE 文档服务器演示版”复选框,然后点击“保存”按钮。
这是一个公共测试服务器,在 30 天内可用。请不要在此服务器分享您的敏感数据。
开始在 Alfresco 中使用 ONLYOFFICE 文档
如要创建文档,请:
1.打开要在其中创建文档的文件夹。
2.点击“创建...”按钮。
3.选择您要创建的文件类型:文档、电子表格或演示文稿。
如要编辑或查看文档,请:
1.找到所需的文件。
2.点击“在 ONLYOFFICE 中编辑”按钮。
如要将非 XML 文档转换为 XML 格式(DOCX、XLSX 或 PPTX),请:
1.找到所需的文档。
2.点击“使用 ONLYOFFICE 转换”按钮。
该文档会被自动转换为其 XML analog 形式。生成的文件会被放在同一文件夹中。您也可以为文件夹配置自动转换规则。如要详细了解规则配置,请参阅 Alfresco 官方文档。
如要将文件下载为偏好的格式,请:
1.找到需要的文件。
2.点击“下载为...”按钮,选择您需要的格式。
如要查看文件更改的历史记录,请:
1.点击文件名或图标,打开文件详细信息选项卡。
2.在右侧面板中找到“版本历史记录”选项卡。
3.有两项可用:“最新版本”和“旧版本”。对文件所做的更改会被突出显示。
4.如要上传新版本,请点击右上角相应的图标。
5.如要快速查看当前文件版本,请将鼠标指针悬停在文件上,版本号就会显示在文件名的右侧,例如 。
或者
1.前往编辑器中的“文件”选项卡。
2.选择菜单中的“版本历史记录”选项。
如要直接在文档编辑器中创建新文件,请:
1.打开“文件”选项卡。
2.点击“新建”选项。
新的 .docx 文件会在一个新选项卡中打开。
如要创建自定义模板,请:
1.以创建 Alfresco 门户的管理员的身份登录该门户。
2.前往“我的文件”->“数据字典”->“节点模板”。
3.添加可用格式的自定义模板:.docx、.xlsx、.pptx。
如要基于模板创建文档,请:
1.打开要在其中创建文档的文件夹。
2.点击“创建...”按钮。
3.选择“基于模板创建文档”选项,然后选择一个可用的模板。
或
1. 在编辑器中,前往“文件”选项卡。
2. 点击“新建...”选项。
3. 选择所需的模板。
相关文章:

ONLYOFFICE 文档如何与 Alfresco 进行集成
ONLYOFFICE 文档是一款开源办公套件,其是包含文本文档、电子表格、演示文稿、数字表单、PDF 查看器和转换工具的协作性编辑工具。要在 Alfresco 中使用 ONLYOFFICE 协作功能,可以将他们连接集成。阅读本文,了解这如何实现。 关于 ONLYOFFICE…...

PostgreSQL下载路径与安装步骤
PgSQL介绍 PgSQL和MySQL一样是一种关系模型的数据库,全称为PostgreSQL 数据库。 优势:PgSQL是一种可扩展、可靠、可定制的数据库管理系统,具有良好的数据完整性和安全性,支持多种操作系统,包括 Linux、Windows、MacOS …...
如何在PHP中编写条件语句
引言 决策是生活不可缺少的一部分。从平凡的着装决定,到改变人生的工作和家庭决定。在开发中也是如此。要让程序做任何有用的事情,它必须能够对某种输入做出响应。当用户点击网站上的联系人按钮时,他们希望被带到联系人页面。如果什么都没有…...

LLM架构自注意力机制Transformers architecture Attention is all you need
使用Transformers架构构建大型语言模型显著提高了自然语言任务的性能,超过了之前的RNNs,并导致了再生能力的爆炸。 Transformers架构的力量在于其学习句子中所有单词的相关性和上下文的能力。不仅仅是您在这里看到的,与它的邻居每个词相邻&…...

计算机网络 QA
DNS 的解析过程 浏览器缓存。当用户通过浏览器访问某域名时,浏览器首先会在自己的缓存中查找是否有该域名对应的 IP 地址(曾经访问过该域名并且没有清空缓存)系统缓存。当浏览器缓存中无域名对应的 IP 地址时,会自动检测用户计算机…...

安果天气预报 产品介绍
软件介绍版本号 2.0.5 安果天气预报:全世界覆盖,中国定制 想要查找北京、上海、纽约、东京还是巴黎的天气?一款简约的天气预 报应用为你呈现。专注于为用户提供纯净的天气体验,我们不发送任何打扰的通知。包含空气质量、能见度、…...

net start Mysql 启动服务时 ,显示“Mysql服务正在启动 Mysql服务无法启动 服务没有报告任何错误
一、问题 有时候,输入net start Mysql 启动服务时 mysql>net start Mysql 显示 Mysql服务正在启动 Mysql服务无法启动 服务没有报告任何错误 二、原因 由于mysql的默认端口是3306,因此在启动服务的时候,如果此端口被占用,就会出…...

DAY24
题目一 啊 看着挺复杂 其实很简单 第一种方法 就是纵轴是怪兽编号 横轴是能力值 看看能不能打过 逻辑很简单 看看能不能打得过 打过的就在花钱和直接打里面取小的 打不过就只能花钱 这种方法就导致 如果怪兽的能力值很大 那么我们就需要很大的空间 所以引出下一种做法 纵…...

Redis过期数据的删除策略
1 介绍 Redis 是一个kv型数据库,我们所有的数据都是存放在内存中的,但是内存是有大小限制的,不可能无限制的增量。 想要把不需要的数据清理掉,一种办法是直接删除,这个咱们前面章节有详细说过;另外一种就是…...

如何使用CSS实现一个拖拽排序效果?
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 实现拖拽排序效果的CSS和JavaScript示例⭐ HTML 结构⭐ CSS 样式 (styles.css)⭐ JavaScript 代码 (script.js)⭐ 实现说明⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦…...

leetcode 118.杨辉三角
⭐️ 题目描述 🌟 leetcode链接:https://leetcode.cn/problems/pascals-triangle/description/ 代码: class Solution { public:vector<vector<int>> generate(int numRows) {// 先开空间vector<vector<int>> v;v.…...
微服务框架之SpringBoot面试题汇总
微服务框架之SpringBoot面试题汇总 什么是Spring Boot? 多年来,随着新功能的增加,spring变得越来越复杂。Spring项目,我们必须添加构建路径或添加Maven依赖关系,配置应用程序服务器,添加spring配置。因此&…...
Promise详解
目录 一、前言:为什么会出现Promise?二、Promise是什么?2.1 Promise的初体验 三、使用Promise的好处?3.1 指定回调函数的方式更加灵活3.2 可以解决回调地狱问题,支持链式调用 四、Promise实例对象的两个属性五、resolve函数以及reject函数六、Promise…...

Oracle 查询(当天,月,年)的数据
Trunc 在oracle中,可利用 trunc函数 查询当天数据,该函数可用于截取时间或者数值,将该函数与 select 语句配合使用可查询时间段数据 查询当天数据 --sysdate是获取系统当前时间函数 --TRUNC函数用于截取时间或者数值,返回指定的…...

什么是梯度下降
什么是梯度下降 根据已有数据的分布来预测可能的新数据,这是回归 希望有一条线将数据分割成不同类别,这是分类 无论回归还是分类,我们的目的都是让搭建好的模型尽可能的模拟已有的数据 除了模型的结构,决定模型能否模拟成功的关键…...

开黑啦kook 机器人开发 PHP swoole Liunx 服务器(宝塔)
安装环境 PHP 拓展 直接使用 宝塔一键安装 (Windows系统不支持) 设置命令行的PHP版本避免执行脚本时 获取不到 swoole 检查swoole是否安装成功 获取官方SDK GitHub - kaiheila/php-bot: 开黑啦机器人的php版本https://github.com/kaiheila/php-bot 配…...

Vue 中hash 模式与 history 模式的区别
hash 模式: - 地址中永远带着 # 号,不美观。 - 兼容性比较好。 - 通过手机 app 分享地址时,如果 app 效验严格,该地址会被标记为不合法。 history 模式: - 地址干净,美观。 - 兼容性和 hash 模式相比…...

Dockerfile推送私有仓库的两个案例
一,编写Dockerfile制作Web应用系统nginx镜像,生成镜像nginx:v1.1,并推送其到私有仓库。 具体要求如下: (1)基于centos基础镜像; (2)指定作者信息; ÿ…...

【指标】指标公式大全,款款经典(建议珍藏)!-神奇指标网
三、指标源码: 1、连续三天高开高走的选股公式 count(o〉ref(c,1)andc>o,3)3; 2、连续3天每天的最低价都比前一天高 count(l〉ref(c,1),3)3; 3、周量缩小50%或40%或n&#x…...
面试题目收集
Zset排行榜功能如何设计key? key就设计成排行榜的名字,比如下面插入或者更新数据 Long zadd(final String key, final double score, final String member) key : 排行榜的名字 memeber : 用户 score : 用户的分数 项目…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)
引言 工欲善其事,必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后,我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集,就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...

基于开源AI智能名片链动2 + 1模式S2B2C商城小程序的沉浸式体验营销研究
摘要:在消费市场竞争日益激烈的当下,传统体验营销方式存在诸多局限。本文聚焦开源AI智能名片链动2 1模式S2B2C商城小程序,探讨其在沉浸式体验营销中的应用。通过对比传统品鉴、工厂参观等初级体验方式,分析沉浸式体验的优势与价值…...

【1】跨越技术栈鸿沟:字节跳动开源TRAE AI编程IDE的实战体验
2024年初,人工智能编程工具领域发生了一次静默的变革。当字节跳动宣布退出其TRAE项目(一款融合大型语言模型能力的云端AI编程IDE)时,技术社区曾短暂叹息。然而这一退场并非终点——通过开源社区的接力,TRAE在WayToAGI等…...