异步协同 #
功能介绍 #
在协同编辑时,如果协作者没有编辑完 LaTeX 命令,其他协作者就无法正常编译,只能等待协作者调试完 LaTeX 代码后,其他协作者才可以正常编译。这非常影响协作效率。
如果让用户自主控制协作数据的同步,是不是就可以解决这个问题呢?这就会面临一个难题:同一份文档,不同协作者在不同时间点同步数据,怎么保证正确处理编辑冲突呢?受益于 TeXPage 采用的协同编辑算法 CRDT,让解决这个难题成为可能。
我们将在线协作场景下让用户自主控制数据同步时机的产品特性称之为 “异步协同”。
如何进行异步协同 #
如果一个项目有了协作者,在项目名称右侧会自动出现 “自动提交/手动提交” 的切换入口。
- 自动提交模式下,协作者会实时看到最新的文档内容,等同于实时协作。
- 手动提交模式下,只有协作者点击提交按钮后,协作者才会看到最新的文档内容。如果还没有调试完 LaTeX 代码,就可以先不提交,等代码调试完成后再提交,这样就不会影响其他协作者编译,这就是异步协同了。
异步协同有哪些特性 #
- 如果项目没有协作者,默认就是实时协同,只有项目有协作者时才能使用异步协同功能。
- 无论是否点击提交,在编译时都会自动加载当前用户的最新文档内容。
- 当项目中有需要提交的数据时,在提交按钮上会提示小红点。
- 非文本类文件的上传或更新,仍然是实时提交。
- 由手动提交切换为自动提交时,如有未提交的协作数据,需要先提交协作数据后再切换。
- 开启审阅模式时,只有协作数据提交后,与之相关的审阅记录才会生效。
- 只有协作数据提交后,才会下载/复制到最新的文档,新建版本同理。
- 只有协作数据提交后,才会生成文档编辑历史。
注意事项 #
异步协同主要用来解决调试 LaTeX 代码时影响其他协作者编译的问题,尽量不要长时间不提交数据。