Skip to content
This repository has been archived by the owner on Sep 9, 2024. It is now read-only.

Concurrency Control !? #1074

Open
AnimeshRy opened this issue Jan 20, 2024 · 3 comments
Open

Concurrency Control !? #1074

AnimeshRy opened this issue Jan 20, 2024 · 3 comments
Labels
enhancement New feature or request

Comments

@AnimeshRy
Copy link

As this was the persisting issue with Decap CMS. I'm assuming this has not been fixed yet as well. The problem being that currently when two or people edit the same document, it will overwrite information and disregard the first "person's" changes.

I'm planning to build a tool for my company that somehow prohibits the user when multiple people are editing the document. The key requirements I have are -

  1. Somehow track the changes in the current file and show them to other users.
  2. If one of the change are merged, we somehow rebase all of the changes.

I'm thinking of using Web RTC of the authenticated Oauth User, since static / decap does not have a server, I'm finding it a little overwhelming to figure out a way to start with this.

I would like to contribute this feature to static if it makes sense with everyone else. If maintaners have a idea about how I can think about building this or improving this. Please guide me and help me out in understanding how should I start with understanding the codebase.

@blahetal
Copy link
Contributor

Hi, that would be something like Google docs or Miro where multiple users can edit a file and others see their changes immediately. imo easier would be to check if a file has been modified (someone made and published changed earlier than you) and reject your publish unless you merge your changes.

@AnimeshRy
Copy link
Author

Hey @blahetal

Yes that should be relatively easier. But to add support for live editing or people editing document "concurrently" I would need to somhow ping all connected users while fetching latest branch info every second or so.

As you seem to have worked on the codebase already, can you point me where to start from.

@blahetal
Copy link
Contributor

Hey @blahetal

Yes that should be relatively easier. But to add support for live editing or people editing document "concurrently" I would need to somhow ping all connected users while fetching latest branch info every second or so.

As you seem to have worked on the codebase already, can you point me where to start from.

not really, just minor tweaks here and there.
better to ask devs here on discord

@KaneFreeman KaneFreeman added the enhancement New feature or request label Apr 26, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants