-
Notifications
You must be signed in to change notification settings - Fork 475
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
add lock id to node for collaboration in documents #1558
base: master
Are you sure you want to change the base?
Conversation
Interesting, I would rather use an external file for lock/unlock though and not the document file itself, this way would work for all the 4 document types... |
Oh you talk about nodes sorry I thought the whole document |
Yes the idea is that all team members can work in the same document. We often need this for software design or requirement engineering. |
Have you tested the same SQLite database opened from multiple terminals/people and written concurrently from multiple terminals/people? |
I tested it on an nfs drive with all machines running Ubuntu and it worked quite well. When a process was writing to the database, another process returned that the database is locked. |
(sorry to chime in like this. new to GitHub in the context of collaboration. probably a faux pas) I just wanted to say it's impressive the power / potential energy in CherryTree, and this proposal is a great idea! |
It is in the plans in future to support some kind of collaborative edit on the new document type multifile |
Would like to add another vote to this request. In particular, I strongly support watching the disk on file for changes. I do not collaborate with other uses but I do keep my Cherrytree file on a Nextcloud drive, and open the same file on multiple computers. If I a make a change to a note on computer A, I have to manually reopen the file on computer B before the changes are seen. |
This is a proposal for a locking mechanism for nodes to allow collaboration in a network document.
I use 32 bit of the readonly property in the sqlite database for a lock id, which tells us who locked the node. The id is created on the first startup of cherrytree and stored in the config.
You can acquire/release the lock of a node in the tree popup menu. If another user holds a lock on a node or a parent node it's like a readonly node for user users.
TODO: