Introducing Multi Delivery Web Application Support - Bloomreach Experience - Open Source CMS

This article covers a Hippo CMS version 13. There's an updated version available that covers our most recent release.

14-01-2020

Introducing Multi Delivery Web Application Support

Setting up multiple delivery web applications within the same project is intended to enable separate development teams working independently on their respective delivery webapps. Bloomreach recommends setting up multiple delivery web applications only in this specific development scenario. In all other cases, it is recommended to set up multiple channels within a single delivery web application.

One of the major changes in version 13 is the added support for multiple delivery web applications. If your project consists of multiple delivery web applications, separate development teams can develop their delivery web applications largely independently of the other teams, while there is a central development team owning the development of the (singular) CMS/platform web application. In order to package all resources owned by a single delivery web application appropriately, the default structure of a Bloomreach Experience Manager project has changed significantly compared to previous versions.

Single vs. Multi Delivery Webapp Mode

To ease the transition to version 13's default project structure, Single Delivery Webapp Mode is available, providing some degree of backwards compatibility with the default project structure of previous versions. Freshly created Bloomreach Experience Manager projects use the new structure, which we also call Multi Delivery Webapp Mode. All Bloomreach Experience Manager documentation which is not related to upgrading from a previous version describes Multi Delivery Webapp Mode, and where appropriate, a disclaimer is present, reminding you that the documented matter is Delivery Webapp Mode-sensitive. If your project is running in Single Delivery Webapp Mode, you will have to translate the matter to match Single Webapp Mode. There is a dedicated page describing the differences between Single and Multi Delivery Webapp Mode. The upgrade documentation lists instructions to upgrade a previous version to version 13 in Single Delivery Webapp Mode, followed by an optional step to restructure the project to Multi Delivery Webapp Mode. For that reason, most of the upgrade documentation presents the Single Delivery Webapp Mode project structure.

Multi Delivery Webapp Mode doesn't necessarily mean that your project has more than one delivery web application, it merely refers to the project structure required in order to support additional delivery web applications in your project.

Working with Multiple Delivery Web Applications

In order to decouple the development of separate delivery web applications as much as possible, by default, each web application lives in a separate VCS repository. A single Bloomreach Experience Manager project can therefore consist of multiple VCS repositories, and by default, the first repository contains the central CMS/platform web application and one delivery web application, while additional repositories may add additional delivery web applications, one web application per repository. Therefore, as of version 13, there are two different Bloomreach Experience Manager project archetypes:

  • hippo-project-archetype, which generates a parent sub-project containing the CMS/platform web application and one delivery web application, using the Multi Delivery Webapp Mode structure, and
  • hippo-site-project-archetype, which generates a delivery webapp sub-project containing only a delivery web application, for use with the "external" CMS/platform web application supplied by the linked parent sub-project.

Both Maven projects contain an Essentials web application for local development.

Above layout represents the default structure, provided by the archetype. It is possible to maintain multiple delivery web applications in a single VCS repository, no delivery web application in the parent sub-project, or all web applications together in a single VCS repository. It is up to you to massage the VCS repository setup into what fits your use case / organization best.
To learn how to work with multiple delivery web applications, read Multi Delivery Webapp Development Workflow and follow the Add a Second Delivery Webapp tutorial. Bloomreach Cloud users should also read Configure Multiple Delivery Webapps.
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?