onlyoffice工作原理

1. 基本概念

1.1 客户端

  • Document manager 文档管理器,比如网盘
  • Document editor 文档编辑器,文档编辑的页面,包含了所有用户编辑文档的特性,如一个iframe页面,主要用于用户与文档编辑服务交互

1.2 服务器端

  • Document storage service 文档存储服务,主要用于文档的存储 和 给Document manager(文档管理器)提供文档id、和文档url
  • Document editing service 文档编辑服务,用于完成文档的预览和编辑,给 Document editor (文档编辑器)提供接口(都是nodejs的接口)
  • Document command service 文档命令服务,可以用Document editing service(文档编辑服务)完成额外的命令(具体是什么命令?)
  • Document conversion service 文档转换服务,用于将文档转换成合适的 Office Open XML (OOXML, OpenXML)格式,docx,xlsx,pptx

1.3 Documentserver包含的服务

  • document editor
  • document editing service
  • document command service
  • document conversion service

2. 打开文件流程

    1. 用户在浏览器中使用document manager打开文档,用于预览或者编辑
    1. 通过javascrpit api将document storage service 中的docId(文档id)和docUrl(文档url) 发送给 document editor
    1. document editor用docId和docUrl生成一个打开文件的请求,发送给document editing service
    1. document editing service从document storage service下载文档,同时将文档转换成OOXML格式,用于document editor更好的展现文档
    1. document editing service将文档发送给基于浏览器的document editor
    1. document editor 展现文档用于预览或编辑

3. 保存文档流程

    1. 用户在document editor中对文档进行编辑
    1. document editor 将文档的变更发送给document editing service
    1. 用户关闭 document editor
    1. document editing service监视文档的工作结束,并将从document editor 发送的变更收集到一个文件中
    1. document editing service调用callbackUrl 来通知 document storage service文档已编辑完成,并且访问编辑后的文档的url
    1. document storage service从document editing service下载最新的文档并存储

4.协同编辑

    1. 用户1和用户2 在document editor中打开同一个文档
    1. 用户1修改文档
    1. document editor将用户1的修改发送给document editing service
    1. document editing service将用户1的修改发送给用户2
    1. 用户2现在可以看到用户1的修改了

5.转化和下载文件

    1. 用户上传一个本地文件到 document manager
    1. document manager 上传文件到 document storage service
    1. document storage service 将文件发送给 document conversion service 利用 conversion API 将文件转换成OOXML
    1. document conversion service将文件转成OOXML格式
    1. document storage service 下载转换之后的文件
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,390评论 19 139
  • https://api.onlyoffice.com/editors/history 上面的页面介绍如何进行历史版...
    工程设计阅读 9,522评论 0 1
  • 知道我喜欢你什么吗? 很简单,很直接,很坦诚。 尊重我,心里有我。 就这么简单
    么么兜阅读 1,157评论 0 0
  • 01 再现婚闹伴娘被袭胸 6月8日,一条婚闹伴娘被袭胸的视频在互联网上传播开来。视频中,车内两男子分坐伴娘两旁,对...
    一木南阅读 3,382评论 0 0