What are the best practices or what is the "state of the art" of having multiple users edit data in an admin panel UI? I am working on a dictionary app where you can in theory create a language, add dictionary entries, and definitions for each entry, remove entries/definitions, edit them, etc., and possibly multiple users can edit them and you don't want to overwrite things accidentally / etc..
The closest examples I can think of are:
- Figma's UI (allows multiple users to edit the same mockups at the same time).
- Google Docs' UI
- Wikipedia
- GitHub
GitHub/Git/Wikipedia I think are too complex/slow of workflows. What are the modern ways of solving this problem? Is it a solved problem for the most part, or is it still really complex to figure out on a case-by-case basis?
I would like to have it so people can edit the Sanskrit language, and someone tries to delete a term, it gets marked for deletion, 5 other people edit that marked-for-deletion term, and somehow we can resolve all this concurrency nicely. Where can I find notes or best practices on all the edge cases? What does Figma do to handle this? What about other more data-oriented apps (like editing database records basically)? I can't think of any that do this.
But for purposes of this post, (a) is it a solved problem, and (b) what are the high level principles and techniques/technologies (like doing things real-time with WebSockets?) which can make this possible?