开发文档Umo Editor Next多人协作编辑

多人协作编辑

多人协作编辑功能允许多个用户同时编辑同一个文档,并且文档内容是实时传输到服务器端的,可以在服务器端直接入库,无需再由客户端发起保存请求。

多人协作编辑需要服务器端软件Umo Editor Server的支持,当然您也可以自定义服务商。

效果截图

多人协作编辑

特点及优势

  • 支持私有化部署,您可以私有化部署或者自定义服务商,实现数据的安全性和可控性;
  • 实时离线和在线协作,支持实时离线和在线协作,当用户离线后再次连接时,仍然可以同步文档更改的内容;
  • 通过 WebSocket 与服务器进行实时通信,实现文档内容的实时同步;
  • 可通过 Webhook 与其他应用进行通信,实现文档内容及评论等信息的同步;
  • 支持文档评论协作,用户可以对文档进行评论,评论内容也会实时同步到服务器端;
  • Umo Editor Server 可支持 100000+ 用户同时在线编辑,实现高效的多人协作,支持集群部署。

默认配置

const defaultOptions = {
  // 多人协作编辑相关配置
  collaboration: {
    enabled: false,
    provider: {},
  },
}

不支持的配置

当开启了在线协作功能时,不支持以下配置:

const defaultOptions = {
  document: {
    content:'',
    autoSave: {
      // ...
    },
  },
  onSave(){
    // ...
  }
}

因为在多人协作的场景中,文档内容是实时传输到服务器端的,可以在服务器端直接入库,无需再由客户端发起保存请求。

配置说明

collaboration

多人协作编辑的相关配置,其实现思路和原理可以参考:https://tiptap.dev/docs/hocuspocus

  • collaboration.enabled

说明:是否启用在线协作。

类型:Boolean

  • collaboration.provider

说明:在线协作服务商配置。Umo Editor Next 默认提供了基于 Express 一个 Nodejs 的服务器端(见:Umo Editor Next),包含了 Hocuspocus Server,该选项支持 Hocuspocus Server 的所有配置。

类型:Object

配置url 配置为 Umo Editor Server 服务商地址,如 ws://127.0.0.1:1235/provider,当然您也可以配置为其他服务商。其他选项同 Hocuspocus Server 的配置,见 https://tiptap.dev/docs/hocuspocus/provider/configuration

方法列表

方法的使用示例请参考:方法列表

getCollaboration

说明:获取在线协作相关信息。

参数:无

返回值:Object 或 undefined,Object 包含以下信息: