How does the content engine retrieve the data it needs for rendering?

I’ve been going through the content engine documentation to evaluate the potential use of it instead of a combination of form and overview engine.

So far form and overview engine were always using data providers to retrieve data in a customizable way that is to be presented by those engines. Is this also the case for the content engine? If not how else is this being done?

Unfortunately there haven’t been any mentions of how the content engine is retrieving data needed for presentation in the geta12 documentation.

Hi @andreas-fresh-mesa,
The current documentation does not include information on this topic because the content model was initially designed to be self-contained, without the need to retrieve information from external sources. Therefore, there is no A12 data provider or loader integrated into the content engine.

If there is a need to retrieve information from an external source, the custom node API can be used instead. For implementation, either the A12 Overview Engine, as demonstrated in this blog grid, can be used, or custom fetching logic can be implemented.

Just to add some more details:

The mentioned blog grid is a content model that uses a custom element module

{
    "id": "aa148fbf",
    "type": "Custom",
    "namespace": "com.mgmtp.a12.geta12",
    "subtype": "BlogOverview",
    "props": {
        "enableFiltering": true
    }
}

And hence it represents nesting of another engine within the content engine.

I would guess that it should also be possible to nest another content engine instance within a content engine instance.

Hi,

In cases where you want to nest Content Engines within each other, we introduced the Fragment concept specifically for this purpose in the context of a CMS (which is another layer built on top of the Content Engine and other A12 components). Although it’s possible to achieve the same result using the Custom Node/Element API, unfortunately, we do not support this (yet) out of the box in pure Content Engine.

The concept is explained in short at Content Management System for Content Managers - Key Concepts - Fragment