Home
Getting Started
Content
Frontend
Build
Deploy
Content AI ✨
About
Community
Support
Search
⌘K
Frontend
Headless integration, SPA SDKs, React, Next.js, Open UI extensions
Frontend Integration Overview
concept
JavaScript frontend developers building single-page applications (SPAs) with Bloomreach Content use Bloomreach APIs and SDKs for platform integration.
Frontend Integration
SPA Integration SDKs
concept
Bloomreach provides SDKs for integrating Bloomreach Content with single-page applications (SPAs).
Configure HST for SPA
how to
HST for SPA SDK integration uses the Delivery API to let an external single-page application consume content and render pages.
Experience Manager SPA API
concept
Experience Manager SPA integration uses postMessage-based communication between a Single Page Application and Bloomreach Content.
SPA Best Practices
concept
Use the SPA SDK to integrate a single-page application with Bloomreach Content.
SPA Troubleshooting
troubleshooting
Single-Page Application integration with Bloomreach Content uses the @bloomreach/spa-sdk and @bloomreach/react-sdk libraries.
URL Rewriter Rules (Legacy 14.0-14.1)
concept
URL Rewriter rules reverse-proxy an external Single Page Application so it is served from the same host as Bloomreach Content.
SPA SDKs - Lifecycle and Support
concept
SPA SDKs are JavaScript and TypeScript libraries maintained by Bloomreach for JavaScript-based front ends.
Demo Projects
concept
The Bloomreach SPA SDK GitHub repository contains example projects for multiple frontend frameworks at https://github.com/bloomreach/spa-sdk/tree/main/examples.
Introduction to the Delivery API
concept
The Delivery API, formerly the Page Model API, is a REST API endpoint for single-page applications (SPAs).
Delivery API Support
reference
Bloomreach Commerce Accelerator includes built-in support for Single Page Applications and exposes Commerce Model objects through the Delivery API in JSON format.
Page Model API
Delivery API 0.9
concept
Delivery API 0.9 is the default API version in brXM 14.x and is not supported in brXM 15 and later.
Configure Delivery API
reference
The Delivery API, formerly Page Model API, is enabled in the delivery tier by configuring the Delivery API path on a virtual host or mount.
JWT Authentication
concept
JSON Web Token (JWT) authentication provides access to preview data for a channel through the Delivery API.
APIs Overview
concept
Bloomreach Content provides two primary APIs for Single Page Application (SPA) integration: the Delivery API and the Content REST API.
Model Contribution APIs
concept
The HstRequest and HstRequestContext APIs contribute model objects to the Delivery API, formerly the Page Model API, through setModel(String, Object).
Customize JSON Serialization of Domain-Specific POJO Models
concept
Bloomreach Content uses built-in Jackson Mixin Types to control how HST Content Beans serialize to JSON.
Swagger API Documentation Support
reference
Delivery API v0.9 exposes Swagger API documentation at /swagger.json by default, and the endpoint path is configurable with pagemodelapi.v09.apiDocPath in /WEB-INF/hst-config.properties.
Reserved Names
concept
The Delivery API reserves specific field names for internal use and standard properties.
Open UI Extensions
Configure a Page Tool
concept
An Open UI page tool is configured as a frontend:uiExtension node under /hippo:configuration/hippo:frontend/cms/ui-extensions.
Configure a Document Field Extension
how to
An Open UI document field extension is configured as a frontend:uiExtension node under /hippo:configuration/hippo:frontend/cms/ui-extensions.
Develop a Page Tool (Library)
concept
A page tool in Bloomreach Content uses the Open UI extension library to display information about the current page or interact with page-level data through a custom UI extension.
Document Field Extensions
concept
Bloomreach Content supports custom document field extensions in the content editor.
Develop a Document Field Extension
reference
A Document Field Extension acts as a field within a document type and appears in the document editing template like any other field.
Extension Client Library
reference
The Bloomreach Open UI Extension JavaScript Client Library provides a stable public API for custom UI extensions and handles communication with the CMS UI by abstracting window.postMessage.
Custom Page Tool Tutorial
tutorial
A page tool is an external web application displayed alongside a page in Experience manager, and it extends Bloomreach Content with third-party functionality.
Open UI Style Guide
concept
Open UI extensions use a style guide to match the Bloomreach Content user interface.
Open UI Page Tools
concept
Bloomreach Content page tools are custom UI extensions for pages in the Experience Manager.
Use Open UI Dialogs
concept
Open UI dialogs run inside an iframe with a header bar that contains a title and a close button.
Configure Open UI Pickers from Scratch
how to
Commerce Open UI Pickers work in non-Bloomreach Commerce Accelerator projects on brXM v14.6.1 or later.
Standard Components
Content Component
reference
The Content Component is implemented by org.onehippo.cms7.essentials.components.EssentialsContentComponent.
Document Component
reference
The Document Component exposes a document’s content as a Java bean to the rendering template, such as JSP or Freemarker.
List Component
reference
The List Component runs repository queries against documents and passes the results to the rendering template.
List Picker Component
reference
The List Picker Component exposes up to 10 manually selected related documents as Java beans to the rendering template.
News Component
reference
The News component is implemented by org.onehippo.cms7.essentials.components.EssentialsNewsComponent and extends the List component.
Events Component
reference
The Events component is implemented by org.onehippo.cms7.essentials.components.EssentialsEventsComponent.
Carousel Component
reference
The Carousel Component uses the class org.onehippo.cms7.essentials.components.EssentialsCarouselComponent.
Image Component
reference
The Image Component retrieves an image or image set from the repository and makes it available to the rendering template.
Video Component
reference
The Video Component uses the implementation class org.onehippo.cms7.essentials.components.EssentialsVideoComponent.
Facets Component
reference
The Facets Component uses Bloomreach Content faceted navigation to filter and refine search results based on document properties.
Search Component
reference
The Search Component uses the class org.onehippo.cms7.essentials.components.EssentialsSearchComponent.
Menu Component
reference
The Menu Component renders a manually maintained HST menu in a site component.
Dynamic Components
concept
Dynamic Components are available in brXM 14.3.0 and later.
Base Dynamic Component
reference
BaseHstDynamicComponent is the class name for the Base Dynamic Component, available in brXM 14.3.0 and later.
Dynamic Query Component
reference
The DocumentQueryDynamicComponent extends the Base Dynamic Component to support document queries and result listing.
Dynamic Menu Component
reference
The Dynamic Menu Component renders the contents of a single selected site menu tree in the Page Model API.
Define Configuration Parameters for Dynamic Components
concept
Dynamic component configuration uses hst:componentdefinition nodes in the component catalog to expose parameters through the Delivery API and render configuration dialogs in the Channel Editor UI.
Render a 'Manage Content' Button in the Experience Manager
concept
The hst:manageContent tag renders a Manage Content button in Bloomreach Content channel previews.
Render an 'Edit Menu' Button in the Experience Manager
how to
The hst:cmseditmenu tag renders an Edit menu button in the Channel Editor when the channel is previewed in the CMS.
Position the 'Manage Content' and 'Edit Menu' Buttons in the Experience Manager
concept
Manage content and Edit menu buttons in Bloomreach Content render as <a> elements with the hst-fab class.
How to iterate through all child components in your renderer (jsp)
concept
Child HstComponent instances can be rendered explicitly by name or aggregated dynamically in a JSP or Freemarker template.
Writing Generic Templates
how to
Generic templates render multiple content types with a consistent layout in Bloomreach Content.
Wrapping Component Contents
concept
An HST Component can render its output inside a wrapper element to make the component markup easier to target from client-side code such as JavaScript.
Render a Search Query Result
how to
Search query results in the Bloomreach Content delivery tier render from an HstQueryResult object returned by either the Fluent Search API or the Legacy Search API.
Render Different Image Variants
concept
Rich text image rendering can override the image variant stored in content at render time.
HST Example of Context Aware Lightbox for all inline images
concept
Inline images on detail pages use a context-aware lightbox that defaults to the threecolumn image variant.
Detect Preview or Channel Manager Request Context
concept
The HstRequestContext interface exposes preview-detection methods for request context in templates.
View a document in a channel
reference
The document editor includes a View menu that lists all channels where the current document can be previewed.
URLs & Routing
Web Files
concept
Web files are static web resources such as CSS, JavaScript, images, fonts, and templates managed in the Bloomreach Content content repository.
Live and Preview Configuration Cycle
concept
Bloomreach Content keeps live and preview configurations separate for channels.
Web Files Best Practices
concept
Web Files use aggressive browser and intermediary caching, with the HST framework setting the Expires header to one year.
Fully Qualified Link in Rich Text Content
concept
Rich text content renders links as relative URLs by default, including both href and src attributes.
Context Aware, Canonical, Preferred and navigationStateful URLs
concept
Bloomreach Content generates context aware, canonical, preferred, and navigationStateful URLs for content delivery and navigation.
Get all Available Translations of a Folder or Document
reference
The org.hippoecm.hst.content.beans.standard.HippoBean interface provides getAvailableTranslations() to retrieve all available translations for a bean.
Channel Locking
concept
Channel settings participate in the preview and live configuration cycle only when the hst:channel node is located under the hst:workspace node in the non-inherited HST configuration for the current channel.
Switch Template Support
concept
Switch template support configures multiple Freemarker template variants for a component.
HST Tag Library for Substituting Variables in Content
concept
The HST tag library substitutes variables in content at runtime when message keys or variables are not known at compile time.
Partial Page Rendering URL
concept
Partial page rendering URLs let a navigational URL target a specific dynamic page fragment managed by the WCMS instead of rendering the full page.
Menu Locking
concept
Editing a menu item in the Channel Editor locks the entire menu, preventing other users from editing that menu until the changes are published or discarded.
Delivery Tier I18N support
concept
Static I18N in the delivery tier (HST) uses Java resource bundles and virtual host configuration.
Commerce Accelerator
Overview & Setup
brX GraphQL Service
Commerce React Components
Release Notes & Upgrades
Share Feedback
Page:
/frontend
Section:
Frontend
Category
*
Bug
Content
UX
Submit Feedback
Feedback