Site configuration model introduction

Introduction

Goal

Understand the design concepts behind Bloomreach Content's site configuration model and the different model entities and how they relate to each other.

Background

Managing site configuration is an essential development task when integrating Bloomreach Content. It involves configuring different entities that together make up the pages to be rendered by the front-end application.

Site configuration is pre-defined by Site developers through the Site Management API (or the Site development app, a GUI layer on top of the API) and modified by Site editors through the Experience Manager Application and delivered to the front-end application through the Delivery API's Pages endpoint.

This documentation explains the site configuration model's underlying design concepts and the model's entities and their relationships.

Related documentation

Design concepts

Hierarchical model-view-controller

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 Bloomreach Content: 

  • Model: content editing is core functionality of Bloomreach Content.
  • View: presentation is supported through configurable component parameters, the Delivery API's Pages endpoint, and the Bloomreach SPA SDK.
  • Controller: built-in base components provide out-of-the-box configurable backend functionality such as querying and retrieving content and/or product data.

Routing

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 front-end application.

Entities and relationships overview

The following diagram depicts all the site configuration entities along with their relationships. Entities in red denote that they are not or only partially managed via the Site Management API.

The following entities are explained in more detail on their respective documentation pages: