1

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?

2
  • Not an answer but comment for extra inspiration. Miro is a whiteboarding/workshop tool that completely revolves around the principle of multiple users working on a single file/canvas, both synchronous and asynchronous It has a lot of small tools surrounding the canvas to assist collaboration. THinking whether this method would be helpfull for you.
    – GWv
    Commented Sep 5 at 12:54
  • What specifically is the USER EXPERIENCE aspect of this that you're looking for help with? It reads more like you're looking for technical advice on how to implement this workflow, rather than UX advice on how users interact with it.
    – JonW
    Commented Sep 5 at 15:40

1 Answer 1

0

Version Control Systems (VCS) are to my knowledge state-of-the-art to synchronize arbitrary edits to a common data corpus (repository; you named it dictionary). They vary in the support of certain workflows. While git is the most versatile nowadays and supports working with repositories locally and remote/online as well as collaboratively between a distributed bunch of people by sharing "pull requests" and so on.

Other systems not in wide use anymore are mercurial, subversion and their ancestors like CVS. See VCS on Wikipedia. Their workflows are considerable "simpler" but also less versatile in terms of distributed systems (there is one master repository only accessible online).

What you describe sounds more like a use case for a simpler approach. I do not know any software for that, except a Wiki maybe. You could gather more information when checking out dictionaries like dict.cc or leo.org. Maybe they have behind-the-scenes informations.

The general terms to look for could be: collaborative edit conflict resolution protocols and workflows.

Technically they can be implemented in various ways be it WebSockets or something else. The layer you need to look for is higher up than that.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.