IP Library Granted Patent US 11,620,697
Granted Patent B2
US 11,620,697 · App. 17/158,071 · Granted Apr 4, 2023

Systems and methods of polymorphic content generation

Inventor: Marcus Lenzner (Jena, DE)
Assignee: Salesforce, Inc.
G06Q30/0641G06F16/972
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,620,697
App. No.
17/158,071
Granted
Apr 4, 2023
Kind
B2
Abstract

Systems and method are provided for receiving, at a server, a request to generate a page with content. The server may determine an output type for the page based on the received request. Object data may be retrieved for the content of the page, and the content for the page may be determined. Content data for the determined output type may be serialized based on the retrieved object data. The page may be generated to be transmitted for output based on the serialized content data.

Claims (58)

1. A method comprising:

receiving, at a server, a request to generate a page with content;

determining, at the server, an output type for the page based on the received request;

retrieving, at the server, object data for the content of the page;

determining, at the server, the content for the page by:

in response to determining whether the output type is a first type, serializing first content data for the determined first type of output type based on the retrieved object data;

in response to determining whether the output type is a second type, serializing second content data for the determined second type of output type based on the retrieved object data; and

in response to determining whether the output type is a third type, serializing third content data for the determined third type of output type based on the retrieved object data,

wherein a serializer is retrieved by the server in response to determining whether the output is at least one selected from the group consisting of: the first type, the second type, and the third type, and wherein at least one selected from the group consisting of: the first content data, the second content data, and the third content data is serialized by the retrieved serializer, and

generating, at the server, the page to be transmitted for output based on at least one selected group consisting of: the serialized first content data for the determined first type, the serialized second content data for the determined second type, and the serialized third content data for the determined third type.

2. The method of claim 1 , wherein the retrieving the serializer comprises:

determining whether the retrieved serializer is defined; and

serializing, at the server, the third content data of the determined third type using the defined retrieved serializer based on the retrieved object data.

3. The method of claim 1 , further comprising:

determining whether the first content data, the second content data, or the third content data is defined; and

generating the page to be transmitted for output based on the serialized first content data, second content data, or third content data when the first content data, the second content data, or the third content data is defined; and

outputting an error notification when first content data, the second content data, or the third content data is undefined.

4. The method of claim 1 , wherein the retrieving the object data comprises:

retrieving the object data from a data cache communicatively coupled to the server, wherein the object data is canonical object data.

5. The method of claim 4 , wherein the retrieving the object data comprises:

transforming, at the server, raw object information into a canonical format based on raw data stored in a storage device communicatively coupled to the server when the object data is not defined.

6. The method of claim 5 , further comprising:

storing the transformed canonical object data in the storage device.

7. The method of claim 6 , further comprising:

retrieving, at the server, executable script from an object descriptor.

8. The method of claim 7 , further comprising:

determining, at the server, whether the executable script is defined.

9. The method of claim 8 , further comprising:

generating, at the server, custom data using the executable script when the executable script is defined; and

injecting, at the server, the generated custom data into the object data.

10. The method of claim 8 , further comprising:

determining, at the server, whether an object of the object data has visible subcomponents.

11. The method of claim 10 , further comprising:

for each subcomponent in the object, retrieving the subdata for the subcomponents and adding the subdata to a subdataset; and

injecting, at the server, the subdataset into the object data.

12. A system comprising:

a server having at least one processor and a memory to:

receive a request to generate a page with content;

determine an output type for the page based on the received request;

retrieve object data for the content of the page;

determine the content for the page by:

in response to determining whether the output type is a first type, serializing first content data for the determined first type of output type based on the retrieved object data;

in response to determining whether the output type is a second type, serializing second content data for the determined second type of output type based on the retrieved object data; and

in response to determining whether the output type is a third type, serializing third content data for the determined third type of output type based on the retrieved object data,

wherein a serializer is retrieved by the server in response to determining whether the output is at least one selected from the group consisting of: the first type, the second type, and the third type, and wherein at least one selected from the group consisting of: the first content data, the second content data, and the third content data is serialized by the retrieved serializer, and

generate the page to be transmitted for output based on at least one selected group consisting of: the serialized first content data for the determined first type, the serialized second content data for the determined second type, and the serialized third content data for the determined third type.

13. The system of claim 12 , wherein the server retrieves the serializer for the third type by determining whether the retrieved serializer is defined, and serializing the third content data of the determined third type using the defined retrieved serializer based on the retrieved object data.

14. The system of claim 12 , wherein the server determines whether the first content data, the second content data, or the third content data is defined, and generate the page to be transmitted for output based on the serialized first content data, second content data, or third content data when the first content data, the second content data, or the third content data is defined, and outputs an error notification when first content data, the second content data, or the third content data is undefined.

15. The system of claim 12 , wherein the server retrieves the object data by retrieving the object data from a data cache communicatively coupled to the server, wherein the object data is canonical object data.

16. The system of claim 15 , further comprising:

a storage device communicatively coupled to the server,

wherein the server retrieves the object data by transforming raw object information into a canonical format based on raw data stored in the storage device when the object data is not defined.

17. The system of claim 16 , wherein the server stores the transformed canonical object data in the storage device.

18. The system of claim 17 , wherein the server retrieves executable script from an object descriptor.

19. The system of claim 18 , wherein the server determines whether the executable script is defined.

20. The system of claim 19 , wherein the server generates custom data using the executable script when the executable script is defined, and injects the generated custom data into the object data.

21. The system of claim 19 , wherein the server determines whether an object of the object data has visible subcomponents.

22. The system of claim 21 , wherein the server retrieves the subdata for the subcomponents and adds the subdata to a subdataset for each subcomponent in the object, and injects the subdataset into the object data.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0512 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2021
From: LENZNER, MARCUS
To: SALESFORCE.COM, INC.
Reel/Frame 055026/0974 →
Continuity (1)
Related Publication 20220237689A1 · Jul 28, 2022