Introducing Multi Delivery Web Application Support
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.
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.