Techniques to manage collaborative documents
First Claim
1. An apparatus, comprising:
- a processor circuit; and
an application program operative on the processor circuit to manage a collaborative document having a presentation surface with multiple constructs, the application program comprising;
a document render component operative to render a first document instance of the collaborative document;
a document share component operative to receive a document update list comprising a set of change records for a second document instance of the collaborative document, each change record comprising information for a modification made to a construct of the second document instance, determine whether a time stamp of a change record for the first document instance of the collaborative document and a time stamp of a change record for the second document instance of the collaborative document are both within a synchronization interval when the change records have matching constructs, annotate the change records as conflict records, and modify properties of one or more constructs for the first document instance based on the change records to form a merged document instance of the collaborative document; and
an undo manager component operative to manage a local undo stack for the first document instance, the local undo stack comprising a set of undo records each storing information to undo a modification made to a construct of the first document instance, compare the set of undo records and the set of change records, and determine whether to preserve one or more of the undo records of the local undo stack after formation of the merged document instance based on one or more of the change records.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques to manage collaborative documents are described. An application program may comprise a document render component to render a first document instance of a collaborative document, a document share component to receive a document update list comprising a set of change records for a second document instance of the collaborative document, and modify properties of one or more constructs for the first document instance based on the change records to form a merged document instance of the collaborative document, and an undo manager component to manage a local undo stack for the first document instance, the local undo stack comprising a set of undo records, and determine whether to preserve one or more of the undo records of the local undo stack after formation of the merged document instance based on one or more of the change records. Other embodiments are described and claimed.
-
Citations
19 Claims
-
1. An apparatus, comprising:
-
a processor circuit; and an application program operative on the processor circuit to manage a collaborative document having a presentation surface with multiple constructs, the application program comprising; a document render component operative to render a first document instance of the collaborative document; a document share component operative to receive a document update list comprising a set of change records for a second document instance of the collaborative document, each change record comprising information for a modification made to a construct of the second document instance, determine whether a time stamp of a change record for the first document instance of the collaborative document and a time stamp of a change record for the second document instance of the collaborative document are both within a synchronization interval when the change records have matching constructs, annotate the change records as conflict records, and modify properties of one or more constructs for the first document instance based on the change records to form a merged document instance of the collaborative document; and an undo manager component operative to manage a local undo stack for the first document instance, the local undo stack comprising a set of undo records each storing information to undo a modification made to a construct of the first document instance, compare the set of undo records and the set of change records, and determine whether to preserve one or more of the undo records of the local undo stack after formation of the merged document instance based on one or more of the change records. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-implemented method, comprising:
-
retrieving, by a processor circuit, a set of undo records of a local undo stack, each undo record comprising information to undo a modification made to a construct of a first document instance of a collaborative document; retrieving a set of change records of a document update list, each change record comprising information for a modification made to a construct of a second document instance of the collaborative document; comparing the set of undo records and the set of change records, including determining whether a time stamp of a undo record and a time stamp of a change record are both within a synchronization interval when the undo record and the change record have matching constructs and annotating the undo record as a conflict record when the time stamps are within the synchronization interval; and determining whether to preserve one or more of the undo records of the local undo stack based on the comparison results. - View Dependent Claims (12, 13, 14, 15)
-
-
16. An article of manufacture comprising a hardware storage device storing instructions that when executed cause a system to:
-
retrieve a set of undo records of a local undo stack, each undo record storing information to undo a modification made to a construct of a first document instance of a document; retrieve a set of change records of a document update list, each change record storing information for a modification made to a construct of a second document instance of the document; modify a property of a construct of the first document instance based on the set of change records of the document update list; compare the set of undo records and the set of change records; determine whether a time stamp of a undo record and a time stamp of a change record are both within a synchronization interval when the undo record and the change record have matching constructs; annotate the undo record as a conflict record when the time stamps are within the synchronization interval; determine whether to save one or more undo records of the local undo stack based on information stored in the undo records and the change records; and save the one or more undo records of the local undo stack, such that one or more undo operations to undo a modification made to a different property of the construct of the first document instance is available for use. - View Dependent Claims (17, 18, 19)
-
Specification