IP Library Granted Patent US 10,353,985
Granted Patent B2
US 10,353,985 · App. 14/513,772 · Granted Jul 16, 2019

Transferring component hierarchies between applications

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,353,985
App. No.
14/513,772
Granted
Jul 16, 2019
Kind
B2
Abstract

Methods, systems, and apparatus, including computer program products, for reusing components from an application are provided. In some implementations, a method includes associating a parent and child component in a source application. The components are used in the presentation of document data during navigation among documents. A navigation interface in an application window of the source application is presented, including presenting document data according to the parent and child components. Input adding the parent component from the source application window to an application window of a target application is received. It is determined that the output of the child component is connected with the input of the parent component, and then computer readable instructions associated with the parent component and the child component are inserted into the target application. A navigation interface is presented in the target application window, including presenting document data according to the parent and child components.

Claims (81)

1. A computer implemented method comprising:

associating a parent component and a child component in an executing source application, wherein an output of the child component is connected with an input of the parent component, and wherein the parent and child components are configured to present document data in a source application user interface;

causing display of document data representing a source document in the source application user interface, wherein the document data representing the source document is generated by at least the parent component and has a first visual characteristic;

causing display of document data representing a target document in a target application user interface of an executing target application, wherein the document data representing the target document is not generated by the parent component and has a second visual characteristic that is different from the first visual characteristic;

receiving input applying the document data representing the source document to the target application user interface, wherein the received input comprises a drag-and-drop operation;

in response to receiving the received input, inserting computer readable instructions associated with the parent component and computer readable instructions associated with the child component into the target application, wherein the input of the parent component is connected with the output of the child component in the target application;

further in response to receiving the received input, using the computer readable instructions inserted into the target application to generate modified document data that represents the target document, wherein the modified document data representing the target document has the first visual characteristic; and

further in response to receiving the received input, removing the document data representing the target document from the target application user interface and causing display of the modified document data representing the target document in the target application user interface.

2. The method of claim 1 , wherein:

associating the parent and child components further comprises associating a grandchild component with the child component in the executing source application;

an output of the grandchild component is connected with an input of the child component;

the parent, child, and grandchild components are used during navigation amongst a plurality of documents that are represented by the document data presented in the source application user interface; and

the source document is one of the plurality of documents.

3. The method of claim 1 , wherein:

associating the parent and child components further comprises associating a grandchild component with the child component in the executing source application;

an output of the grandchild component is connected with an input of the child component;

the parent, child, and grandchild components are used during navigation amongst a plurality of documents that are represented by the document data presented in the source application user interface;

the source document is one of the plurality of documents; and

the method further comprises inserting computer readable instructions associated with the grandchild component into the target application.

4. The method of claim 1 , wherein:

associating the parent and child components further comprises associating a grandchild component with the child component in the executing source application;

an output of the grandchild component is connected with an input of the child component;

the parent, child, and grandchild components are used during navigation amongst a plurality of documents that are represented by the document data presented in the source application user interface;

the source document is one of the plurality of documents; and

the modified document data that represents the target document is generated by the parent, child, and grandchild components.

5. The method of claim 1 , further comprising:

determining that an input of the child component is not connected to an output of any component in the target application;

identifying a first component in the target application that (a) has an output of a same type as the input of the child component and (b) is not connected to an input of any component in the target application;

associating the child component and the first component in the target application; and

connecting the input of the child component with the output of the first component.

6. The method of claim 1 , further comprising:

determining that an output of the parent component is not connected to an input of any component in the target application;

identifying a second component in the target application that (a) has an input of a same type as the output of the parent component and (b) is not connected to an output of any component in the target application;

associating the parent component and the second component in the target application; and

connecting the output of the parent component with the input of the second component.

7. The method of claim 1 , further comprising causing a virtual machine associated with the target application to execute the computer readable instructions associated with the parent and child components.

8. A system comprising:

an associator module configured to associate a parent component and a child component in an executing source application, wherein a relationship between the parent and child components exists such that an output of the child component is connected with an input of the parent component, and wherein the parent and child components are configured to present document data in a source application user interface;

a presentation module configured to

cause display of document data representing a source document in the source application user interface, wherein the document data representing the source document is generated by the parent component, and has a first visual characteristic, and

cause display of document data representing a target document in a target application user interface of an executing target application, wherein the document data representing the target document is not generated by the parent component, and has a second visual characteristic that is different from the first visual characteristic; and

a connection module configured to insert, in response to receiving a drag-and-drop command input applying the document data representing the source document to the target application user interface, computer readable instructions associated with the parent component and computer readable instructions associated with the child component into the target application,

wherein the input of the parent component is connected with the output of the child component in the target application,

wherein the computer readable instructions inserted into the target application, when executed by one or more processors, generate modified document data that represents the target document, and

wherein the modified document data representing the target document has the first visual characteristic;

wherein the presentation module is further configured to, in response to receiving the command input, remove the document data representing the target document from the target application user interface and cause display of the modified document data representing the target document in the target application user interface.

9. The system of claim 8 , wherein the associator module is further configured to store an association between the parent and child components in a table that is accessible to the source application.

10. The system of claim 8 , wherein the connection module is further configured to examine digital rights management information associated with the parent component, the child component, or both the parent and child components before inserting computer readable instructions into the target application.

11. The system of claim 8 , wherein the connection module is further configured to:

conduct an examination of digital rights management information associated with the parent component, the child component, or both the parent and child components; and

modify security information associated with the parent component, the child component, or both the parent and child components based on the examination.

12. The system of claim 8 , wherein the connection module is further configured to:

determine that an input of the child component is not connected to an output of any component in the target application; and

generate a list of components in the target application that (a) have an output of a same type as the input of the child component and (b) are not connected to an input of any component in the target application.

13. The system of claim 8 , wherein the connection module is further configured to:

determine that an output of the parent component is not connected to an input of any component in the target application; and

generate a list of components in the target application that (a) have an input of a same type as the output of the parent component and (b) are not connected to an output of any component in the target application.

14. A computer program product encoded on a non-transitory computer storage medium, the computer program product operable to cause a data processing apparatus to perform operations comprising:

associating a parent component and a child component in an executing source application, wherein an output of the child component is connected with an input of the parent component, and wherein the parent and child components are configured to present document data in a source application user interface;

causing display of document data representing a source document in the source application user interface, wherein the document data representing the source document is generated by the parent component and has a first visual characteristic;

causing display of document data representing a target document in a target application user interface of an executing target application, wherein the document data representing the target document is not generated by the parent component, and has a second visual characteristic that is different from the first visual characteristic;

receiving input applying the document data representing the source document to the target application user interface, wherein the received input comprises a drag-and-drop operation;

in response to receiving the received input, inserting computer readable instructions associated with the parent component and computer readable instructions associated with the child component into the target application, wherein the input of the parent component is connected with the output of the child component in the target application;

further in response to receiving the received input, using the computer readable instructions inserted into the target application to generate modified document data representing the target document, wherein the modified document data representing the target document has the first visual characteristic; and

further in response to receiving the received input, removing the document data representing from the target application user interface the target document in the target application user interface and causing display of the modified document representing the target document in the target application user interface.

15. The computer program product of claim 14 , wherein the operations further comprise:

determining that an input of the child component is not connected to an output of any component in the target application;

identifying a first component in the target application that (a) has an output of a same type as the input of the child component and (b) is not connected to an input of any component in the target application;

associating the child component and the first component in the target application; and

connecting the input of the child component with the output of the first component.

16. The computer program product of claim 14 , wherein:

associating the parent and child components further comprises associating a grandchild component with the child component in the executing source application;

an output of the grandchild component is connected with an input of the child component;

the parent, child, and grandchild components are used during navigation amongst a plurality of documents that are represented by the document data presented in the source application user interface; and

the source document is one of the plurality of documents.

17. The computer program product of claim 14 , wherein the operations further comprise:

determining that an output of the parent component is not connected to an input of any component in the target application;

identifying a second component in the target application that (a) has an input of a same type as the output of the parent component and (b) is not connected to an output of any component in the target application;

associating the parent component and the second component in the target application; and

connecting the output of the parent component with the input of the second component.

18. The computer program product of claim 14 , wherein the operations further comprise causing a virtual machine associated with the target application to execute the computer readable instructions associated with the parent and child components.

Assignments (2)
CHANGE OF NAME Recorded Nov 30, 2018
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 047688/0530 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2014
From: HEBBAR, VIVEK; SWINEFORD, RANDY L.
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 033945/0990 →