Abstract:
A tangible computer-readable storage medium having encoded on it data that represents a model of a document, the document model including a one-dimensional character string that includes characters of the document in an order in which they appear in the document; a map of styles that includes markers that correspond to changes in styles in the document, and pointers to the character string, wherein the pointers define locations along the character string at which the changes in styles are to occur and define style runs between matched markers; and one or more external references to objects outside the document model, the external references including identifiers for the objects and pointers to the character string indicating where in the character string the object will appear.
Abstract:
A document editor may manage suggested edits in a collaborative document. The document editor may instantiate a document model associated with the collaborative document. When a first editing suggestion is received for the collaborative document, a first suggestion command is associated with the first editing suggestion based on a type of the first editing suggestion and a type of the document model. The document editor may apply the first suggestion command on the document model to present the first editing suggestion within the collaborative document. When an acceptance indication for the first editing suggestion is received, the document model can be updated with the first suggestion command in response to the received acceptance indication.
Abstract:
A document editor may manage suggested edits in a collaborative document. The document editor may instantiate a document model associated with the collaborative document. When a first editing suggestion is received for the collaborative document, a first suggestion command is associated with the first editing suggestion based on a type of the first editing suggestion and a type of the document model. The document editor may apply the first suggestion command on the document model to present the first editing suggestion within the collaborative document. When an acceptance indication for the first editing suggestion is received, the document model can be updated with the first suggestion command in response to the received acceptance indication.
Abstract:
A computer-implemented method for presenting a document for interaction with a user in a web browser includes accessing an electronic model of the document; determining, with a computing device, positions for items in a visual rendering of the electronic model based on relative sizes and positions of other items in the electronic model; and generating, with the computing device, a document object model (DOM) that defines an editing surface, wherein the DOM (a) places placing the items at the determined positions on the editing surface, (b) places a graphic element that represents a cursor at a determined location on the editing surface, and (c) is arranged to receive user input on the editing surface and to correlate a location of the received user input to a location in the electronic model.
Abstract:
Systems and methods disclosed herein provide a method that includes obtaining, at a user device from a remote storage server, content relating to an electronic document, and rendering the content of the electronic document onto a first virtual rendering surface. The method further includes maintaining a second virtual rendering surface that stores a current state of the first virtual rendering surface. The method further includes obtaining an operation command relating to the electronic document, and retrieving first state information of the first virtual rendering surface and second state information of the second virtual rendering surface. The method further includes applying the operation command to the rendered content of the electronic document on the first virtual rendering surface, and updating at least one of the first state information or the second state information based on a type of the operation command.
Abstract:
A tangible computer-readable storage medium having encoded on it data that represents a model of a document, the document model including a one-dimensional character string that includes characters of the document in an order in which they appear in the document; a map of styles that includes markers that correspond to changes in styles in the document, and pointers to the character string, wherein the pointers define locations along the character string at which the changes in styles are to occur and define style runs between matched markers; and one or more external references to objects outside the document model, the external references including identifiers for the objects and pointers to the character string indicating where in the character string the object will appear.
Abstract:
A computer-implemented collaborative editing method includes receiving input from a user of a browser-based document editing application on a document displayed by the application; identifying a current location in the document for a cursor of a first user executing the application; receiving from a central server system data that reflects changes made to the document by one or more users other than the first user and current positions in the document of cursors for the one or more other user; updating a document model stored on a computing device that is executing the browser-based application and rendering at least a portion of the model to the browser; and rendering the current positions of the cursors for the one or more other users to the browser.
Abstract:
A computer-implemented collaborative editing method includes receiving input from a user of a browser-based document editing application on a document displayed by the application; identifying a current location in the document for a cursor of a first user executing the application; receiving from a central server system data that reflects changes made to the document by one or more users other than the first user and current positions in the document of cursors for the one or more other user; updating a document model stored on a computing device that is executing the browser-based application and rendering at least a portion of the model to the browser; and rendering the current positions of the cursors for the one or more other users to the browser.
Abstract:
Systems and methods disclosed herein provide a method of managing a state of a virtual rendering surface for an electronic document. The method includes obtaining, at a user device from a remote storage server, content relating to an electronic document, and rendering the content of the electronic document onto a first virtual rendering surface. The method further includes maintaining a second virtual rendering surface that stores a current state of the first virtual rendering surface. The method further includes obtaining an operation command relating to the electronic document, and retrieving first state information of the first virtual rendering surface and second state information of the second virtual rendering surface. The method further includes applying the operation command to the rendered content of the electronic document on the first virtual rendering surface, and updating at least one of the first state information or the second state information based on a type of the operation command.
Abstract:
A computer-implemented method for coordinating documents between computer systems includes identifying, on a computing device, changes made by a user to a document having a model stored on the computing device, with corresponding models stored on a remote client and a server system; generating from the identified changes, one or more mutations that describe the changes and a one or more locations that correspond to positions in the model where the changes are to be provided; receiving one or more mutations from the server system and transforming the generated mutations using the received mutations; and updating the model stored on the computing device using the transformed mutations.