IP Library Granted Patent US 10,509,546
Granted Patent B2
US 10,509,546 · App. 15/693,355 · Granted Dec 17, 2019

History component for single page application

Inventors: Gautam Vasudev (San Francisco, CA); Avaneesh Desai (San Francisco, CA); Megha Tiwari (San Francisco, CA); Maxwell Lu (San Francisco, CA); Ji Wang (Fremont, CA); Nicolas Kruk (Durham, NC)
Assignee: salesforce.com, inc.
G06F3/0483G06F3/0482G06F16/2379G06F16/252
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,509,546
App. No.
15/693,355
Granted
Dec 17, 2019
Kind
B2
Abstract

Disclosed are some implementations of systems, apparatus, methods and computer program products for facilitating the presentation of a personalized user history component in a graphical user interface (GUI), where the history component identifies primary tabs and associated sub-tabs that have been recently accessed by the user. Upon selection of one of the primary tabs, information pertaining to data records associated with the selected primary tab is presented using a link that includes identifiers of the selected primary tab and associated sub-tabs. The link may be saved or shared, enabling the primary tab and associated sub-tabs to be accessed by the user or another user.

Claims (60)

1. A system comprising:

a database system implemented using a server system, the database system configurable to cause:

during execution of a web-based application, providing a graphical user interface (GUI) for display at a client device in association with a web site, the GUI including a history component associated with a user of the client device and with the application, the history component including a hierarchical structure identifying a set of primary tabs recently accessed by the user during execution of the web-based application and identifying a set of sub-tabs recently accessed by the user during execution of the web-based application, each sub-tab of the set of sub-tabs being identified within the hierarchical structure in association with a corresponding primary tab of the set of primary tabs, each primary tab of the set of primary tabs and each sub-tab of the set of sub-tabs being associated with a corresponding one or more data objects stored in at least one database;

processing an indication of a user selection, via a utility bar of the GUI, of one of a plurality of primary tabs displayable in the utility bar of the GUI, the utility bar being independent from the history component, each primary tab of the plurality of primary tabs and each sub-tab of the plurality of primary tabs being associated with a corresponding one or more data objects stored in the at least one database;

responsive to processing the indication of the user selection, providing information pertaining to one or more data objects associated with the selected primary tab using a link, the selected primary tab having an associated one or more selectable sub-tabs, the link including an identifier of the selected primary tab and an identifier of each of the associated one or more selectable sub-tabs of the selected primary tab, the link indicating a hierarchy of the selected primary tab and the associated one or more selectable sub-tabs; and

updating the history component of the GUI such that only a single instance of the selected primary tab is included in the set of primary tabs, and an indicator of how recent the selected primary tab was accessed, in relation to other primary tabs identified in the set of primary tabs, is provided.

2. The system of claim 1 , the database system further configurable to cause:

generating the link; and

storing, in the at least one database, information associating the link with the one of the plurality of primary tabs.

3. The system of claim 1 , the database system further configurable to cause:

processing an indication that the user has requested that the link be added to a virtual clipboard;

responsive to processing the indication that the user has requested that the link be added to a virtual clipboard, generating or updating a virtual clipboard to include the link; and

providing the virtual clipboard for display at the client device.

4. The system of claim 1 , the database system further configurable to cause:

listening to tab events during the execution of the web-based application in association with the user;

detecting a tab event during execution of the web-based application;

broadcasting the tab event to one or more components configured to update the GUI.

5. The system of claim 4 , wherein the tab event is a closure of a primary tab, closure of a sub-tab, selection of a primary tab, or selection of a sub-tab.

6. The system of claim 1 , wherein the set of primary tabs are listed in the history component in an order indicating recency of access by the user during execution of the web-based application.

7. The system of claim 1 , wherein sub-tabs associated with a particular primary tab of the set of primary tabs are listed in a sequential order based, at least on part, on at least one of: recency of access by the user during execution of the web-based application, numerical order, alphabetical order, or alphanumeric order.

8. A computer program product comprising computer-readable program code capable of being executed by one or more processors when retrieved from a non-transitory computer-readable medium, the program code comprising instructions configurable to cause:

during execution of a web-based application, providing a graphical user interface (GUI) for display at a client device in association with a web site, the GUI including a history component associated with a user of the client device and with the application, the history component including a hierarchical structure identifying a set of primary tabs recently accessed by the user during execution of the web-based application and identifying a set of sub-tabs recently accessed by the user during execution of the web-based application, each sub-tab of the set of sub-tabs being identified within the hierarchical structure in association with a corresponding primary tab of the set of primary tabs, each primary tab of the set of primary tabs and each sub-tab of the set of sub-tabs being associated with a corresponding one or more data objects stored in at least one database;

processing an indication of a user selection, via a utility bar of the GUI, of one of a plurality of primary tabs displayable in the utility bar of the GUI, the utility bar being independent from the history component, each primary tab of the plurality of primary tabs and each sub-tab of the plurality of primary tabs being associated with a corresponding one or more data objects stored in the at least one database;

responsive to processing the indication of the user selection, providing information pertaining to one or more data objects associated with the selected primary tab using a link, the selected primary tab having an associated one or more selectable sub-tabs, the link including an identifier of the selected primary tab and an identifier of each of the associated one or more selectable sub-tabs of the selected primary tab, the link indicating a hierarchy of the selected primary tab and the associated one or more selectable sub-tabs; and

updating the history component of the GUI such that only a single instance of the selected primary tab is included in the set of primary tabs, and an indicator of how recent the selected primary tab was accessed, in relation to other primary tabs identified in the set of primary tabs, is provided.

9. The computer program product of claim 8 , the program code further comprising instructions configurable to cause:

generating the link; and

storing, in the at least one database, information associating the link with the one of the plurality of primary tabs.

10. The computer program product of claim 8 , the program code further comprising instructions configurable to cause:

processing an indication that the user has requested that the link be added to a virtual clipboard;

responsive to processing the indication that the user has requested that the link be added to a virtual clipboard, generating or updating a virtual clipboard to include the link; and

providing the virtual clipboard for display at the client device.

11. The computer program product of claim 8 , the program code further comprising instructions configurable to cause:

listening to tab events during the execution of the web-based application in association with the user;

detecting a tab event during execution of the web-based application;

broadcasting the tab event to one or more components configured to update the GUI.

12. The computer program product of claim 11 , wherein the tab event is a closure of a primary tab, closure of a sub-tab, selection of a primary tab, or selection of a sub-tab.

13. The computer program product of claim 8 , wherein the set of primary tabs are listed in the history component in an order indicating recency of access by the user during execution of the web-based application.

14. A method, comprising:

during execution of a web-based application, providing a graphical user interface (GUI) for display at a client device in association with a web site, the GUI including a history component associated with a user of the client device and with the application, the history component including a hierarchical structure identifying a set of primary tabs recently accessed by the user during execution of the web-based application and identifying a set of sub-tabs recently accessed by the user during execution of the web-based application, each sub-tab of the set of sub-tabs being identified within the hierarchical structure in association with a corresponding primary tab of the set of primary tabs, each primary tab of the set of primary tabs and each sub-tab of the set of sub-tabs being associated with a corresponding one or more data objects stored in at least one database;

processing an indication of a user selection, via a utility bar of the GUI, of one of a plurality of primary tabs displayable in the utility bar of the GUI, the utility bar being independent from the history component, each primary tab of the plurality of primary tabs and each sub-tab of the plurality of primary tabs being associated with a corresponding one or more data objects stored in the at least one database;

responsive to processing the indication of the user selection, providing information pertaining to one or more data objects associated with the selected primary tab using a link, the selected primary tab having an associated one or more selectable sub-tabs, the link including an identifier of the selected primary tab and an identifier of each of the associated one or more selectable sub-tabs of the selected primary tab, the link indicating a hierarchy of the selected primary tab and the associated one or more selectable sub-tabs; and

updating the history component of the GUI such that only a single instance of the selected primary tab is included in the set of primary tabs, and an indicator of how recent the selected primary tab was accessed, in relation to other primary tabs identified in the set of primary tabs, is provided.

15. The method of claim 14 , further comprising:

generating the link; and

storing, in the at least one database, information associating the link with the one of the plurality of primary tabs.

16. The method of claim 14 , further comprising:

receiving an indication that the user has requested that the link be added to a virtual clipboard;

responsive to receiving the indication that the user has requested that the link be added to a virtual clipboard, generating or updating a virtual clipboard to include the link; and

providing the virtual clipboard for display at the client device.

17. The method of claim 14 , further comprising:

listening to tab events during the execution of the web-based application in association with the user;

detecting a tab event during execution of the web-based application;

broadcasting the tab event to one or more components configured to update the GUI.

18. The method of claim 17 , wherein the tab event is a closure of a primary tab, closure of a sub-tab, selection of a primary tab, or selection of a sub-tab.

19. The method of claim 14 , wherein the set of primary tabs are listed in the history component in an order indicating recency of access by the user during execution of the web-based application.

20. The method of claim 14 , wherein sub-tabs associated with a particular primary tab of the set of primary tabs are listed in a sequential order based, at least on part, on at least one of: recency of access by the user during execution of the web-based application, numerical order, alphabetical order, or alphanumeric order.

21. The system of claim 1 , the database system configurable to cause:

sharing the link with a second user.

22. The system of claim 1 , each of the data objects being a database record of the database.

Assignments (3)
CHANGE OF NAME Recorded Nov 21, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069431/0231 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2020
From: LU, MAXWELL
To: SALESFORCE.COM, INC.
Reel/Frame 054158/0776 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2019
From: VAUDEV, GAUTAM; DESAI, AVANEESH; TIWARI, MEGHA; WANG, JI; KRUK, NICOLAS
To: SALESFORCE.COM, INC.
Reel/Frame 050958/0939 →