IP Library Granted Patent US 10,325,014
Granted Patent B2
US 10,325,014 · App. 16/191,821 · Granted Jun 18, 2019

System and method for convergent document collaboration

Inventors: Grant Nelson (Bozeman, MT); Michael J. Thiesen (Bozeman, MT); Aaron Hall (Bozeman, MT); Nathan Woods (Bozeman, MT); David Marne (Bozeman, MT)
Assignee: Workiva Inc.
G06F17/24G06F16/9027G06F16/93G06F17/2235G06F17/2247G06F17/2288G06Q10/10G06Q10/103
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,325,014
App. No.
16/191,821
Granted
Jun 18, 2019
Kind
B2
Abstract

In various implementations, a computing device: displays the document outline on the user interface; maintains, in a non-transitory computer-readable medium, a causal graph data structure representing the document outline, wherein the causal graph data structure includes a plurality of structure nodes, each structure node representing a level of the document outline; receives, via the user interface, an insertion of a new level to the document outline; in response to the insertion, defines a structure node that represents the inserted level; inserts a transition node in the causal graph data structure, wherein the transition node represents a relationship between the structure node and at least one other node of the causal graph data structure; inserts the structure node into the causal graph data structure as a child of the transition node; and updating the user interface to display the inserted level.

Claims (67)

1. A method for maintaining a document outline on a user interface, the method comprising:

displaying the document outline on the user interface;

maintaining, in a non-transitory computer-readable medium, a causal graph data structure representing the document outline, wherein the causal graph data structure includes a plurality of structure nodes, each structure node representing a level of the document outline;

receiving, via the user interface, an insertion of a new level to the document outline;

in response to the insertion, defining a structure node that represents the inserted level;

inserting a transition node in the causal graph data structure, wherein the transition node represents a relationship between the structure node and at least one other node of the causal graph data structure;

inserting the structure node into the causal graph data structure as a child of the transition node;

updating the user interface to display the inserted level within the document outline;

receiving, via the user interface, an input of an undo instruction;

in response to the undo instruction, inserting, in the causal graph data structure, a deletion node as a child of the structure node; and

updating the user interface to remove the level represented by the structure node.

2. The method of claim 1 , wherein inserting a transition node comprises inserting the transition node as a child of a second transition node, wherein the second transition node is a child of the structure node.

3. The method of claim 1 , wherein inserting a transition node comprises inserting the transition node as a child of the structure node.

4. The method of claim 1 , wherein text to be displayed as a title for the inserted level is contained in an attribute node linked to the structure node.

5. The method of claim 1 , wherein the inserted structure node includes at least one identifier of a parent node.

6. The method of claim 1 , wherein the inserted structure node includes at least one identifier of a child node.

7. The method of claim 1 , further comprising:

receiving, via the user interface, a deletion of a level of the plurality of levels;

in response to the deletion, inserting, in the causal graph data structure, a deletion node as a child of a structure node representing the level for which the deletion was received, wherein the deletion node refers to the level that is to be deleted; and

updating the user interface to remove the level for which the deletion was received.

8. The method of claim 1 , further comprising:

receiving, via the user interface, a formatting of a level of the plurality of levels;

in response to the formatting, inserting an attribute node as a child of a structure node representing the level for which the formatting was received, wherein the attribute node indicates the type of formatting that is to be applied;

applying the formatting to a section of the document within the level being formatted; and

updating the user interface to display the updated formatting of the section.

9. A method for maintaining a document outline on a user interface, the method comprising:

displaying the document outline on the user interface, wherein the document outline includes a plurality of levels;

maintaining, in a non-transitory computer-readable medium, a causal graph data structure representing the document outline, wherein the causal graph data structure includes a plurality of structure nodes, each structure node representing a different level of the plurality of levels;

receiving, via the user interface, a deletion of a level of the plurality of levels;

in response to the user deletion, inserting, in the causal graph data structure, a deletion node as a child of the structure node representing the level for which the deletion was received, wherein the deletion node refers to the level that is to be deleted;

updating the user interface to delete the level for which the deletion was received;

receiving, via the user interface, an undo of the deletion of the level;

in response to the received undo, inserting, in the causal graph data structure, a second deletion node as a child of the deletion node; and

updating the user interface to re-display the level for which the deletion was received.

10. The method of claim 9 , wherein the second deletion node includes an identifier of the deletion node.

11. The method of claim 9 , wherein the deletion node includes an identifier of the structure node to be deleted.

12. A method for maintaining a document outline on a user interface, the method comprising:

displaying the document outline on the user interface, the document outline comprising a plurality of levels, each of the plurality of levels representing a different section of a document;

maintaining, in a non-transitory computer-readable medium, a causal graph data structure representing the document outline, wherein the causal graph data structure includes a plurality of structure nodes, each structure node representing a different level of the plurality of levels;

receiving, via the user interface, a formatting of a level of the plurality of levels;

in response to the formatting, inserting an attribute node as a child of the structure node representing the level for which the formatting was received, wherein the attribute node indicates the type of formatting that is to be applied;

applying the indicated type of formatting to a section of the document within the level for which the formatting was received;

updating the user interface to display the section as being formatted according to the indicated type;

receiving, via the user interface, an undo command;

in response to the undo command, inserting, in the causal graph data structure, a deletion node as a child of the attribute node; and

updating the user interface to undo the formatting.

13. The method of claim 12 , further comprising:

receiving, via the user interface, additional formatting of the section;

in response to receiving the additional formatting, inserting, in the causal graph data structure, a second attribute node as a child of the attribute node, wherein the second attribute node indicates the type of additional formatting to be applied;

applying the additional formatting to the section of the document; and

updating the user interface to display the section as being formatted according to the indicated type of additional formatting.

14. The method of claim 12 , wherein the attribute node includes one or more key-value pairs, wherein each key-value pair includes a key that corresponds to a format property and a value that corresponds to the value of the format property.

15. A method for maintaining a document outline on a user interface, the method comprising:

displaying the document outline on the user interface;

maintaining, in a non-transitory computer-readable medium, a causal graph data structure representing the document outline, wherein the causal graph data structure includes a plurality of structure nodes, each structure node representing a level of the document outline;

receiving, via the user interface, a gesture indicating a move of a level of the plurality of levels from a first position to a second position;

in response to the gesture,

inserting a transition node into the causal graph data structure, wherein the transition node has a parent node representing the second position; and

updating a structure node representing the level being moved so that its parent node is the transition node;

updating the user interface to display the level within the document outline as having been moved;

receiving, via the user interface, an input of an undo instruction;

in response to the undo instruction, inserting, in the causal graph data structure, a deletion node as a child of the transition node; and

updating the user interface to display the level as being in a location where it was prior to having been moved.

16. The method of claim 15 , further comprising:

receiving, via the user interface, a second undo command;

in response to the second undo command, inserting, in the causal graph data structure, a second deletion node as a child of the deletion node; and

updating the user interface to display the level within the document outline as having been moved.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2018
From: NELSON, GRANT; THIESEN, MICHAEL J.; HALL, AARON; WOODS, NATHAN; MARNE, DAVID
To: WORKIVA INC.
Reel/Frame 047514/0740 →
Continuity (6)
Continuation In Part 15411237 · Jan 20, 2017
Continuation 15049221 · Feb 22, 2016
Continuation 14808029 · Jul 24, 2015
Provisional Application 62587177 · Nov 16, 2017
Provisional Application 62155000 · Apr 30, 2015
Related Publication 20190102370A1 · Apr 4, 2019
Cited By (4)
US 12,229,502 US 12,511,471 US 12,541,640 US 12,585,867