Site Configuration Model Introduction
Understand the design concepts behind brX Content's site configuration model and the different model entities and how they relate to each other.
Managing site configuration is an essential development task when integrating brX Content. It involves configuring different entities that together make up the pages to be rendered by the frontend application.
Site configuration is pre-defined by developers through the Site Management API, modified by site editors through the Experience manager app, and delivered to the frontend application through the Delivery API's Pages endpoint.
- Site Management API reference documentation
- Get Started with brX Content Integration tutorial, specifically Get Started: Site Development
The hierarchical model-view-controller (HMVC) design pattern is central to the site configuration model and the main end product derived from it: pages. Each page is a layout tree consisting of containers and components. Each component consists of a model (content and/or product data), a view (presentation), and a controller (logic). All three of these are managed through brX:
- Model: content editing is core functionality of brX Content.
- View: presentation is supported through configurable component parameters, the Delivery API's Pages endpoint, and the frontend SDKs.
- Controller: built-in base components provide out-of-the-box configurable backend functionality such as querying and retrieving content and/or product data.
The wiring for the HMVC pages is managed through routing configuration. Routes map requested URLs to layouts and content items, resulting in the actual page objects served through the Delivery API's Pages endpoint and rendered by the frontend application.
The following diagram depicts all the site configuration entities along with their relationships. Entities in red color denote that the entity is not, or only partially, managed via the Site Management API.
The following entities are explained in more detail on their respective documentation pages: