[]
        
首页
开发者学堂
文档
论坛
市场
生态机会
活动
立即试用
(Showing Draft Content)

协同编辑

SpreadJS 协同编辑支持多名用户同时编辑同一份工作簿,所有修改实时同步,并保证数据一致性。本章节文档分为四类:教程(Tutorial)、指南(How-to)、解释(Explanation)、参考(Reference),左侧导航可看到清晰的类型边界。

快速开始(教程)

功能配置指南(How-to)

以上快速开始示例可独立运行。以下指南基于各自的实际需求,按需选用,相互独立。

  • 数据库适配器 — 将协同数据持久化到数据库,支持内建的 SQLite3、PostgreSQL 以及自定义适配器。

  • 用户活动状态 — 在协同过程中实时显示其他用户的光标、选区与在线状态。

  • 用户权限 — 区分编辑权限与只读权限,控制不同用户的操作范围。

  • 独立部署协同客户端和服务器 — 将前端与协同服务端分别部署,适用于前后端分离的工程结构。

  • 扩展包安装与绑定 — 安装 spread-sheets-collaboration 扩展包,注册 OT 类型并完成工作簿与文档的绑定。

协同原理与机制(Explanation)

理解协同系统的运作机制、组件分工与冲突处理方式,便于排查异常与做架构决策。

  • 协同原理速览 — 简要介绍协同编辑的整体架构、操作流转过程与冲突处理机制。

  • 协同框架架构 — SpreadJS 产品层协同封装的组件架构、工作机制与功能概览。

  • 协同模式 — 不同 SpreadJS 模型如何接入协同。下分两种模式:

  • 冲突处理行为 — 多人编辑时冲突操作(插入/删除行列、隐藏、排序等)的内置处理行为。

  • 协同撤销机制 — 协同场景下的撤销行为、OT 转换后的撤销结果、四个协同撤销事件。

  • 底层协同框架 — 通信(js-collaboration)、OT(js-collaboration-ot)与状态(js-collaboration-presence)三个模块的完整 API。仅在自定义通信协议或在非 SpreadJS 场景中复用底层框架时需要直接使用。

开发参考(Reference)

查阅编写协同代码时的行为规则与接口定义。

附录