金山在线预览_什么叫在线编辑

6cd1b4ddb5ea46f828773c8623e31cb1.png

在上一篇「WPS加载项——集成创新 体验升级」中,详细的说明了目前WPS PC客户端的最佳集成方式,通过评论和一些反馈,发现在业务系统集成WPS PC客户端的时候,总在说一个概念,就是「在线编辑」,今天咱们就重点剖析下这个概念,看看什么才真正叫「在线编辑」。

在线编辑最朴素的定义应该是这样的:业务系统通过文档控件集成了Office软件,在自己的页面中直接打开了存储在自己服务端的Office文件,可以预览和编辑,完成编辑后还能继续保存到自己的服务端。整个过程都在浏览器中完成,让用户感觉Office软件与自己业务系统融为一体。

这样的在线编辑我要拆解一下,然后让大家好好看看这个「骗局」。

  • Office软件在控件里打开业务系统服务端的文件,都是获取文件流拉取到本地的%TPM%再打开
  • 一旦打开后,不管在哪儿显示这个文件,都与业务系统的服务端文件脱钩,就是个本地客户端的副本

当然,通过WPS加载项完成的业务系统与WPS的集成,也无法跳出这个「骗局」,所以我不想再提「在线编辑」这个概念,从原理上说说:

  • 回归集成初心:通过WPS加载项集成后的WPS,不再是单纯的一个客户端通用软件,Ta就是业务系统的「超级编辑器」,深度融入业务系统,功能可扩展,行为可定义
  • 高安全性特性:既然目前依旧得把文件流拉到本地后打开,那WPS可以做到直接将文件流放到内存中后打开,做到「文档不落地、终端不留密」。

有不少开发者同学问了两个很典型的问题:

  1. WPS的用户身份是什么?
  2. WPS客户端编辑文件时可以协同么?

接下来我们详细看看这两个问题,正好引出可实现真正「在线编辑」的金山办公的另一利器。

问题1:WPS的用户身份是什么?

答:WPS作为一个PC客户端软件,本身是没有用户身份这个概念的,但是可以根据业务方的需求做「定义」。接入了我们自己的云文档,WPS PC客户端就有个WPSID,WPS PC客户端就是我们云文档的一种能力的延伸。接入了其他业务系统,那业务系统需要在使用WPS时标识下用户,那就定义呗。

在WPS中对用户进行校验的场景,包括WPS内部浏览器打开业务系统页面需要用户身份,包括调用业务方接口的时候要用到的Token(用户身份/应用身份)校验。这两种场景都可以通过业务系统将需要校验的信息以参数的形式传递给WPS,WPS利用业务方定义的加载项来接收这些参数并加载项并通过wps.PluginStorage.setItem存在WPS中。需要校验时使用wps.PluginStorage.getItem获取后利用。

d7611d6515015423908af2478cea9903.png

问题2:WPS客户端编辑文件时可以协同么?

答:不能。

有开发者伙伴提出了业务厂商最常见的业务场景:

比如说OA中有这样一种最简单场景,流程审批的时,会有文档上传的情况,串行节点,由上之下,比如有4个节点,节点1负责文档初稿与上传,节点2负责补充且有编辑权限,节点3负责审批,节点4是结束节点。那么节点2在编辑并保存后,并未关闭WPS客户端,而是把页面关闭了,随之节点3审批通过,此时节点2再次修改文档即不合理。此时与服务器的交互,肯定是不允许的。还有更加复杂的公文、合同、采购等场景,每一步都需要严格空格文档回传与权限。

场景很典型,但是从实现原理上讲,这是业务系统需要对打开文档的行为做锁,因为只要是通过客户端打开文档,就是将文档流拉到本地生成了一个副本进行编辑,这种相互协同、流程控制,想做到流程和文件流的强关联,就是业务系统自己做访问锁。可供参考的设计思路如下:

  1. A访问了文档,具有编辑权限,则后台服务做给A做独占编辑权,对于这个文档的URL做访问锁;
  2. B访问文档,具有查看权限,则允许B做只读/保护模式打开即可,反正B也没有保存权限;
  3. C访问文档,具有编辑权限,此时A独占,则C打开时进行提示,告知A正在编辑,要不只读打开,要不发送通知给A要求独占编辑,要不退出,等待A编辑完;
  4. A完成编辑回传了文档,从申请编辑队列中找到最先申请的,发消息过去告知可以独占编辑了,随之将自己对这个文档的独占编辑锁解除;
  5. A异常退出,此时锁无法及时释放,则两个处理手段:①设置锁的有效期(可做双重判断,a. A对文档是否还有操作行为,这个通过WPS的接口Saved判断下文档变化即可;b. a如果超过了30【这时间后台可设置】分钟对文档无变化,自动解锁),锁失效后执行4;②业务系统后台通过管理页面,允许业务管理员手动解锁,解锁后,执行4。

73a5e4871828978edea666ca2d585dc9.png

说到底,之上的所有的行为都不应该叫「在线编辑」,在线的概念首先是打开这个文件的行为不再本地而在服务端,其次一定是支持多人协同的,这样在线才有意义,那支持真正的「在线编辑」的金山办公的产品利器是什么呢——金山文档,一个去对标Google Docs的在线办公套件,且支持私有化部署。

没听说过的同学可以通过我这篇稿子的底稿链接感受下啥叫真正的在线编辑,

金山文档 - 多人实时协作的在线Office​kdocs.cn
20ea071fa5934b0aab5477b6bc612f60.png

我们在知乎的WPS官方账号也发过文章说明金山文档。

WPS Office:金山文档该怎么用?​zhuanlan.zhihu.com
0266a9d6de2e40f27ff974a585a99b67.png

其实做在线办公套件,Google Docs算是定义者,但是我们真正感受过的可能是少数,国内也有不少金山文档的竞品,那金山文档最大优势是什么呢?其实就是一家32年公司的积淀——对Office文档格式的兼容。Office文档打打开和保存模式和WPS PC客户端无差别,这样就能保证即使是通过在线的金山文档编辑,文档内容格式可以保持统一。这里面最强的体现就是对表格中公式的兼容,本地客户端支持的公式,金山文档都支持。而且不依赖本地客户端,完全在浏览器中进行预览和编辑,以及协同。这才叫真正的「在线编辑」。那这个利器都怎么做集成呢,一共四种方式,大家可以按需选择:

  1. 对接公网金山文档:同时对接金山文档的用户身份、在线预览、编辑能力,但要求文档数据托管到金山文档中(多租户管理模式);
  2. 对接公网WebOffice:用户身份和文档存储自己管,只对接在线预览、编辑能力,但要求环境可访问公网;
  3. 对接私有化云文档+WebOffice:私有化环境下对接用户身份、文档存储和在线预览、编辑能力,要求有较强的云产品运维能力;
  4. 对接私有化在线预览能力:私有化环境对接文档在线预览能力,无用户概念,提供文档预览和格式转换能力。

这四种对接方式的资料都可以通过WPS开放平台获取。

WPS 开放平台​open.wps.cn

我们的开源仓库README也做了资源索引。

README.md · master · zouyingfeng0104​code.aliyun.com

这次大家真正懂了什么叫「在线编辑」了吧,之后可别再弄错了哟。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值