IP Library Granted Patent US 10,802,670
Granted Patent B2
US 10,802,670 · App. 15/067,596 · Granted Oct 13, 2020

User interface for polymorphic lookup

Inventors: Marc Brette (Montbonnot, FR); Glenn Sorrentino (Oakland, CA); James Vogt (San Bruno, CA); Naveen Veeravalli (San Francisco, CA)
Assignee: salesforce.com, inc.
G06F3/0482G06F3/048G06F3/0484G06F16/24578G06F16/9535
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,802,670
App. No.
15/067,596
Granted
Oct 13, 2020
Kind
B2
Abstract

System, method, and computer product embodiments for proving a graphical user interface (GUI) for a GUI object are described. A computing device provides, within the GUI, a polymorphic lookup interface for retrieving a plurality of entity instances to relate to the GUI object. The computing device provides a plurality of types of entities within the polymorphic lookup interface. A type of entity selected from the plurality of types limits the possible entity instances that may be returned. Through the polymorphic lookup interface, the computing device enables a user to select two or more entity instances to relate to the GUI object. Each of the selected entity instances may be selected from a plurality of possible entity instances that are returned, where each possible entity instance is a same type of entity.

Claims (58)

1. A method, comprising:

providing, by a computing device, a graphical user interface (GUI) for a GUI object, wherein the GUI includes a polymorphic lookup interface for retrieving a first plurality of entity instances corresponding to a first entity type and a second plurality of entity instances corresponding to a second entity type to relate to the GUI object, wherein the first entity type and the second entity type are included in a plurality of entity types;

receiving a selection of the first entity type from the plurality of entity types;

in response to receiving the selection of the first entity type, returning the first plurality of entity instances in the polymorphic lookup interface;

receiving a selection of the second entity type from the plurality of entity types;

in response to receiving the selection of the second entity type, returning the second plurality of entity instances in the polymorphic lookup interface, wherein at least one of the returned first plurality of entity instances or the returned the second plurality of entity instances is based on querying an inverted index database comprising a hierarchy of indexes, and wherein the hierarchy of indexes are searched based on a series of characters received via a search field of the polymorphic lookup interface;

receiving, within the polymorphic lookup interface, a selection of a first entity instance of the first entity type from the first plurality of entity instances and a selection of a second entity instance of the second entity type from the second plurality of entity instances;

in response to receiving the selection of the first and second entity instances, relating, by the computing device, the first and second entity instances with the GUI object; and

storing the related first and second entity instances in a database object corresponding to the GUI object.

2. The method of claim 1 , further comprising:

using the series of characters to query the inverted index database to retrieve record identifiers; and

querying a records database to obtain data records corresponding to the record identifiers.

3. The method of claim 2 , wherein the inverted index database includes an index for two or more words.

4. The method of claim 2 , wherein the series of characters includes an ordered list of words, and wherein the returned first plurality of entity instances or the returned second plurality of entity instances prioritizes possible entity instances having the same order as the ordered list of words.

5. The method of claim 2 , further comprising:

filtering the queried data records based on access rules or search constraints.

6. The method of claim 5 , further comprising:

assigning a relevancy score to each of the filtered queried data records, wherein the returned first plurality of entity instances or the returned second plurality of entity instances correspond to the filtered queried data records based on the assigned relevancy score.

7. The method of claim 6 , wherein the relevancy score is based on one or more of an order of a sequence of the series of characters, a user identifier identifying the user operating the GUI, or a page view metric.

8. A system, comprising:

a memory; and

at least one processor coupled to the memory and configured to:

provide a graphical user interface (GUI) for a GUI object, wherein the GUI includes a polymorphic lookup interface for retrieving a first plurality of entity instances corresponding to a first entity type and a second plurality of entity instances corresponding to a second entity type to relate to the GUI object, wherein the first entity type and the second entity type are included in a plurality of entity types;

receive a selection of the first entity type from the plurality of entity types;

in response to receiving the selection of the first entity type, return the first plurality of entity instances in the polymorphic lookup interface;

receive a selection of the second entity type from the plurality of entity types;

in response to receiving the selection of the second entity type, return the second plurality of entity instances in the polymorphic lookup interface, wherein at least one of the returned first plurality of entity instances or the returned the second plurality of entity instances is based on querying an inverted index database comprising a hierarchy of indexes, and wherein the hierarchy of indexes are searched based on a series of characters received via a search field of the polymorphic lookup interface;

receive, within the polymorphic lookup interface, a selection of a first entity instance of the first entity type from the first plurality of entity instances and a selection of a second entity instance of the second entity type from the second plurality of entity instances;

in response to receiving the selection of the first and second entity instances, relate the first and second entity instances with the GUI object; and

store the related first and second entity instances in a database object corresponding to the GUI object.

9. The system of claim 8 , wherein the at least one processor is further configured to:

use the series of characters to query the inverted index database to retrieve record identifiers; and

query a records database to obtain data records corresponding to the record identifiers.

10. The system of claim 9 , wherein the inverted index database includes an index for two or more words.

11. The method of claim 9 , wherein the series of characters includes an ordered list of words, and wherein the returned first plurality of entity instances or the returned second plurality of entity instances prioritizes possible entity instances having the same order as the ordered list of words.

12. The method of claim 9 , wherein the at least one processor is further configured to:

filter the queried data records based on access rules or search constraints.

13. The method of claim 12 , wherein the at least one processor is further configured to:

assign a relevancy score to each of the filtered queried data records, wherein the returned first plurality of entity instances or the returned second plurality of entity instances correspond to the filtered queried data records based on the assigned relevancy score.

14. The method of claim 13 wherein the relevancy score is based on one or more of an order of a sequence of the series of characters, a user identifier identifying a user operating the GUI, or a page view metric.

15. A non-transitory computer-readable device having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations comprising:

providing, by a computing device, a graphical user interface (GUI) for a GUI object, wherein the GUI includes a polymorphic lookup interface for retrieving a first plurality of entity instances corresponding to a first entity type and a second plurality of entity instances corresponding to a second entity type to relate to the GUI object, wherein the first entity type and the second entity type are included in a plurality of entity types;

receiving a selection of the first entity type from the plurality of entity types;

in response to receiving the selection of the first entity type, returning the first plurality of entity instances in the polymorphic lookup interface;

receiving a selection of the second entity type from the plurality of entity types;

in response to receiving the selection of the second entity type, returning the second plurality of entity instances in the polymorphic lookup interface, wherein at least one of the returned first plurality of entity instances or the returned the second plurality of entity instances is based on querying an inverted index database comprising a hierarchy of indexes, and wherein the hierarchy of indexes are searched based on a series of characters received via a search field of the polymorphic lookup interface;

receiving, within the polymorphic lookup interface, a selection of a first entity instance of the first entity type from the first plurality of entity instances and a selection of a second entity instance of the second entity type from the second plurality of entity instances;

in response to receiving the selection of the first and second entity instances, relating, by the computing device, the first and second entity instances with the GUI object; and

storing the related first and second entity instances in a database object corresponding to the GUI object.

16. The non-transitory computer-readable device of claim 15 , the operations further comprising:

using the series of characters to query the inverted index database to retrieve record identifiers; and

querying a records database to obtain data records corresponding to the record identifiers.

17. The non-transistor computer-readable device of claim 16 , wherein the inverted index database includes an index for two or more words.

18. The non-transitory computer-readable device of claim 16 , wherein the series of characters includes an ordered list of words, and wherein the returned first plurality of entity instances or the returned second plurality of entity instances prioritizes possible entity instances having the same order as the ordered list of words.

19. The non-transitory computer-readable device of claim 16 , the operations further comprising:

filtering queried data records based on access rules or search constraints; and

assigning a relevancy score to each of the filtered queried data records, wherein the returned first plurality of entity instances or the returned second plurality of entity instances correspond to the filtered queried data records based on the assigned relevancy score.

20. The non-transitory computer-readable device of claim 19 , wherein the relevancy score is based on one or more of an order a sequence of the series of characters, a user identifier identifying a user operating the GUI, or a page view metric.

Assignments (2)
CHANGE OF NAME Recorded Nov 21, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069431/0007 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2016
From: BRETTE, MARC; SORRENTINO, GLENN; VOGT, JAMES; VEERAVALLI, NAVEEN
To: SALESFORCE.COM, INC.
Reel/Frame 037958/0412 →