Introducing Multi Site Web Application Support
One of the major changes in version 13 is the added support for multiple site web applications. If your project consists of multiple site web applications, separate development teams can develop their site 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 site web application appropriately, the default structure of a BloomReach Experience Manager project has changed significantly compared to previous versions.
Single vs. Multi Site Mode
To ease the transition to version 13's default project structure, Single Site 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 Site Mode. All BloomReach Experience Manager documentation which is not related to upgrading from a previous version describes Multi Site Mode, and where appropriate, a disclaimer is present, reminding you that the documented matter is Site Mode-sensitive. If your project is running in Single Site Mode, you will have to translate the matter to match Single Site Mode. There is a dedicated page describing the differences between Single and Multi Site Mode. The upgrade documentation lists instructions to upgrade a previous version to version 13 in Single Site Mode, followed by an optional step to restructure the project to Multi Site Mode. For that reason, most of the upgrade documentation presents the Single Site Mode project structure.
Working with Multiple Site Web Applications
In order to decouple the development of separate site 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 site web application, while additional repositories may add additional site 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 site web application, using the Multi Site Mode structure, and
- hippo-site-project-archetype, which generates a site sub-project containing only a site 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.
More information on how to work with multiple site web applications is available here.