Method and system for enabling collaborative authoring of hierarchical documents with locking
First Claim
1. A method in a distributed computer system for enabling authors to work on a shared hierarchical document, the hierarchical document having a node, comprising:
- receiving an indication of the node;
receiving an indication to lock the node, the indication identifying an owner of the lock and specifying either a complete deep lock, a contiguous deep lock, or a non-contiguous deep lock as a lock structure;
if the indication specifies a complete deep lock as the lock structure, then;
only locking the node and descendents of the node when the node and the descendants of the node are lockable;
if the indication specifies a contiguous deep lock as the lock structure, then;
locking lockable contiguous descendants of the node;
if the indication specifies a non-contiguous deep lock as the lock structure,locking descendants of the node even when an ancestor of the descendants cannot be locked, wherein an ancestor of the descendants is locked according to a lock structure other than the non-contiguous deep lock;
receiving an indication of a request to mutate the node;
determining whether the request is from a user other than the owner of the lock;
when the user is the owner of the lock, mutating the node; and
when the user is not the owner of the lock, denying the request.
3 Assignments
0 Petitions
Accused Products
Abstract
A method in a computer system is disclosed for enabling authors to work on hierarchical documents. The method comprises retrieving a hierarchical document from a server computing device, modifying the retrieved hierarchical document, sending an indication of the modification to the server computing device, and when the modification cannot be applied on the server computing device, reverting the modified hierarchical document to a current form of the hierarchical document on the server computing device. A system is disclosed for receiving an indication to lock a node, the indication identifying an owner of the lock, receiving an indication of a request to mutate the node, determining whether the request is from a user other than the owner of the lock, and when the user is not the owner of the lock, denying the request.
-
Citations
39 Claims
-
1. A method in a distributed computer system for enabling authors to work on a shared hierarchical document, the hierarchical document having a node, comprising:
-
receiving an indication of the node; receiving an indication to lock the node, the indication identifying an owner of the lock and specifying either a complete deep lock, a contiguous deep lock, or a non-contiguous deep lock as a lock structure; if the indication specifies a complete deep lock as the lock structure, then; only locking the node and descendents of the node when the node and the descendants of the node are lockable; if the indication specifies a contiguous deep lock as the lock structure, then; locking lockable contiguous descendants of the node; if the indication specifies a non-contiguous deep lock as the lock structure, locking descendants of the node even when an ancestor of the descendants cannot be locked, wherein an ancestor of the descendants is locked according to a lock structure other than the non-contiguous deep lock; receiving an indication of a request to mutate the node; determining whether the request is from a user other than the owner of the lock; when the user is the owner of the lock, mutating the node; and when the user is not the owner of the lock, denying the request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system for locking nodes of a shared hierarchical document, the hierarchical document having multiple nodes, comprising:
-
a processor and; a memory coupled to the processor, the memory storing components implemented by software, the components comprising; a component that places a lock on a first node and a second node; a component that adds an indication of the locked first node to a lock bag, wherein the lock bag includes indications of multiple nodes, including the locked first node and an unlocked third node, but does not include an indication of the locked second node; a component that removes the indication of the locked first node from the lock bag, wherein the indication of the locked first node is removed from the lock bag while the first node remains locked; and a component that applies a lock characteristic to the lock bag, wherein the lock characteristic is applied to all nodes indicated as belonging to the lock bag. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A computer-readable medium storing a data structure, the data structure comprising:
-
a hierarchical document, the hierarchical document having at least two nodes; an indication that a first node is locked an indication that a second node is unlocked; and an indication of an owner of a lock, wherein a descendant of the first node is indicated to have a different lock owner, the first node belonging to a lock bag and the descendant node not belonging to the lock bag, wherein the lock bag includes the first and second nodes, and wherein the lock bag enables a characteristic to be applied to all locked nodes belonging to the lock bag. - View Dependent Claims (36, 37, 38, 39)
-
Specification