IP Library Granted Patent US 11,797,638
Granted Patent B2
US 11,797,638 · App. 17/249,240 · Granted Oct 24, 2023

Aggregate component for parallel browser-initiated actions

Inventors: David Stone (Oakland, CA); Daniel S. Kim (San Francisco, CA); Jun Gao (Foster City, CA)
G06F16/958G06F3/0482G06F8/34G06F8/38G06F3/0486
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 11,797,638
App. No.
17/249,240
Granted
Oct 24, 2023
Kind
B2
Abstract

Database systems and methods are provided for visual design and customization of processes for web applications. A method involves identifying a plurality of configured actions added to an aggregate action component region on a graphical user interface (GUI) display, automatically generating configured code for each of the configured actions in accordance with a respective user configuration of the respective configured action, identifying a user configuration associated with the aggregate action component, automatically generating aggregate action component code configurable to cause a browser application to initiate the configured code for each of the configured actions in parallel in accordance with the user configuration, and automatically generating process flow code including a reference to the aggregate action component code in accordance with a sequence defined for a web page.

Claims (52)

1. A method comprising:

identifying a plurality of configured actions added to a region on a graphical user interface (GUI) display at a client device corresponding to an aggregate action component;

automatically generating configured code for each configured action of the plurality of configured actions in accordance with a respective configuration of the respective configured action of the plurality of configured actions;

identifying a configuration associated with the aggregate action component;

automatically generating aggregate action component code for a browser application initiating the configured code for each configured action of the plurality of configured actions in parallel in accordance with the configuration associated with the aggregate action component;

automatically generating process flow code including a first reference to the aggregate action component code in accordance with a sequence defined for a web page;

creating an aggregate action web component object in a database to maintain an association between the aggregate action component code and first metadata identifying the configured code for each configured action of the plurality of configured actions; and

creating a process flow web component object in the database to maintain a second association between the process flow code and second metadata identifying a sequence of configured components within the GUI display, wherein:

the sequence of configured components includes the aggregate action component; and

the second metadata includes the first reference to the aggregate action web component object in accordance with the sequence.

2. The method of claim 1 , further comprising updating code for the web page to include a second reference to the process flow web component object in the database.

3. The method of claim 2 , further comprising identifying a user configuration of a GUI element on the GUI display corresponding to a GUI display behavior for the aggregate action component, wherein the aggregate action component code is configurable to cause the browser application to dynamically update a web page GUI display for the web page by invoking a subsequent configured component of the sequence of configured components without waiting for response data from any one of the plurality of configured actions.

4. The method of claim 1 , wherein:

automatically generating the configured code for each configured action of the plurality of configured actions comprises, for each configured action of the plurality of configured actions:

automatically generating the configured code for performing a respective action with respect to a network address identified by the respective configuration of the respective configured action; and

creating a respective configured action web component object in the database to maintain the configured code; and

the first metadata comprises a respective reference to the respective configured action web component object for each configured action of the plurality of configured actions.

5. The method of claim 1 , further comprising identifying a user configuration of a GUI element on the GUI display corresponding to an error handling for the aggregate action component, wherein the aggregate action component code is configurable to cause the browser application to respond to an error generated by at least one of the plurality of configured actions in accordance with the user configuration of the GUI element.

6. The method of claim 5 , wherein the aggregate action component code comprises behavioral code configurable to cause the browser application to update at least a portion a web page GUI display for the web page in response to response data returned by one or more actions of the plurality of configured actions when the user configuration of the GUI element enables the response data to be applied when the error is generated.

7. The method of claim 1 , further comprising identifying a user configuration of a GUI element on the GUI display corresponding to a GUI display behavior for the aggregate action component, wherein the aggregate action component code is configurable to cause the browser application to dynamically update a web page GUI display for the web page in response to data returned by at least one of the plurality of configured actions in accordance with the user configuration of the GUI element.

8. The method of claim 7 , wherein the aggregate action component code comprises behavioral code configurable to cause the browser application to asynchronously update the web page GUI display for the web page in response to respective response data returned by each respective action of the plurality of configured actions when the user configuration of the GUI element corresponds to a non-blocking mode.

9. A non-transitory machine-readable storage medium that provides instructions that, when executed by a processor, are configurable to cause said processor:

provide a process flow builder graphical user interface (GUI) display at a client device over a network, wherein the process flow builder GUI display comprises a menu of configurable components for integration in a web page;

obtain, from the process flow builder GUI display, a plurality of configured action components from the menu of configurable components added to a region on the process flow builder GUI display corresponding to an aggregate action component;

generate configured code for each configured action of the plurality of configured action components in accordance with a respective configuration of the respective configured action of the plurality of configured action components;

identify a configuration associated with the aggregate action component;

generate aggregate action component code configurable to cause a browser application to initiate the configured code for each configured action of the plurality of configured action components in parallel in accordance with the configuration associated with the aggregate action component;

generate process flow code corresponding to a sequence of configured components within process flow builder GUI display, wherein the sequence of configured components includes the aggregate action component and the process flow code includes reference to the aggregate action component code in accordance with the sequence of configured components;

create an aggregate action web component object in a database to maintain an association between the aggregate action component code and first metadata identifying the configured code for each configured action of the plurality of configured action components; and

create a process flow web component object in the database to maintain a second association between the process flow code and second metadata identifying the sequence of configured components within the process flow builder GUI display.

10. The non-transitory machine-readable storage medium of claim 9 , wherein the instructions are configurable to cause said processor to update code for the web page to include a second reference to the process flow web component object in the database.

11. The non-transitory machine-readable storage medium of claim 10 , wherein the instructions are configurable to cause said processor to identify a user configuration of a GUI element on the process flow builder GUI display corresponding to a GUI display behavior for the aggregate action component, wherein the aggregate action component code is configurable to cause the browser application to dynamically update a web page GUI display for the web page by invoking a subsequent configured component of the sequence of configured components without waiting for response data from any one of the plurality of configured action components.

12. The non-transitory machine-readable storage medium of claim 9 , wherein the instructions are configurable to cause said processor to:

generate the configured code for performing a respective action with respect to a network address identified by the respective configuration of the respective configured action for each configured action of the plurality of configured action components; and

create a respective configured action web component object in the database to maintain the configured code for each configured action of the plurality of configured action components, wherein the first metadata comprises a respective reference to the respective configured action web component object for each configured action of the plurality of configured action components.

13. The non-transitory machine-readable storage medium of claim 9 , wherein the instructions are configurable to cause said processor to identify a user configuration of a GUI element on the process flow builder GUI display corresponding to an error handling for the aggregate action component, wherein the aggregate action component code is configurable to cause the browser application to respond to an error generated by at least one of the plurality of configured action components in accordance with the user configuration of the GUI element.

14. The non-transitory machine-readable storage medium of claim 13 , wherein the aggregate action component code comprises behavioral code configurable to cause the browser application to update at least a portion a web page GUI display for the web page in response to response data returned by one or more actions of the plurality of configured action components when the user configuration of the GUI element enables the response data to be applied when the error is generated.

15. The non-transitory machine-readable storage medium of claim 9 , wherein the instructions are configurable to cause said processor to identify a user configuration of a GUI element on the process flow builder GUI display corresponding to a GUI display behavior for the aggregate action component, wherein the aggregate action component code is configurable to cause the browser application to dynamically update a web page GUI display for the web page in response to data returned by at least one of the plurality of configured action components in accordance with the user configuration of the GUI element.

16. The non-transitory machine-readable storage medium of claim 15 , wherein the aggregate action component code comprises behavioral code configurable to cause the browser application to asynchronously update the web page GUI display for the web page in response to respective response data returned by each respective action of the plurality of configured action components when the user configuration of the GUI element corresponds to a non-blocking mode.

17. A system comprising:

a non-transitory machine-readable storage medium that stores software; and

a processor, coupled to the non-transitory machine-readable storage medium, to execute the software that implements a visual process design service and that is configurable to:

identify a plurality of configured actions added to a region on a graphical user interface (GUI) display at a client device corresponding to an aggregate action component;

automatically generate configured code for each configured action of the plurality of configured actions in accordance with a respective configuration of the respective configured action of the plurality of configured actions;

identify a configuration associated with the aggregate action component;

automatically generate aggregate action component code for a browser application initiating the configured code for each configured action of the plurality of configured actions in parallel in accordance with the configuration associated with the aggregate action component;

automatically generate process flow code including a first reference to the aggregate action component code in accordance with a sequence defined for a web page

create an aggregate action web component object in a database to maintain an association between the aggregate action component code and first metadata identifying the configured code for each configured action of the plurality of configured actions;

create a process flow web component object in the database to maintain a second association between the process flow code and second metadata identifying a sequence of configured components within the GUI display; and

updating code for the web page to include a second reference to the process flow web component object in the database, wherein:

the sequence of configured components includes the aggregate action component; and

the second metadata includes the first reference to the aggregate action web component object in accordance with the sequence.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0529 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2021
From: STONE, DAVID; KIM, DANIEL S.; GAO, JUN
To: SALESFORCE.COM, INC.
Reel/Frame 055395/0565 →
Continuity (1)
Related Publication 20220269738A1 · Aug 25, 2022
Cited By (3)
US 12,242,602 US 12,353,401 US 12,625,944