Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Repository does not need to keep a history (of commands) #293

Closed
enikao opened this issue Aug 2, 2024 · 1 comment
Closed

Repository does not need to keep a history (of commands) #293

enikao opened this issue Aug 2, 2024 · 1 comment
Labels

Comments

@enikao
Copy link
Contributor

enikao commented Aug 2, 2024

Is a compatible repository required to keep a history of all commands clients sent?
This can be helpful (probably even necessary) for live collaboration.

The difference to #294 is in what we mean with "history": Here, we talk about all changes that happened to the model.
In principle, we could recreate the current state of the model by executing all these changes in order, from the very beginning. There is only one linear set of applied commands, even though they might cancel each other out, e.g. if we first created a node, and deleted it again later.

Option A: Repo must keep a history of commands

Pro:

  • Reliable source for live collaboration

Con:

  • Might need a lot of storage
  • Would only make sense if we had an API to access previous states in that history

Option B: Repo can chose to keep a history of commands, but doesn't need to

Pro:

Con:

Option C: Repo should not keep a history of commands

Pro:

  • Clients can make some assumption that deleted data is actually gone (might be relevant e.g. for GDPR)

Con:

  • Probably prohibits live collaboration
  • No way to enforce it anyways

Decision: Option B

Option A might be too resource hungry, option C cannot be enforced. B is a good compromise.
We accept the increased variability.

@enikao enikao added the delta label Aug 2, 2024
@enikao enikao changed the title Repository does not need to keep a history Repository does not need to keep a history of commands Aug 2, 2024
@enikao
Copy link
Contributor Author

enikao commented Aug 2, 2024

Do we distinguish between commands that can never be correct or only the current state?
Example: change a property of a node
a) that node never existed
b) that node has been deleted

==> No, cannot without keeping a history

@enikao enikao changed the title Repository does not need to keep a history of commands Repository does not need to keep a history (of commands) Aug 2, 2024
@enikao enikao closed this as completed Aug 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant