Frontend

Headless integration, SPA SDKs, React, Next.js, Open UI extensions

SPA Integration SDKsconcept
Bloomreach provides SDKs for integrating Bloomreach Content with single-page applications (SPAs).
Configure HST for SPAhow 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 APIconcept
Experience Manager SPA integration uses postMessage-based communication between a Single Page Application and Bloomreach Content.
SPA Best Practicesconcept
Use the SPA SDK to integrate a single-page application with Bloomreach Content.
SPA Troubleshootingtroubleshooting
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 Supportconcept
SPA SDKs are JavaScript and TypeScript libraries maintained by Bloomreach for JavaScript-based front ends.
Demo Projectsconcept
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 APIconcept
The Delivery API, formerly the Page Model API, is a REST API endpoint for single-page applications (SPAs).
Delivery API Supportreference
Bloomreach Commerce Accelerator includes built-in support for Single Page Applications and exposes Commerce Model objects through the Delivery API in JSON format.
Delivery API 0.9concept
Delivery API 0.9 is the default API version in brXM 14.x and is not supported in brXM 15 and later.
Configure Delivery APIreference
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 Authenticationconcept
JSON Web Token (JWT) authentication provides access to preview data for a channel through the Delivery API.
APIs Overviewconcept
Bloomreach Content provides two primary APIs for Single Page Application (SPA) integration: the Delivery API and the Content REST API.
Model Contribution APIsconcept
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 Modelsconcept
Bloomreach Content uses built-in Jackson Mixin Types to control how HST Content Beans serialize to JSON.
Swagger API Documentation Supportreference
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 Namesconcept
The Delivery API reserves specific field names for internal use and standard properties.
Configure a Page Toolconcept
An Open UI page tool is configured as a frontend:uiExtension node under /hippo:configuration/hippo:frontend/cms/ui-extensions.
Configure a Document Field Extensionhow 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 Extensionsconcept
Bloomreach Content supports custom document field extensions in the content editor.
Develop a Document Field Extensionreference
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 Libraryreference
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 Tutorialtutorial
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 Guideconcept
Open UI extensions use a style guide to match the Bloomreach Content user interface.
Open UI Page Toolsconcept
Bloomreach Content page tools are custom UI extensions for pages in the Experience Manager.
Use Open UI Dialogsconcept
Open UI dialogs run inside an iframe with a header bar that contains a title and a close button.
Configure Open UI Pickers from Scratchhow to
Commerce Open UI Pickers work in non-Bloomreach Commerce Accelerator projects on brXM v14.6.1 or later.
Content Componentreference
The Content Component is implemented by org.onehippo.cms7.essentials.components.EssentialsContentComponent.
Document Componentreference
The Document Component exposes a document’s content as a Java bean to the rendering template, such as JSP or Freemarker.
List Componentreference
The List Component runs repository queries against documents and passes the results to the rendering template.
List Picker Componentreference
The List Picker Component exposes up to 10 manually selected related documents as Java beans to the rendering template.
News Componentreference
The News component is implemented by org.onehippo.cms7.essentials.components.EssentialsNewsComponent and extends the List component.
Events Componentreference
The Events component is implemented by org.onehippo.cms7.essentials.components.EssentialsEventsComponent.
Carousel Componentreference
The Carousel Component uses the class org.onehippo.cms7.essentials.components.EssentialsCarouselComponent.
Image Componentreference
The Image Component retrieves an image or image set from the repository and makes it available to the rendering template.
Video Componentreference
The Video Component uses the implementation class org.onehippo.cms7.essentials.components.EssentialsVideoComponent.
Facets Componentreference
The Facets Component uses Bloomreach Content faceted navigation to filter and refine search results based on document properties.
Search Componentreference
The Search Component uses the class org.onehippo.cms7.essentials.components.EssentialsSearchComponent.
Menu Componentreference
The Menu Component renders a manually maintained HST menu in a site component.
Dynamic Componentsconcept
Dynamic Components are available in brXM 14.3.0 and later.
Base Dynamic Componentreference
BaseHstDynamicComponent is the class name for the Base Dynamic Component, available in brXM 14.3.0 and later.
Dynamic Query Componentreference
The DocumentQueryDynamicComponent extends the Base Dynamic Component to support document queries and result listing.
Dynamic Menu Componentreference
The Dynamic Menu Component renders the contents of a single selected site menu tree in the Page Model API.
Define Configuration Parameters for Dynamic Componentsconcept
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 Managerconcept
The hst:manageContent tag renders a Manage Content button in Bloomreach Content channel previews.
Render an 'Edit Menu' Button in the Experience Managerhow 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 Managerconcept
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 Templateshow to
Generic templates render multiple content types with a consistent layout in Bloomreach Content.
Wrapping Component Contentsconcept
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 Resulthow 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 Variantsconcept
Rich text image rendering can override the image variant stored in content at render time.
HST Example of Context Aware Lightbox for all inline imagesconcept
Inline images on detail pages use a context-aware lightbox that defaults to the threecolumn image variant.
Detect Preview or Channel Manager Request Contextconcept
The HstRequestContext interface exposes preview-detection methods for request context in templates.
View a document in a channelreference
The document editor includes a View menu that lists all channels where the current document can be previewed.
Web Filesconcept
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 Cycleconcept
Bloomreach Content keeps live and preview configurations separate for channels.
Web Files Best Practicesconcept
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 Contentconcept
Rich text content renders links as relative URLs by default, including both href and src attributes.
Context Aware, Canonical, Preferred and navigationStateful URLsconcept
Bloomreach Content generates context aware, canonical, preferred, and navigationStateful URLs for content delivery and navigation.
Get all Available Translations of a Folder or Documentreference
The org.hippoecm.hst.content.beans.standard.HippoBean interface provides getAvailableTranslations() to retrieve all available translations for a bean.
Channel Lockingconcept
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 Supportconcept
Switch template support configures multiple Freemarker template variants for a component.
HST Tag Library for Substituting Variables in Contentconcept
The HST tag library substitutes variables in content at runtime when message keys or variables are not known at compile time.
Partial Page Rendering URLconcept
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 Lockingconcept
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 supportconcept
Static I18N in the delivery tier (HST) uses Java resource bundles and virtual host configuration.
Share Feedback
Page: /frontend
Section: Frontend
Category *