Omni-channel content mapper framework
A system, apparatus, method, and non-transitory computer readable medium for providing an omni-channel content mapper framework may include a server caused to receive a content request from at least one user device, the content request including a unique content identifier associated with the requested content and desired content type information corresponding to the requested content, determine a desired content mapper (CM) plugin corresponding to the desired content type information from a plurality of CM plugins, obtain content data corresponding to the unique content identifier from a content database, generate an application-agnostic structured data document using the determined content mapper plugin, the application-agnostic structured data document including the obtained content data, and transmit the application-agnostic structured data document to the at least one user device in response to the content request.
1 . A server for providing content to client applications, the server comprising:
a memory storing computer readable instructions; and
processing circuitry configured to execute the computer readable instructions to cause the server to,
receive, by the server, a content request from at least one user device, the content request including a unique content identifier associated with the requested content and desired content type information corresponding to the requested content specifying one of a plurality of types of content presentation formats,
determine, by the server, a desired content mapper (CM) plugin corresponding to the desired content type information from a plurality of CM plugins stored in a server-side plugin repository that each are configured to format content according to different content type-specific rules and attributes associated with respective ones of plurality of types of content presentation formats,
obtain, by the server, content data corresponding to the unique content identifier from a content database,
generate, by the server, an application-agnostic structured data document using the determined content mapper plugin, the application-agnostic structured data document including the obtained content data and formatted for omni-channel delivery across a plurality of client application types including at least mobile applications and web-based applications, and
transmit the application-agnostic structured data document to the at least one user device in response to the content request,
wherein the application-agnostic structured data document transmitted from the server to the at least one user device includes the obtained content data without graphical user interface formatting or webpage styling and enables the at least one user device i) to generate an application specific data document based on the application-agnostic structured data document and a client-side template corresponding to the desired content type information, the application specific data document corresponding to a desired type of a client application installed on the at least one user device from a plurality of types of client applications, and the client-side template including desired content type specific style rules and desired content type specific presentation layer rules, and ii) to display the application specific data document in the client application.
2 . The server of claim 1 , wherein
the plurality of CM plugins includes at least one of:
a card type CM plugin, a story type CM plugin, an asset type CM plugin, a page type CM plugin, an article summary type CM plugin, a pattern landing page type CM plugin, and a course type CM plugin; and
the processing circuitry is further configured to execute the computer readable instructions to cause the server to:
format the content data to the desired content type using the determined CM plugin based on at least one desired content type specific attribute included in the content data and at least one desired content type specific rule corresponding to the at least one desired content type specific attribute included in the determined CM plugin.
3 . The server of claim 1 , wherein the client application is at least one of the mobile application, the web-based application, an enterprise client application, and a web browser.
4 . The server of claim 1 , wherein the processing circuitry is further configured to execute the computer readable instructions to cause the server to:
generate the application-agnostic structured data document by generating a plurality of HTML objects associated with the obtained content data.
5 . The server of claim 4 , wherein the processing circuitry is further configured to execute the computer readable instructions to cause the server to:
cache the plurality of generated HTML objects in a cache database; and
transmit the cached plurality of generated HTML objects to a second user device in response to a second content request including the same unique content identifier and the same desired content type information.
6 . The server of claim 1 , wherein the application-agnostic structured data document is a JavaScript object notation (JSON) document.
7 . The server of claim 1 , wherein the processing circuitry is further configured to execute the computer readable instructions to cause the server to:
generate a preview version of the obtained content data using the determined content mapper plugin; and
transmit the generated preview version to the at least one user device, the transmitting the generated preview version causing the at least one user device to display the preview version of the obtained content data on a client application executing on the at least one user device.
8 . A method of operating a server, the method comprising:
receiving, by the server, a content request from at least one user device, the content request including a unique content identifier associated with the requested content and desired content type information corresponding to the requested content specifying one of a plurality of types of content presentation formats;
determining, by the server, a desired content mapper (CM) plugin corresponding to the desired content type information from a plurality of CM plugin stored in a server-side plugin repository that each are configured to format content according to different content type-specific rules and attributes associated with respective ones of plurality of types of content presentation formats;
obtaining, by the server, content data corresponding to the unique content identifier from a content database;
generating, by the server, an application-agnostic structured data document using the determined content mapper plugin, the application-agnostic structured data document including the obtained content data and formatted for omni-channel delivery across a plurality of client application types including at least mobile applications and web-based applications; and
transmitting, by the server, the application-agnostic structured data document to the at least one user device in response to the content request,
wherein the application-agnostic structured data document transmitted from the server to the at least one user device includes the obtained content data without graphical user interface formatting or webpage styling and includes the obtained content data without graphical user interface formatting or webpage styling and enables the at least one user device i) to generate an application specific data document based on the application-agnostic structured data document and a client-side template corresponding to the desired content type information, the application specific data document corresponding to a desired type of a client application installed on the at least one user device from a plurality of types of client applications, and the client-side template including desired content type specific style rules and desired content type specific presentation layer rules, and ii) to display the application specific data document in the client application.
9 . The method of claim 8 , wherein
the plurality of CM plugins includes at least one of:
a card type CM plugin, a story type CM plugin, an asset type CM plugin, a page type CM plugin, an article summary type CM plugin, a pattern landing page type CM plugin, and a course type CM plugin; and
the method further comprises:
formatting the content data to the desired content type using the determined CM plugin based on at least one desired content type specific attribute included in the content data and at least one desired content type specific rule corresponding to the at least one desired content type specific attribute included in the determined CM plugin.
10 . The method of claim 9 , the method further comprising:
caching the plurality of generated HTML objects in a cache database; and
transmitting the cached plurality of generated HTML objects to a second user device in response to a second content request including the same unique content identifier and the same desired content type information.
11 . The method of claim 8 , wherein the application-agnostic structured data document is a JavaScript object notation (JSON) document.
12 . The method of claim 8 , the method further comprising:
generating a preview version of the obtained content data using the determined content mapper plugin; and
transmitting the generated preview version to the at least one user device, the transmitting the generated preview version causing the at least one user device to display the preview version of the obtained content data on a client application executing on the at least one user device.
13 . A non-transitory computer readable medium storing computer readable instructions, which when executed by processing circuitry of a server, causes the server to:
receive, by the server, a content request from at least one user device, the content request including a unique content identifier associated with the requested content and desired content type information corresponding to the requested content specifying one of a plurality of types of content presentation formats;
determine, by the server, a desired content mapper (CM) plugin corresponding to the desired content type information from a plurality of CM plugins stored in a server-side plugin repository that each are configured to format content according to different content type-specific rules and attributes associated with respective ones of plurality of types of content presentation formats;
obtain content data corresponding to the unique content identifier from a content database;
generate, by the server, an application-agnostic structured data document using the determined content mapper plugin, the application-agnostic structured data document including the obtained content data and formatted for omni-channel delivery across a plurality of client application types including at least mobile application and web-based applications; and
transmit, by the server, the application-agnostic structured data document to the at least one user device in response to the content request, wherein
the application-agnostic structured data document content data without graphical user interface formatting or webpage styling and includes the obtained content data without graphical user interface formatting or webpage styling and enables the at least one user device i) to generate an application specific data document based on the application-agnostic structured data document and a client-side template corresponding to the desired content type information, the application specific data document corresponding to a desired type of a client application installed on the at least one user device from a plurality of types of client applications, and the client-side template including desired content type specific style rules and desired content type specific presentation layer rules, and ii) to display the application specific data document in the client application.
14 . The non-transitory computer readable medium of claim 13 , wherein
the plurality of CM plugins includes at least one of:
a card type CM plugin, a story type CM plugin, an asset type CM plugin, a page type CM plugin, an article summary type CM plugin, a pattern landing page type CM plugin, and a course type CM plugin; and
the server is further caused to:
format the content data to the desired content type using the determined CM plugin based on at least one desired content type specific attribute included in the content data and at least one desired content type specific rule corresponding to the at least one desired content type specific attribute included in the determined CM plugin.
15 . The non-transitory computer readable medium of claim 13 , wherein the client application is at least one of a mobile client application, a web-based client application, an enterprise client application, and a web browser.
16 . The non-transitory computer readable medium of claim 13 , wherein the server is further caused to:
generate the application-agnostic structured data document by generating a plurality of HTML objects associated with the obtained content data.
17 . The non-transitory computer readable medium of claim 16 , the server is further caused to:
cache the plurality of generated HTML objects in a cache database; and
transmit the cached plurality of generated HTML objects to a second user device in response to a second content request including the same unique content identifier and the same desired content type information.