Introduction to Page Model API - Bloomreach Experience - Open Source CMS
17-09-2020

Introduction to Page Model API

Introduction

The built-in Page Model API provides an intuitive REST API endpoint for SPAs, ensuring seamless integration with the HST delivery tier and the Experience manager.

Bloomreach Experience Manager 14.x currently provides two different versions of the Page Model API, 0.9 and 1.0, which are significantly different in their JSON response format.

For backward compatibility, the default Page Model API version is 0.9 in all Bloomreach Experience Manager 14.x releases.

Documentation

Because of significant differences between versions 0.9 and 1.0, each version is documented on it own separate page:

The following documentation pages apply to both versions, unless otherwise indicated in the content:

Page Model API v0.9 vs v.10

Changes From Version 0.9

The Page Model API version 1.0 differs from version 0.9 in that it flattens many commonly used objects such as HstComponent, HippoDocumentBean, and CommonMenu. An implementation project can mark objects to be serialized flattened as well by implementing the marker interface PageModelEntity.

Improvements in Version 1.0

  • The flattened model is easier to understand and debug

  • It's easier to build a custom integration (like GraphQL server)

  • Internal links don’t contain context paths anymore (no need for a workaround)

  • Page Model API links are fully-qualified (no need for a workaround)

  • The menu is a separate entity within the Page Model API, so it can be strictly identified that on the page

  • The image set is a separate entity, and therefore there is better support for it in the SPA SDKs (SPA SDKs handle links generation for the thumbnails)

  • Possibility to contribute to the page model

  • Possibility to extend the page model processing on the SPA SDK side (in the future)

  • There is no need to configure a base URL of the CMS, and as a result, we have only one required parameter in the SPA SDK

  • The primary document is always present and is a first class citizen

  • ParamsInfo has been improved to filter out duplicates and replace document references with actual content references (mostly relevant for Experience Pages)

  • Pagination Support for List Components

Did you find this page helpful?
How could this documentation serve you better?
On this page
    Did you find this page helpful?
    How could this documentation serve you better?