Modeling Your Site Configuration

A site configuration in Bloomreach Content defines how each page is assembled and rendered before it is delivered to the user's browser. Pages are composed of components, which generate HTML using JSP or Freemarker templates. Each page is available under a specific URL, and most pages include a site-specific menu. All these aspects are controlled by the site's configuration, also known as the HST configuration. For detailed information, see the HST Configuration Model Introduction.

The following example shows a possible HST configuration structure:

/hst:hst: /hst:configurations: /common: /hst:abstractpages: /basepage: /header: /main: /footer: /hst:catalog: /hst:components: /hst:pages: /hst:prototypepages: /hst:templates: /myproject : hst:inheritsfrom: [../common] /hst:sitemap: /root: /events: /news: /hst:workspace: /myproject-preview: hst:inheritsfrom: [../myproject] /hst:workspace :

The delivery tier in Bloomreach Content supports flexible site configuration models. For example, consider a homepage divided into three regions. A simple configuration for this site could define:

  1. A URL that serves the homepage.
  2. A page template with three regions: header, main, and footer.
  3. Three components in the header region: a logo on the left, a menu in the center, and a search box on the right.

If you need to support ten channels that share this layout, you can use configuration inheritance. Inheritance allows a site configuration to extend another configuration. For example, you can leave the header region empty in a child configuration and inherit the header component from a parent configuration. The inherited configuration determines which components appear in the header. To override an inherited component, define a component with the same name in the child configuration.

Combining inheritance with blueprints enables you to centralize shared configuration. You can move common configuration elements into a shared, inherited configuration, and use a blueprint to generate channels that inherit from this shared HST configuration. In the example above, the "common" configuration serves this purpose, and the selected configuration (for example, "hippogogreen") inherits from it. This approach reduces duplication in blueprints, keeps them simple and generic, and allows them to be reused in multiple scenarios. All channels generated from the blueprint inherit features and structure from the parent configuration, but you can override any part of the inherited configuration as needed.

Defining shared functionality in a parent configuration is a key step when modeling channel types. When channels of a specific type require the same functionality or layout, move that functionality to a parent configuration. All channels of that type should inherit from the parent configuration. This approach is especially common when multiple channels share the same layout.

Share Feedback
Page: /about/for-architects/channels-architecture/modelling-your-site-configuration
Section: About
Category *