Back to results
US 11,443,098 B1Granted
Federated recursive user interface element rendering
AssigneeAmazon Technologies, Inc.
InventorsMansi Goel, Nilanjan Basu, Ravi Sekhar Chilmakuri, Shreekanth Pandurang Lakshmeshwar, Pramod Kumar Singh
Life of this patent
Estimating the term…
Abstract
A rendering engine is disclosed that provides to federation of user interface elements and recursive execution of user interface elements. By federating user interface elements, the code for maintaining the various elements can be separately maintained, created, and updated without affecting other elements or the page layout of a particular page in a site.
Claims20
A method, comprising:
- obtaining, via at least one computing device, a request to render a page on behalf of a client device, the request being generated in response to the client device requesting the page;
- identifying, via the at least one computing device, a page layout corresponding to the page, the page layout defining a plurality of locations within the page layout;
- for each of the plurality of locations within the page layout:
- identifying a user interface element assigned to a particular one of the plurality of locations;
- retrieving a configuration associated with the user interface element, the user interface element specifying a configuration for rendering of the user interface element, wherein the configuration comprises a render predicate and a layout, the layout specifies at least one child user interface element of a plurality of child user interface elements, the at least one child user interface element comprises a respective configuration, a respective render predicate, a respective layout, and code that, when executed, generates respective markup language for placement within the respective layout;
- determining, based upon the render predicate, that the user interface element should be rendered, wherein the render predicate is based at least in part upon a contextual variable of a user session in which the page is requested, wherein the contextual variable is based at least in part upon a product identifier that identifies a product represented within the page;
- in response to determining, based upon the render predicate, that the user interface element should be rendered, retrieving data elements declared within the configuration, the data elements being retrieved externally from the user session, wherein the data elements are based at least in part upon an attribute of the product represented within the page;
- rendering, according to the layout specified by the configuration, the user interface element within the particular one of the locations based upon the data elements declared within the configuration;
- and
- recursively rendering, according to the layout and the respective layout, the at least one child user interface element referenced by the layout specified by the configuration of the user interface element.
7 more elements
A method, comprising:
- obtaining, via at least one computing device, a request to generate a content page;
- identifying, via the at least one computing device, a page layout corresponding to the content page;
- identifying, via the at least one computing device, a reference in the page layout that identifies a user interface element identifier corresponding to a user interface element;
- retrieving, via the at least one computing device, a configuration for the user interface element, wherein the configuration comprises a render predicate and a layout, the layout specifies at least one child user interface element of a plurality of child user interface elements, the at least one child user interface element comprises a respective configuration, a respective render predicate, a respective layout, and code that, when executed, generates respective markup language for placement within the respective layout;
- evaluating, via the at least one computing device, that the render predicate specifies that the user interface element should be rendered within the content page, wherein the render predicate is based at least in part upon a contextual variable of a user session in which the content page is requested, wherein the contextual variable is based at least in part upon a product identifier, wherein the render predicate is further based at least in part upon the product identifier identifying a product that meets at least one of a product name, a product class, or a product category;
- determining, via the at least one computing device and based upon the respective render predicate being not satisfied, that the at least one child user interface element should not be rendered within the layout;
- executing, via the at least one computing device, code associated with the user interface element to generate markup language in response to the render predicate being met;
- and
- placing, via the at least one computing device, the markup language within the content page at a location corresponding to the reference in the page layout.
6 more elements
A system comprising:
- at least one computing device;
- and
- a rendering engine executed by the at least one computing device, the rendering engine, when executed, causing the at least one computing device to at least:
- obtain a request to generate a content page;
- identify a page layout corresponding to the content page;
- identify a reference in the page layout corresponding to a user interface element;
- retrieve a configuration for the user interface element, wherein the configuration comprises a render predicate and a layout, the layout specifies at least one child user interface element of a plurality of child user interface elements, the at least one child user interface element comprises a respective configuration, a respective render predicate, a respective layout, and code that, when executed, generates respective markup language for placement within the respective layout;
- determine that the render predicate specifies that the user interface element should be rendered within the content page, wherein the render predicate is based at least in part upon a contextual variable of a user session in which the content page is requested, wherein the contextual variable is based at least in part upon a product identifier, wherein the render predicate is further based at least in part upon the product identifier identifying a product that meets at least one of a product name, a product class, or a product category;
- determine, based upon the respective render predicate being not satisfied, that the at least one child user interface element should not be rendered within the layout;
- execute the code associated with the user interface element to generate markup language;
- and
- place the markup language within the content page at a location corresponding to a tag in the page layout.
9 more elements
Dependencies are inferred from the claim text.