Single Delivery Web Application Mode
Single Delivery Webapp Mode refers to a supported structure of a Bloomreach Experience Manager project which stays close to the default structure of Bloomreach Experience Manager projects prior to version 13, and which only supports a single delivery web application. Single Delivery Webapp Mode is primarily intended for projects upgrading from prior versions, limiting the amount of necessary upgrade steps. After the upgrade, restructuring such a project to Multi Delivery Webapp Mode is optional, and has the effect that the project is in line again with the default project structure used throughout the documentation.
Features of Single Delivery Webapp Mode
You can recognize a Single Delivery Webapp Mode project by the following features:
- The site module is not split up into sub-modules
- There is no separate cms-dependencies module
- There is no separate module containing repository data definitions for the delivery webapp's HST configuration.
- The hst.configuration.rootPath property in the delivery webapp's hst-config.properties file is set to /hst:hst
- There is a cms/src/main/resources/hcm.properties file setting use.hcm.sites to false
There is no hcm-site.yaml file in the delivery web application's META-INF folder.
Repository Data handling in Single Delivery Webapp Mode
A Bloomreach Experience Manager project in Single Delivery Webapp Mode works much like projects prior to version 13 used to work:
All repository data definitions are packaged with a bootstrapped from the CMS/platform web application. This includes delivery webapp-specific HST configuration and web files. As such, that part of the delivery web application is really packaged within the CMS/platform web application, which binds the delivery web application to a particular version of the CMS/platform web application.
While the CMS/platform web application uses HST configuration stored in the repository below /hst:platform, the delivery web application uses HST configuration stored below the "usual" /hst:hst node, as indicated in the hst-config.properties file of the delivery web application.
The lowered use.hcm.sites flag specified in hcm.properties packaged at the class-loader root level of the delivery web application instructs the Configuration Management mechanism not to go looking for delivery webapp-specific definitions provided separately by each delivery web application, but to bootstrap delivery webapp-specific definitions packaged with the CMS/platform web application.
Essentials and Single Delivery Webapp Mode
By default, Essentials expects to interact with a Bloomreach Experience Manager project using Multi Delivery Webapp Mode structure. In order to let Essentials interact correctly with a Single Delivery Webapp Mode structured project, essentials/src/main/resources/project-settings.xml must be tweaked:
- <hstHcmDependenciesAlias> should have value 'CMS' (uppercase!).
- <cmsDependenciesModule> should point to a cms war module directory, typically 'cms'
- <siteComponentsSubModule> should point to a delivery war module directory, typically 'site'
- <siteWebappSubModule> should point to a delivery war module directory, typically 'site'
With these tweaks in place, Essentials should be able to interact correctly with a Single Delivery Webapp Mode project.