IP Library Granted Patent US 7,743,041
Granted Patent B2
US 7,743,041 · App. 11/400,054 · Granted Jun 22, 2010

Data oriented navigation within software 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 7,743,041
App. No.
11/400,054
Granted
Jun 22, 2010
Kind
B2
Abstract

Various embodiments as described and illustrated herein provide data oriented navigation within software applications. Some such embodiments include navigations within objects that make the navigations available to other objects. Objects in such embodiments include a representation of a software application data model to determine an object that is responsible for maintaining data. Thus, when an object receives a navigation request based on an item of data, the object receiving the request determines which object is responsible for maintaining the item of data and routes the navigation request to the appropriate object. That object then provides a list of available navigations that are displayed for selection within a user interface.

Claims (62)

1. A method comprising:

receiving one or more object definitions, wherein an object definition includes a data definition and zero to many relations between the data definition and data definitions of other object definitions;

creating a repository object for each object definition, wherein creating a repository object includes:

if a user interface definition is not included in an object definition, generating a user interface definition as a function of the data definition,

generating navigations within the repository object as a function of each relation between the object definition data definition and the data definitions of other object definitions, and

storing the generated navigations in a navigation list, the navigation list navigation records including identifiers of other user interface definitions and one or more navigation validity determination rules;

generating a class object as a function of each repository object, wherein each generated class object includes a set of methods to allow the navigations of one class object to be available to all class objects and information identifying the relations between the data of a class object to the data of all class objects; and

storing the generated class object.

2. The method of claim 1 , further comprising:

receiving, in a first class object, a request for available navigations from a user interface, wherein the request includes a data item identifier and a data item value;

determining a class object from which to request available navigations as a function of the data item identifier and the information identifying the relations between the data of the first class object to the data of all class objects; and

requesting available navigations from the determined class object, wherein the request includes the data item value.

3. The method of claim 2 , wherein the determined class object upon receipt of the request for available navigations:

retrieves a list of available navigations from the repository object from which the determined class object was generated;

retrieves a data record as a function of the data item value; and

returns the list of available navigations and the data record to the first class object, wherein the first class object returns the list of available navigations and the data record to the user interface.

4. The method of claim 3 , further comprising:

displaying the list of available navigations in a user interface, wherein:

selection of one of the available navigations causes a navigation request to be sent to the determined class object along with the data record, and

the determined class object causes the user interface to display data as a function of the selected navigation and the data record.

5. The method of claim 4 , wherein the data the determined class object causes the user interface to display is one or more records from which the item value is relationally related.

6. The method of claim 4 , wherein the data the determined class object causes the user interface to display is updateable.

7. The method of claim 2 , wherein the first class object and the determined class object are the same object.

8. The method of claim 3 , wherein the first class object and the determined class object are the same object.

9. The method of claim 4 , wherein the first class object and the determined class object are the same object.

10. The method of claim 5 , wherein the first class object and the determined class object are the same object.

11. A system comprising:

a processor;

a memory coupled to the processor and storing instructions executable by the processor to:

maintain a repository including one or more repository objects, wherein a repository object includes one or more user interface definitions and a navigation list; and

maintain one or more class objects, each class object associated with a dataset for which it is responsible and associated with one of the repository objects, wherein a class object includes:

information identifying relations between the dataset associated with the class object and datasets associated with other class objects; and

a navigation list method operable on the processor to:

receive a navigation request from a requestor including a data item identifier and data item value,

retrieve the navigation list from the associated repository object associated with the class object and provide the navigation list the requestor, and

wherein the navigation list identifies navigations within the repository object and a user interface associated with each navigation and a validity indicator associated with each navigation that limit which navigations may be displayed.

12. The system of claim 11 , wherein the navigation list method is further operable on the processor to:

determine a class object capable of handling the navigation request as a function of the data item identifier and the information identifying relations between the dataset associated with the class object and datasets associated with other class objects, and

forward the navigation request to the determined class if other than the class object.

13. The system of claim 11 , wherein the navigation list method is further operable on the processor to:

retrieve a record from the class object's associated dataset as a function of the data item value; and

provide the retrieved record to the requestor with the navigation list.

14. A computer readable storage media, with instructions thereon, which when executed by a machine, cause the machine to:

receive one or more object definitions, wherein an object definition includes a data definition and zero to many relations between the data definition and data definitions of other object definitions;

create a repository object for each object definition, wherein creating a repository object includes:

if a user interface definition is not included in an object definition, generating a user interface definition as a function of the data definition,

generating navigations within the repository object as a function of each relation between the object definition data definition and the data definitions of other object definitions, and

storing the generated navigations in a navigation list, the navigation list navigation records including identifiers of other user interface definitions and one or more navigation validity determination rules; and

generate a class object as a function of each repository object, wherein each generated class object includes a set of methods to allow the navigations of one class object to be available to all class objects and information identifying the relations between the data of a class object to the data of all class objects.

15. The computer readable storage media of claim 14 , wherein the instructions, which when further executed, cause the machine to:

receive, in a first class object, a request for available navigations from a user interface, wherein the request includes a data item identifier and a data item value;

determine a class object from which to request available navigations as a function of the data item identifier and the information identifying the relations between the data of the first class object to the data of all class objects; and

request available navigations from the determined class object, wherein the request includes the data item value.

16. The computer readable storage media of claim 15 , wherein the determined class object upon receipt of the request for available navigations:

retrieves a list of available navigations from the repository object from which the determined class object was generated;

retrieves a data record as a function of the data item value; and

returns the list of available navigations and the data record to the first class object, wherein the first class object returns the list of available navigations and the data record to the user interface.

17. The computer readable storage media of claim 16 , wherein the instructions, which when further executed, cause the machine to:

display the list of available navigations in a user interface, wherein:

selection of one of the available navigations causes a navigation request to be sent to the determined class object along with the data record, and

the determined class object causes the user interface to display data as a function of the selected navigation and the data record.

18. The computer readable storage media of claim 17 , wherein the data the determined class object causes the user interface to display one or more records from which the item value is relationally related.

Assignments (7)
CHANGE OF NAME Recorded Apr 26, 2021
From: INFOR (US), INC.
To: INFOR (US), LLC
Reel/Frame 056048/0944 →
CHANGE OF NAME Recorded Apr 12, 2021
From: LAWSON SOFTWARE, INC.
To: INFOR (US), INC.
Reel/Frame 055986/0127 →
RELEASE OF SECURITY INTEREST Recorded May 29, 2020
From: BANK OF AMERICA, N.A.
To: LAWSON SOFTWARE, INC.; INFOR GLOBAL SOLUTIONS (MICHIGAN), INC.; INFOR (US), INC.; GT NEXUS, INC.
Reel/Frame 053314/0436 →
SECURITY AGREEMENT Recorded Apr 19, 2012
From: LAWSON SOFTWARE, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 028078/0594 →
RELEASE OF SECURITY INTEREST Recorded Apr 5, 2012
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: LAWSON SOFTWARE INC.
Reel/Frame 027997/0553 →
PATENT SECURITY AGREEMENT Recorded Jul 18, 2011
From: LAWSON SOFTWARE, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026609/0722 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2006
From: SHULTZ, JOHN THOMAS; PATTON, RICHARD D.
To: LAWSON SOFTWARE, INC.
Reel/Frame 017915/0043 →