Methods and systems for enabling collaborative authoring of hierarchical documents
First Claim
Patent Images
1. A method, in a client computing device having a memory, for enabling authors to work on a hierarchical document, comprising:
- retrieving a local copy of the hierarchical document from a server computing device;
loading at least a portion of the local copy of the hierarchical document into the memory of the client computing device;
receiving an indication of a requested mutation to the in-memory portion of the local copy of the hierarchical document from a user;
sending a message to the server computing device containing the requested mutation, the message represented in XML, wherein the in-memory portion of the local copy of the hierarchical document remains available for editing by the user;
when the requested mutation is successfully applied by the server computing device to the hierarchical document, receiving a message from the server computing device acknowledging a successful mutation to the hierarchical document, the message is represented in XML; and
when the requested mutation is not successfully applied by the server computing device to the hierarchical document, receiving a message from the server computing device containing an indication to revert the local copy of the hierarchical document to a current form of the hierarchical document on the server computing device, the message represented XML, wherein the hierarchical document comprises a DDOM for providing a real-time view of document state.
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.
-
Citations
58 Claims
-
1. A method, in a client computing device having a memory, for enabling authors to work on a hierarchical document, comprising:
-
retrieving a local copy of the hierarchical document from a server computing device; loading at least a portion of the local copy of the hierarchical document into the memory of the client computing device; receiving an indication of a requested mutation to the in-memory portion of the local copy of the hierarchical document from a user; sending a message to the server computing device containing the requested mutation, the message represented in XML, wherein the in-memory portion of the local copy of the hierarchical document remains available for editing by the user; when the requested mutation is successfully applied by the server computing device to the hierarchical document, receiving a message from the server computing device acknowledging a successful mutation to the hierarchical document, the message is represented in XML; and when the requested mutation is not successfully applied by the server computing device to the hierarchical document, receiving a message from the server computing device containing an indication to revert the local copy of the hierarchical document to a current form of the hierarchical document on the server computing device, the message represented XML, wherein the hierarchical document comprises a DDOM for providing a real-time view of document state. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system, in a client computing device having a memory, for enabling authors to work on a hierarchical document, comprising:
-
a component that retrieves from a server computing device the hierarchical document and makes a local copy of the retrieved hierarchical document; a component that loads at least a portion of the local copy of the hierarchical document into the memory of the client computing device; a component that receives from a user an indication of a requested mutation to the in-memory portion of the local copy of the hierarchical document; a component that sends to the server computing device a message containing the requested mutation, the message represented in XML, wherein the in-memory portion of the local copy of the hierarchical document remains available for editing by the user; and a component that receives from the server computing device a message indicating whether the requested mutation was successfully applied to the hierarchical document, the message represented in XML, wherein the hierarchical document comprises a DDOM for providing a real-time view of document state and, when the requested mutation was not successfully applied, the message received from the server contains information corresponding to a current form of the hierarchical document sufficient to mutate the local copy of the hierarchical document to reflect the current form of the hierarchical document on the server computing device. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A method in a server computing device for enabling authors to work on a hierarchical document, comprising:
-
for each author, providing to a client computing device having a memory a copy of the hierarchical document, wherein at least a portion of the client copy of the hierarchical document is loaded into the memory of the client computing device, the hierarchical document comprising a DDOM for providing a real-time view of document state; receiving from the client computing device an indication of a mutation request corresponding to a mutation made to the in-memory portion of the client copy of the hierarchical document, wherein the in-memory portion of the client copy of the hierarchical document remains available for editing by the author; attempting to apply the received mutation request to the hierarchical document; when the mutation cannot be applied to the hierarchical document, sending to the client computing device a message containing an indication to revert the client copy of the hierarchical document to a current form of the hierarchical document; and when the mutation can be applied to the hierarchical document, sending to the client computing device a message containing an indication of an applied mutation, wherein the messages are represented in XML. - View Dependent Claims (25, 26, 27)
-
-
28. A method in a distributed computer system for sharing a hierarchical document, comprising:
-
receiving at a server computer system a hierarchical document from a document source client computer system, the hierarchical document comprising a DDOM for providing a real-time view of document state; distributing to a client computer system other than the document source client computer system a copy of the hierarchical document, wherein the client computer system has a memory and at least a portion of the copy of the hierarchical document is loaded into the memory; receiving from a client computer system a mutation request to be applied to the hierarchical document, wherein the mutation request corresponds to a mutation made to the in-memory portion of the client copy of the hierarchical document, and further wherein the in-memory portion of the client copy of the hierarchical document remains available for editing on the document source client computer system; sending to the client computer system from which the request was received a response message containing an answer; and sending to a connected client computer system other than the client computer system from which the mutation request was received a broadcast message, wherein the messages are represented in XML. - View Dependent Claims (29, 30, 31, 32, 33, 34)
-
-
35. A method, performed by a computing device having a memory, for enabling authors to work on a hierarchical document, comprising:
-
retrieving the hierarchical document from another computing device, the hierarchical document comprising a DDOM for providing a real-time view of document state; loading at least a portion of the hierarchical document into the memory; modifying the in-memory portion of the retrieved hierarchical document; sending an indication of the modification as a message comprising a mutation request, the message represented in XML, to the other computing device, wherein the in-memory portion of the hierarchical document remains available for editing on the computing device; when the sent modification cannot be applied to the hierarchical document on the other computing device, reverting the hierarchical document to a current form of the hierarchical document on the other computing device; and when the sent modification is applied on the other computing device, receiving an indication that the modification was successfully applied. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47)
-
-
48. A system including a processor for enabling authors to work on a hierarchical document, comprising:
-
a component that exchanges messages with a client computing device having a memory, the messages represented in XML; a component that loads a hierarchical document, the hierarchical document comprising a DDOM for providing a real-time view of document state; and a component that receives a message corresponding to a mutation request from the client computing device, determines whether the mutation request can be applied to the hierarchical document, applies the mutation to the hierarchical document, and sends an indication message of an applied mutation to the client computing device wherein the indication message is a broadcast message; wherein the mutation request corresponds to a mutation made to at least a portion of a copy of the hierarchical document loaded into the memory of the client computing device, and further wherein the in-memory portion of the copy of the hierarchical document remains available for editing on the client computing device. - View Dependent Claims (49, 50, 51, 52, 53, 54, 55, 56, 57, 58)
-
Specification