Abstract:
A user of a content management system can store one or more content items at the user's account with the system. In some instances, the system can generate and present a preview of a content item of interest (e.g., a content item selected by the user). In addition to the preview of the content item, the system can generate and present a web address or other machine-readable code referring to (or otherwise associated with) the preview of the content item. Various embodiments of the present disclosure can enable the web address or other machine-readable code to be sharable and to provide access to the content item (or a copy thereof). For example, the user who is previewing the content item can share the web address of the preview with one or more other users. The one or more users can then access the content item via the web address.
Abstract:
A notes system is presented with a content management system. The notes system manages creation and distribution of edits to notes to users sharing the notes. The notes are stored as a series of edits at the notes system. When an edit to a note is received, the edit is propagated to users subscribed to a note by a backend server responsible for managing the note. The shared users are notified through application servers associated with each shared user. The notes server includes various indices for searching the notes and allows notes to be searched quickly to organize viewing by a user of notes and identification of relevant material in the notes. The stored edits are used to display edits to a note to a user by replaying the accessed note to the user.
Abstract:
Systems, methods, and computer-readable storage media for ordering editing operations in collaborative editing of shared content items. The content management system can receive an edit operation from a first client for a content item that is shared for collaborative editing between the first client and a second client. In response to receiving the operation, the system can send an update to the first client including a previous operation received from the second client prior to receiving the operation from the first client, wherein the update can instruct the first client to perform a transform operation to transform a parameter of the operation according to an effect of the previous operation received from the second client. The system can then receive a result of the transform operation from the first client and update the shared content item based on the previous operation and the result of the transform operation.
Abstract:
Systems, methods, and computer-readable storage media for maintaining consistent globally unique identifiers (GUIDs) for content items accessible via an asynchronous interface in a multi-user network-based content management environment (storage environment). The example content management system can make a content item within a data storage available to an authorized user via the asynchronous interface, and receive, from a client device, content item change information derived from data generated by an operating system function at the client device. Then the content management system can analyze the content item change information to determine a corresponding action at the content management system, and implement the corresponding action on the server side. The content management system can optionally provide a confirmation of the corresponding action to the client device.
Abstract:
The disclosed embodiments relate to a system that infers a sequence of editing operations that were applied to a document to produce an updated version of the document. During operation, the system computes a minimum edit distance between the document and the updated version of the document. During this process, the system associates a block cost with each contiguous block of characters that is changed by an editing operation and also a character cost with each character that is changed. Next, the system uses information stored during the computation to determine the sequence of editing operations which were used to achieve the minimum edit distance. The system communicates the sequence of editing operations to a remote computing device, wherein the remote computing device uses an operational transformation technique to transform the sequence of editing operations before applying the transformed sequence of editing operations to a remote version of the document.
Abstract:
A note sharing system is presented with a content management system. Note sharing system manages creation and distribution of edits to notes to users sharing notes. Notes are stored as a series of edits at note sharing system. When an edit to a note is received, the edit is propagated to users subscribed to a note by a backend server responsible for managing the note. The sharing users are notified through notes servers associated with each sharing user. Notes server includes various indices for searching notes and allows notes to be searched quickly to organize viewing by a user of notes and identification of relevant material in notes. The stored edits are used to display edits to a note to a user by replaying the accessed note to the user.
Abstract:
The disclosed embodiments relate to a system that infers a sequence of editing operations that were applied to a document to produce an updated version of the document. During operation, the system computes a minimum edit distance between the document and the updated version of the document. During this process, the system associates a block cost with each contiguous block of characters that is changed by an editing operation and also a character cost with each character that is changed. Next, the system uses information stored during the computation to determine the sequence of editing operations which were used to achieve the minimum edit distance. The system communicates the sequence of editing operations to a remote computing device, wherein the remote computing device uses an operational transformation technique to transform the sequence of editing operations before applying the transformed sequence of editing operations to a remote version of the document.
Abstract:
Disclosed are systems, methods, and non-transitory computer-readable storage media for prioritizing structural operations and distributing changes in a synced online content management system. An exemplary method can include receiving, from a first client device, a first structural operation for a particular content item and an account within the online content management system. The method can also include receiving, from a second client device, a competing structural operation for the particular content item and the account. The method can then include prioritizing the first structural operation from the first client device over the competing structural operation from the second client device based on predetermined factors. The method can then include executing the first structural operation for the particular content item and the account. The exemplary method can then include distributing the prioritized first structural operation to all synced devices for execution.
Abstract:
A notes system is presented with a content management system. The notes system manages creation and distribution of edits to notes to users sharing the notes. The notes are stored as a series of edits at the notes system. When an edit to a note is received, the edit is propagated to users subscribed to a note by a backend server responsible for managing the note. The shared users are notified through application servers associated with each shared user. The notes server includes various indices for searching the notes and allows notes to be searched quickly to organize viewing by a user of notes and identification of relevant material in the notes. The stored edits are used to display edits to a note to a user by replaying the accessed note to the user.
Abstract:
Systems, methods, and computer-readable storage media for ordering editing operations in collaborative editing of shared content items. The content management system can receive an edit operation from a first client for a content item that is shared for collaborative editing between the first client and a second client. In response to receiving the operation, the system can send an update to the first client including a previous operation received from the second client prior to receiving the operation from the first client, wherein the update can instruct the first client to perform a transform operation to transform a parameter of the operation according to an effect of the previous operation received from the second client. The system can then receive a result of the transform operation from the first client and update the shared content item based on the previous operation and the result of the transform operation.