Headless content management system (CMS)
Abstract
A system, method, and apparatus provide the ability to generate and deliver digital content in a headless content management system. A layout engine exposes a visual editing interface to a business user and accepts input to compose a layout consisting of components that define structural entities that control what to render. Marketing content is associated with the components. Each component is added, via the visual editing interface, to zones of the layout. Developer code may restrict a type of component that can be added to each zone. The layout and zones control a conceptual design for rendering the digital content. The layout engine receives a request for content from one of multiple different client applications that are executing in different hosting environments. The content is delivered, based on the layout, to the client application for rendering to a consumer.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A computer-implemented system for generating digital content comprising:
(a) a computer;
(b) developer code executing on the computer, wherein:
(1) the developer code defines one or more zones, the more zones define a structure of a layout, and the developer code restricts a type of component that can be added to one or more of the one or more zones;
(2) the developer code controls a schema of one or more components;
(3) the developer code controls structural elements to be displayed while permitting content that is displayed to be controlled by a layout engine;
(c) the layout engine executing on the computer, wherein:
(1) the layout engine exposes a visual editing interface to a business user;
(2) the visual editing interface accepts input from the business user to compose the layout comprising one or more components without engaging with a developer that controls the developer code;
(3) marketing content is associated with one or more of the one or more components;
(4) the marketing content is stored in a marketing content database;
(5) each of the one or more components are added, via the visual editing interface, to one or more zones of the layout consistent with the type of component set forth in the developer code;
(7) the one or more components define structural entities that control what marketing content to render;
(8) the layout and the one or more zones control a conceptual design for rendering the marketing content;
(9) the layout engine receives a request, from a client application;
(10) multiple different client applications execute in multiple different hosting environments; and
(11) in response to the request received from the client application, the layout engine delivers the component and associated marketing content, in accordance with the layout, to the client application for rendering to a consumer in a technology specific to a hosting environment where the client application is executing.
2. The computer-implemented system of claim 1 , further comprising:
a layout database where the layout is stored, wherein the layout is stored in the layout database as a partial layout, and wherein the partial layout can be reused to compose other layouts.
3. The computer-implemented system of claim 1 , further comprising:
one or more variances that are added, by the business user, to each of the one or more components, wherein each of the one or more variances comprises one or more personalization rules that trigger different marketing content to be associated with the one or more components.
4. The computer-implemented system of claim 3 , wherein the one or more variances control:
the marketing content that is associated with each of the one or more components;
a type of each of the one or more components; and
non-marketing metadata associated with each of the one or more components.
5. The computer-implemented system of claim 3 , wherein the layout engine:
measures an effectiveness of the one or more variances based on a set of measurement criteria; and
selects, based on the set of measurement criteria, an optimal variance from the one or more variances, to associate with one of the one or more components.
6. The computer-implemented system of claim 1 , wherein the layout is varied, based on input from the business user, and based on the client application, a language, or a geographic region.
7. The computer-implemented system of claim 1 , wherein in response to the layout engine receiving the request, the layout engine:
performs a lookup of the layout in a layout database;
assembles the one or more components added to the one or more zones in the layout; and
produces machine readable output that can be interpreted by the client application that performs the rendering of the layout in the technology specific to the hosting environment where the client application is executing.
8. The computer-implemented system of claim 1 , wherein:
the request identifies the consumer;
in response to receiving the request, the layout engine establishes a special context based on information in a consumer behavior database, wherein the information relates to the consumer; and
the special context executes a composition of the layout that personalizes the one or more components to the consumer based on the information in the consumer behavior database.
9. The computer-implemented system of claim 1 , wherein:
the request does not specifically identify the consumer;
in response to receiving the request, the layout engine establishes a special context based on information in a consumer behavior database, wherein the information relates to implicit attributes in the request; and
the special context executes a composition of the layout that personalizes the one or more components to the consumer based on the information in the consumer behavior database.
10. The computer-implemented system of claim 1 , wherein:
upon receiving the request, the layout engine records the request and metadata in a consumer behavior database; and
the layout engine uses the consumer behavior database to personalize responses to subsequent requests.
11. The computer-implemented system of claim 1 , wherein the layout engine:
determines that a security context has been established for the request;
impersonates the request as a given identity based on the security context; and
delivers only parts of the layout that the given identity has read access to.
12. The computer-implemented system of claim 1 , wherein:
the one or more components comprise personalized components and non-personalized components;
the layout engine replaces the personalized components with placeholder components in the layout;
the layout engine delivers, to the client application, the layout with the non-personalized components and the placeholder components;
the placeholder components are persisted for expedited delivery to the client application compared to delivery of the personalized components; and
the layout engine delivers the personalized components asynchronously for progressive loading by the client application.
13. A computer-implemented method for generating digital content, comprising:
(a) developer code defining one or more zones, wherein:
(1) the one or more zones define a structure of a layout;
(2) the developer code restricts a type of component that can be added to one or more of the one or more zones;
(3) the developer code controls a schema of one or more components;
(4) the developer code controls structural elements to be displayed while permitting content that is displayed to be controlled by a layout engine;
(b) exposing a visual editing interface to a business user;
(c) accepting input from the business user to compose a layout comprising one or more components without engaging with a developer that controls the developer code, wherein marketing content is associated with one or more of the one or more components;
(d) storing the marketing content in a marketing content database;
(e) adding each of the one or more components, via the visual editing interface, to one or more zones of the layout consistent with the type of component set forth in the developer code, wherein:
(1) the one or more components define structural entities that control what marketing content to render;
(5) the layout and the one or more zones control a conceptual design for rendering the marketing content;
(f) receiving a request, from a client application, wherein multiple different client applications execute in multiple different hosting environments; and
(g) in response to the request received from the client application, delivering the component and the associated marketing content, in accordance with the layout, to the client application for rendering to a consumer in a technology specific to a hosting environment where the client application is executing.
14. The computer-implemented method of claim 13 , further comprising:
storing the layout in a layout database, wherein the layout is stored in the layout database as a partial layout;
reusing the partial layout to compose other layouts.
15. The computer-implemented method of claim 13 , further comprising:
adding one or more variances, to each of the one or more components, wherein each of the one or more variances comprises one or more personalization rules that trigger different marketing content to be associated with the one or more components.
16. The computer-implemented method of claim 15 , wherein the one or more variances control:
the marketing content that is associated with each of the one or more components;
a type of each of the one or more components; and
non-marketing metadata associated with each of the one or more components.
17. The computer-implemented method of claim 15 , further comprising:
measuring an effectiveness of the one or more variances based on a set of measurement criteria; and
selecting, based on the set of measurement criteria, an optimal variance from the one or more variances, to associate with one of the one or more components.
18. The computer-implemented method of claim 13 , wherein the layout is varied, based on input from the business user, and based on the client application, a language, or a geographic region.
19. The computer-implemented method of claim 13 , wherein in response to receiving the request:
performing a lookup of the layout in a layout database;
assembling the one or more components added to the one or more zones in the layout; and
producing machine readable output that can be interpreted by the client application that performs the rendering of the layout in the technology specific to the hosting environment where the client application is executing.
20. The computer-implemented method of claim 13 , wherein:
the request identifies the consumer;
in response to receiving the request, establishing a special context based on information in a consumer behavior database, wherein the information relates to the consumer; and
the special context executes a composition of the layout that personalizes the one or more components to the consumer based on the information in the consumer behavior database.
21. The computer-implemented method of claim 13 , wherein:
the request does not specifically identify the consumer;
in response to receiving the request, establishing a special context based on information in a consumer behavior database, wherein the information relates to implicit attributes in the request; and
the special context executes a composition of the layout that personalizes the one or more components to the consumer based on the information in the consumer behavior database.
22. The computer-implemented method of claim 13 , further comprising:
upon receiving the request, recording the request and metadata in a consumer behavior database; and
utilizing the consumer behavior database to personalize responses to subsequent requests.
23. The computer-implemented method of claim 13 , further comprising:
determining that a security context has been established for the request;
impersonating the request as a given identity based on the security context; and
delivering only parts of the layout that the given identity has read access to.
24. The computer-implemented method of claim 13 , wherein:
the one or more components comprise personalized components and non-personalized components;
the method further comprises:
replacing the personalized components with placeholder components in the layout;
delivering, to the client application, the layout with the non-personalized components and the placeholder components;
persisting the placeholder components for expedited delivery to the client application compared to delivery of the personalized components; and
delivering the personalized components asynchronously for progressive loading by the client application.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.