Session table framework
First Claim
1. A method in a host organization, the method comprising:
- receiving a request at the host organization from a client device, the request specifying an application available via the host organization;
generating, via an application extender, a user session unique to the client device in a memory of the host organization;
creating, via the application extender, a user session data table within the user session of the memory;
processing the request via the application specified by the request on behalf of the client device;
updating the user session data table based on the processing of the request;
transmitting a response to the client device responsive to the request;
wherein creating the user session data table comprises creating the user session data table based on metadata associated with the application specified by the request;
wherein the metadata defines a structure for the user session data table based upon which the user session data table is created;
wherein the metadata further defines a plurality of controls, each control specifying display logic for one or more of the plurality of data elements; and
wherein transmitting the response to the client device responsive to the request comprises generating a renderable User Interface (UI), via a UI rendering program extension, based on the update user session data table by;
(a) incorporating each of the plurality of controls defined by the metadata into the renderable UI, (b) incorporating, for each of the plurality of controls, the display logic specified by each control into the renderable UI, and (c) incorporating each of the plurality of data elements into the renderable UI based on the display logic specified by each control, wherein each if the plurality if data elements are retrieved from the updated user session data table.
1 Assignment
0 Petitions
Accused Products
Abstract
In accordance with embodiments disclosed herein, there are provided methods, systems, and apparatuses for implementing a session table framework including, for example, receiving a request at a host organization from a client device, in which such a request specifies an application available via the host organization; generating a user session unique to the client device in a memory of the host organization; creating a user session data table within the user session; processing the request via the application specified by the request on behalf of the client device; updating the user session data table based on the processing of the request; and transmitting a response to the client device responsive to the request.
128 Citations
24 Claims
-
1. A method in a host organization, the method comprising:
-
receiving a request at the host organization from a client device, the request specifying an application available via the host organization; generating, via an application extender, a user session unique to the client device in a memory of the host organization; creating, via the application extender, a user session data table within the user session of the memory; processing the request via the application specified by the request on behalf of the client device; updating the user session data table based on the processing of the request; transmitting a response to the client device responsive to the request; wherein creating the user session data table comprises creating the user session data table based on metadata associated with the application specified by the request; wherein the metadata defines a structure for the user session data table based upon which the user session data table is created; wherein the metadata further defines a plurality of controls, each control specifying display logic for one or more of the plurality of data elements; and wherein transmitting the response to the client device responsive to the request comprises generating a renderable User Interface (UI), via a UI rendering program extension, based on the update user session data table by;
(a) incorporating each of the plurality of controls defined by the metadata into the renderable UI, (b) incorporating, for each of the plurality of controls, the display logic specified by each control into the renderable UI, and (c) incorporating each of the plurality of data elements into the renderable UI based on the display logic specified by each control, wherein each if the plurality if data elements are retrieved from the updated user session data table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method in a host organization, the method comprising:
-
receiving a request at the host organization from a client device, the request specifying an application available via the host organization; generating, via an application extender, a user session unique to the device in a memory of the host organization; creating, via the application extender, a user session data table within the user session of the memory; processing the request via the application specified by the request on behalf of the client device; updating the user session data table based on the processing of the request; transmitting a response to the client device responsive to the request; wherein creating the user session data table comprises the user session data table based on metadata associated with the application specified by the request; wherein the metadata defines a structure for the user session data table based upon which the user session data table is created; wherein a mapping of the metadata defines data persistence between one or more cells in the user session data table and a corresponding one or more data persistence locations in a database of the host organization; and wherein the method further comprises a data persistence program extension synchronizing data within the one or more cells in the user session data table with the corresponding one or more data persistence locations in the database system of the host organization based on the mapping to persist the data in the one or more cells beyond the existence of the generated user session unique to the client device in the memory of the host organization on behalf of the client device.
-
-
20. A method in a host organization, the method comprising:
-
receiving a request at the host organization from a client device, the request specifying an application available via the host organization; generating, via an application extender, a user session unique to the client device in a memory of the host organization; creating, via the application extender, a user session data table within the user session of the memory; processing the request via the application specified by the request on behalf of the client device; updating the user session data table based on the processing of the request; transmitting a respond to the client device responsive to the request; wherein updating the user session data table based on the processing of the request comprises one or more of the following operations; modifying one or more cells in the user session data table based on output received from the application, the one or more cells being modified based on a portion of the output representing a change to existing data cells of the user session data table; adding one or more columns to the user session data table based on the output received from the application, the one or more columns being added based on a portion of the output corresponding to one or more fields previously unrepresented by the user session data table; and adding one or more rows to the user session data table based on the output received from the application, the one or more rows being added based on a portion of the output corresponding to one or more elements previously unrepresented by data in one or more existing columns within the user session data table.
-
-
21. A non-transitory computer readable storage medium having instructions stored thereon that, when executed by a processor in a host organization, the instructions caused the host organization to perform operations comprising:
-
receiving a request at the host organization from a client device, the request specifying an application available via the host organization; generating, via an application extender, a user session unique to the client device in a memory of the host organization; creating, via the application extender, a user session data table within the user session of the memory; processing the request via the application specified by the request on behalf of the client device; updating the user session data table based on the processing of the request; transmitting a response to the client device responsive to the request; wherein updating the user session data table based on the processing of the request comprises one or more of the following operations; modifying one or more cells in the user session data table based on output received from the application, the one or more cells being modified based on a portion of the output representing a change to existing data cells of the user session data table; adding one or more columns to the user session data table based on the output received from the application, the one or more columns being added based on apportion of the output corresponding to one or more fields previously unrepresented by the user session data table; and adding one or more rows to the user session data table based on the output received from the application, the one or more rows being added based on apportion of the output corresponding to one or more elements previously unrepresented by a data in one or more existing columns within the user session data table. - View Dependent Claims (22)
-
-
23. A system comprising:
-
a processor to execute instructions; a request interface to receive a request from a client device, the request specifying an application communicably interfaced to the system; a memory to store a user session unique to the client device on behalf of the client device; a table creation program extension of an application extender to generate a user session data table within the user session of the memory based on metadata associated with the application specified by the request, wherein the metadata specifies a generic set of columns or data fields for use with the application specified by the request; a table population program extension of the application extender to populate data into the user session data table based on the metadata associated with the application specified by the request; a User Interface (UI) rendering program extension of the application extender to generate a renderable User Interface (UI) based on the metadata associated with the application specified by the request and based further on the data in the user session data table; wherein the application extender to process the request via the application specified by the request on behalf of the client device and to further cause the table population program extension to update the user session data table based on output received from the application; and wherein the application extender comprises a data persistence program extension to;
(a) synchronize data within one or more cell of the user session data table with a corresponding one or more data persistence location in a database and (b) synchronize update data within the one or more cell in the user session data table with the corresponding one or more data persistence location when the one or more cells in the user session data table are updated responsive to update data received within a second request received from the client device. - View Dependent Claims (24)
-
Specification