在数字化转型的背景下,现代企业的诸多业务系统(合同管理系统,OA,邮件,客户管理系统等)已经可以用浏览器直接使用,但是word,excel,ppt等Office文档在业务系统中还经常以*.docx,*.xlsx,*.pptx的附件的形式存在,用户依然需要先下载到本地,然后用Office打开编辑,完成后再上传回去。那么如何实现对业务系统中Office文档的多人在线编辑,实现业务系统的体验闭环和应用创新?答案是和zOffice在线文档系统集成。
zOffice提供云端Office能力,包括word、excel、ppt三类办公文档的在线协同编辑,通过专业级的文档能力,高效的协作体验,内容级的安全管控,丰富的集成开发接口,来赋能企业的业务系统,帮助业务系统实现文档在线预览和编辑,文档操作过程全部线上进行,完成在线办公的场景闭环。
zOffice链接:https://www.filez.com/zoffice
集成介绍文档: https://lenovocloud.zbox.filez.com/l/a0OsO0
zOffice最大化简化集成复杂度,把多人在线编辑的需求抽象成“人”、“物”、“权”三要素:
以上三要素的管理和提供方都是业务系统,zOffice系统和业务系统通过约定好的前后端接口来获取三要素的信息。
zOffice和业务系统通过约定好的服务端对服务端接口获取三要素信息。适用于业务系统服务端代码可以修改,前端代码不需要改动太多的场景。
Get http://172.16.52.223/v2/context/profiles (其中172.16.52.223假定为业务系统的服务端地址)返回
{
"id": "301",
"display_name": "docstest02",
"email": "[email protected]",
"photo_url": "/testOrg/people/301.png",
"name": "docstest02",
"job_title": ""
"org_name": "",
"org_id": "",
}
Get http://172.16.52.223/v2/context/123/meta 返回
{
"id": "123" //必须有,
"name": "/study/Nodejs/Demo/mytest.xlsx", //必须包含文件的扩展名
"modified_at": "2020-03-25T02:57:38.000Z",//必须有
"created_by": { //必须有
"id": "301", //必须有
"email": "[email protected]", // 可选
"name": "docstest02" // 可选
},
"permissions": { //必须有
"write": "true", //必须有,控制文档是否可以被编辑
"read": "true", //必须有
“download”: false, //可选。
“print”: true //可选。
},
"size": 9897, //必须有
}
业务系统服务端实现上述3个rest接口并且和zOffice服务端配置连通后,用户在浏览器里点击 https://oa.demo.com/docs/app/thirdparty-rest/123/edit/content 即打开zOffice在线编辑id为“123”的文档。
zOffice系统需要的“人”“物”“权”的相关信息都从业务系统前端用url参数的形式传递给zOffice服务器。适用于业务系统的服务端代码不方便修改,前端js代码可以修改,并且业务系统已经具备了从前端上传下载文档,获取用户信息,获取权限信息等功能。
例如,用户在浏览器点击文档123时,业务系统的前端js直接构造如下的地址并用window.open或iframe src的形式打开zOffice在线编辑:
https://oa.demo.com/docs/app/driver-callback? action=edit&repoId=thirdparty&docId=123 &userinfo=xxxxxx&meta=yyyyyy&downloadUrl=zzzzzz&uploadUrl=zzzzzz
综上,业务系统的开发者可以根据情况选择“后端集成”或“前端集成”的方式集成zOffice,简单快捷的实现多人在线编辑功能。