IP Library Granted Patent US 12682157
Granted Patent B2
US 12682157 · App. 18/408,381 · Granted Jul 14, 2026

Block level document revision

Inventors: Claire Casaregola (New York, NY); Harshita Daddala (New York, NY); Yair Pike (New York, NY); Lauren Miller (New York, NY); Michael Greene (New York, NY)
Assignee: ADP, Inc.
G06F40/197G06F40/106G06F40/166
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 12682157
App. No.
18/408,381
Granted
Jul 14, 2026
Kind
B2
Abstract

A method, computer system, and computer program manage revisions in a document. The document is displayed in a graphical user interface. The document comprises a structured data object composed from a set of tiles, wherein each tile corresponds to one or more data nodes. The tiles are composable according to a domain-specific language of an integrated development environment. One or more revisions to the structured data object are received in sequence. The revisions to each data node of the set of tiles composing the structured data object are independently managed, enabling each revision to be independently reverted to a prior state irrespective of the sequence and revisions to other data nodes of the set of tiles and without reverting the other data nodes of the structured data object to their prior state.

Claims (68)

1 . A system, comprising:

one or more processors, coupled with memory, to:

execute a computer software that comprises a development environment and a graphical user interface, the development environment is interactable via the graphical user interface;

display, in the graphical user interface, a document comprising a structured data object, the structured data object corresponding to a plurality of data nodes, each data node of the plurality of data nodes defining an execution context for another data node of the plurality of data nodes;

identify, based on a first interaction with the development environment via the graphical user interface, a revision to the structured data object, the revision including a change of the plurality of data nodes from a first state to a second state;

display, via the graphical user interface, responsive to the revision, a first revision of the document according to the second state of the plurality of data nodes;

receive, based on a second interaction with the development environment via the graphical user interface, a selection of a data node of the plurality of data nodes to revert a state of the data node from the second state of the data node to the first state;

revert, responsive to the selection, the state of the data node from the second state to the first state while maintaining remaining data nodes of the plurality of data nodes in the second state; and

display, via the graphical user interface, a second revision of the document according to the first state of the data node and the second state of the remaining data nodes.

2 . The system of claim 1 , wherein the structured data object comprises a tile that includes the plurality of data nodes, and the one or more processors further:

receive, via the graphical user interface, the revision to the tile of the structured data object; and

generate, responsive to the revision, the first revision of the document according to the second state of the plurality of data nodes of the tile.

3 . The system of claim 1 , wherein the structured data object comprises a plurality of tiles, the plurality of tiles including a first tile comprising the data node of the plurality of data nodes and a second tile comprising the remaining data nodes of the plurality of data nodes, and the one or more processors further:

receive, via the graphical user interface, the revision to the plurality of tiles of the structured data object;

generate, responsive to the revision, the first revision of the document according to the first state of the data node of the first tile and the second state of the remaining data nodes of the second tile; and

generate, responsive to the selection, the second revision of the document according to the first state of the data node of the first tile and the second state of the remaining data nodes of the second tile.

4 . The system of claim 1 , wherein at least one of the revision or the selection comprises at least one of:

changing a property of a data node of the plurality of data nodes,

changing a value of a data node of the plurality of data nodes,

appending an additional tile to the structured data object, or

deleting a tile comprising the plurality of data nodes from the structured data object.

5 . The system of claim 1 , wherein the development environment comprises a menu providing access to a sequence of revisions comprising the revision in a draft history for the document.

6 . The system of claim 5 , wherein the draft history comprises:

a list of data nodes of the plurality of data nodes that were changed; and

an undo control associated with each data node of the plurality of data nodes in the list.

7 . The system of claim 6 , wherein the selection corresponds to the data node of the plurality of data nodes from the list, and the one or more processors further:

focus, responsive to the selection, onto a first area of a plurality of areas of the graphical user interface corresponding to the data node; and

highlight the revision in a second area of the plurality of areas of the graphical user interface.

8 . The system of claim 1 , wherein the one or more processors further:

receive, via the graphical user interface, a second selection of an undo control associated with the data node of the plurality of data nodes; and

revert, responsive to the second selection, the state of the data node from the first state to the second state.

9 . The system of claim 1 , wherein the graphical user interface further comprises a visual indicator to highlight the data node of the plurality of data nodes that was reverted to the first state.

10 . The system of claim 1 , wherein the one or more processors further:

identify, via the graphical user interface, from a history of revisions, a sequence of revisions of the structured data object of the document corresponding to prior versions of the document; and

identify the revision responsive to an interaction with the history of revisions via the graphical user interface.

11 . The system of claim 1 , wherein the one or more processors further:

display, via the graphical user interface, a comparison view of differences between the first revision of the document and the second revision of the document based on the first state of the data node and the second state of the remaining data nodes of the plurality of data nodes.

12 . The system of claim 1 , wherein the one or more processors further:

generate, for display via the graphical user interface, in the first state subsequent to reversion from the second state.

13 . The system of claim 1 , wherein the one or more processors further:

receive, via the graphical user interface, a third selection to revert a subset of the remaining data nodes of the plurality of data nodes from the second state to a third state; and

revert, responsive to the third selection, the state of the subset of the remaining data nodes from the second state to the third state while maintaining other of the remaining data nodes in the second state.

14 . A method, comprising:

displaying, by one or more processors coupled with memory, in a graphical user interface, a document comprising a structured data object, the structured data object corresponding to a plurality of data nodes, each data node of the plurality of data nodes defining an execution context for another data node of the plurality of data nodes;

identifying, by the one or more processors, based on a first interaction with a development environment displayed via the graphical user interface, a revision to the structured data object, the revision including a change of the plurality of data nodes from a first state to a second state;

displaying, by the one or more processors, via the graphical user interface, responsive to the revision, a first revision of the document according to the second state of the plurality of data nodes;

receiving, by the one or more processors, based on a second interaction with the development environment displayed via the graphical user interface, a selection of a data node of the plurality of data nodes to revert a state of the data node from the second state of the data node to the first state;

reverting, by the one or more processors, responsive to the selection, the state of the data node from the second state to the first state while maintaining remaining data nodes of the plurality of data nodes in the second state; and

displaying, by the one or more processors, via the graphical user interface, a second revision of the document according to the first state of the data node and the second state of the remaining data nodes.

15 . The method of claim 14 , wherein the structured data object comprises a tile that includes the plurality of data nodes, the method comprising:

receiving, by the one or more processors, via the graphical user interface, the revision to the tile of the structured data object; and

generating, by the one or more processors, responsive to the revision, the first revision of the document according to the second state of the plurality of data nodes of the tile.

16 . The method of claim 14 , wherein the structured data object comprises a plurality of tiles, the plurality of tiles including a first tile comprising the data node of the plurality of data nodes and a second tile comprising the remaining data nodes of the plurality of data nodes, the method comprising:

receiving, by the one or more processors, via the graphical user interface, the revision to the plurality of tiles of the structure data object;

generating, by the one or more processors, responsive to the revision, the first revision of the document according to the first state of the data node of the first tile and the second state of the remaining data nodes of the second tile; and

generating, by the one or more processors, responsive to the selection, the second revision of the document according to the first state of the data node of the first tile and the second state of the remaining data nodes of the second tile.

17 . The method of claim 14 , wherein at least one of the revision or the selection comprises at least one of:

changing a property of a data node of the plurality of data nodes,

changing a value of a data node of the plurality of data nodes,

appending an additional tile to the structured data object, or

deleting a tile comprising the plurality of data nodes from the structured data object.

18 . A non-transitory computer readable media storing program instructions for causing one or more processors to:

display, via a graphical user interface, a document comprising a structured data object, the structured data object corresponding to a plurality of data nodes, each data node of the plurality of data nodes defining an execution context for another data node of the plurality of data nodes;

identify, based on a first interaction with a development environment displayed via the graphical user interface, a revision to the structured data object, the revision including a change of the plurality of data nodes from a first state to a second state;

display, via the graphical user interface, responsive to the revision, a first revision of the document according to the second state of the plurality of data nodes;

receive, based on a second interaction with the development environment displayed via the graphical user interface, a selection of a data node of the plurality of data nodes to revert a state of the data node from the second state of the data node to the first state;

revert, responsive to the selection, the state of the data node from the second state to the first state while maintaining remaining data nodes of the plurality of data nodes in the second state; and

display, via the graphical user interface, a second revision of the document according to the first state of the data node and the second state of the remaining data nodes.