Dokki Docs logo

实时编辑

Dokki 中的表格是由 Y.js 和 Hocuspocus 协作服务器支持的可协作资源。当其他人处于同一表格中时,人们可以编辑行、列、单元格和视图设置。

实时编辑的体验

  • 单元格、行和列的更改通过协作表格文档同步。

  • 表格编辑没有手动保存按钮。

  • 连接的协作者在更新到达协作服务器后即可看到表格更改。

  • 刷新表格会重新加载持久化的协作状态。

在线状态与选择

Dokki 会跟踪表格的协作者在线状态。表格界面可以显示活跃的协作者和选择状态,以便队友看到其他人正在同一表格中工作。

在线状态基于会话:当协作者连接时出现,在标签页或连接关闭后消失。

冲突行为

Y.js 处理并发结构更新而无需锁定表格。实际结果很直接:

  • 如果两个人编辑同一个单元格,最终单元格值反映已解决的协作更新顺序;

  • 如果某行或列在其他人编辑时被删除,删除操作会移除该目标;

  • 如果列类型或选项列表发生变化,后续编辑和公开表单提交将根据当前列定义进行验证;

  • Copilot 和批量操作可以在一次操作中更新多个单元格,这些更新通过同一表格文档同步。

持久化

协作服务器将表格状态持久化到 Dokki 的表格存储中。公开表单、Copilot 工具和服务器端表格变更使用相同的表格文档路径,因此追加的行和生成的编辑会进入实时协作表格,而不是单独的副本。

对于可编辑资源,浏览器会为已登录用户保留本地副本,
以便未发送的编辑在刷新后仍然存在。该副本按账户隔离,并在该账户
注销时清除。只读资源不会保存可编辑的本地副本。

如果实时连接不可用,Dokki 可以使用备用连接
下载最新保存的状态并发送允许的本地编辑。查看者或
角色被降级的人可以接收更新,但不能上传缓存的编辑。在长时间关闭设备之前,
请等待表格重新连接,并确认最新更改出现在另一个刷新后的会话中。

规模指南

Dokki 表格专为人类规模的协作工作而设计:项目跟踪器、内容日历、CRM 风格列表、研究日志、接收队列和轻量级运营表格。非常大的分析数据集应保留在数据仓库或电子表格/数据库系统中,并将摘要或工作子集带入 Dokki。

实时编辑 | Dokki Docs