-
-
Notifications
You must be signed in to change notification settings - Fork 579
Build the document journal (history chain) #123
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
Comments
We could consider adding unique hashes to each operation/unoperation combination to be able to uniquely some history event |
So every operation must be defined in two ways: its forward and inverse direction? An inverse operation would be like a regular operation but its action makes changes to the graph which undoes its previous (forward) operation?
I assume you mean the history chain (perhaps we should call it the Ledger). Why do we need the concept of an "inverse operation" when we could instead just roll back to the previous state of the world one ledger entry ago?
Is an index in the ledger (starting at 0 from the first event) not sufficient? I don't think there would ever be references to future points in history, so if you undo enough to invalidate a reference to another point in history (using an index number), that reference shouldn't exist anymore and it wouldn't be a problem. The only problem I see with using indices is that we might someday implement a history collapse feature which would consolidate the journal history by removing redundant events (like those which were later deleted but didn't have an effect on later points in history). |
Generate inverse operation for a given operation and store both in the document.This will be used to implement the history feature
Store a chain of history events and add the ability to navigate in it.
Should be done after: #134
Complexity: 5
Involves: Document (Rust)
The text was updated successfully, but these errors were encountered: