Asynchronous collaboration #
Introduction #
When co-editing, if the collaborator has not finished editing the LaTeX commands, the other collaborators cannot compile them properly, and can only do so after the collaborator has finished debugging the LaTeX code. This greatly affects the efficiency of collaboration.
Wouldn’t this problem be solved if you let users control the synchronization of collaboration data on their own? This poses a problem: How to ensure that edit conflicts are handled correctly when different collaborators synchronize data at different points in time for the same document? Thanks to the co-editing algorithm CRDT adopted by TeXPage, it is possible to solve this problem.
We call the product feature that lets users autonomously control the timing of data synchronization in online collaboration “asynchronous collaboration”.
How to use #
If a project has a collaborator, a switch to “auto-commit/manual-commit” will appear on the right side of the project name.
- In auto-commit mode, collaborators will get the latest document content in real time, which is equivalent to real-time collaboration.
- In manual commit mode, collaborators will get the latest document content only after they click the Commit button. If you haven’t finished debugging your LaTeX code, you can leave it uncommitted and commit it when the debugging is complete, so that it doesn’t affect other collaborators’ compilation, which is called asynchronous collaboration.
Features of asynchronous collaboration #
- If the project has no collaborators, the default is real-time collaboration, and you can use asynchronous collaboration only if the project has collaborators.
- The latest documentation from the current user is automatically loaded at compile time, regardless of whether a commit is clicked or not.
- When a project has data that needs to be committed, a small red dot will be displayed on the commit button.
- Uploads or updates of non-text files are still committed in real time.
- When switching from manual-commit to auto-commit, if there is any uncommitted collaboration data, you need to commit the collaboration data first before switching.
- When the review mode is turned on, only after the collaborative data is committed, the review records associated with it will take effect.
- Only after the collaborative data is committed, the latest document will be downloaded/copied, and the same for new versions.
- Document edit history is generated only after collaborative data is committed.
Cautions #
Asynchronous collaboration is mainly used to solve the problem of debugging LaTeX code that affects the compilation of other collaborators, so try not to leave the data uncommitted for a long time.