Content Model

The content model defines how content is structured, stored, and managed in Bloomreach Content. Bloomreach Content provides flexible content modeling tools based on core architectural principles.

Separation of Concerns

Bloomreach Content enforces a clear separation between content, presentation, and delivery. Content is stored independently of how it is displayed or delivered. This approach supports content reuse, multi-channel delivery (including REST APIs and mobile applications), and long-term maintainability. You can change navigation, presentation templates, or frontend technology without affecting the underlying content.

Flexibility

You can design your own document-based content model using the platform's building blocks. Content types can be structured, unstructured, or a combination of both. You define the data models and editing templates, choosing the level of strictness or flexibility required. Inheritance and composition features help maintain consistency and efficiency.

Rich text fields support WYSIWYG authoring. You can configure the available formatting options, from basic text decoration to full HTML editing, including semantic CSS classes that authors can apply.

Metadata configuration is flexible. You can use free-text keywords, managed key-value lists, or multilingual taxonomies. All metadata can be used for faceted navigation.

Role-based authorization can be applied to any subset of content.

Bloomreach Content maintains link integrity by storing internal links as location-independent references. The delivery tier resolves these references at runtime. Moving content does not break internal links. Authors can view incoming links to a document and receive warnings before deleting a document if it would break links. Authors are also warned before publishing a document that links to unpublished content.

Multilingual Support

The content model supports multiple languages and regions. Each translation of a document is stored as a separate document. You can organize translations as separate content trees, as sibling documents within a single tree, or in other structures as needed. The model supports both strict one-to-one relationships and loosely coupled translations.

Layered Architecture

Bloomreach Content uses a layered architecture for its content model.

  • The foundation is a JCR-compliant content repository. Content is stored as properties on nodes in a hierarchical tree. Node type definitions specify the structure and property types. Repository content is persisted in a relational database.
  • The authoring application maps JCR node types to content types and enriches them with editing templates. The document editor uses these templates to enable content creation and editing.
  • The delivery layer maps JCR node types to Java classes called content beans. Content beans act as models in a Hierarchical Model-View-Controller architecture.

Delivery, authoring, repository, and persistence content model diagram

Diagram: The diagram shows four areas: Delivery, Authoring, Content Repository, and Persistence. Delivery includes Views, Controllers, and Content Beans. Authoring includes the Document Editor, Editing Templates, and Content Types. The Content Repository contains Node Type Definitions and JCR Property Types. Persistence maps JCR Property Types to Database Tables. Arrows indicate relationships and data flow from authoring definitions through repository structures to stored data and delivery-side content objects.

Tool Support

You define content types using a modeling tool with a WYSIWYG interface. When you create an editing template, the corresponding data model is generated automatically. Java content object mappings for use in the delivery tier are also auto-generated.

Content models can be updated as requirements change. Use Groovy scripting to update existing content when you modify the content model.

Share Feedback
Page: /about/for-architects/content-modeling/content-model
Section: About
Category *