Multi Delivery Webapp Development Workflow

Info: Use multiple delivery web applications within the same project only when separate development teams need to work independently on their own delivery webapps. In most cases, configure multiple channels within a single delivery web application instead.

Overview

Multi delivery web application support allows multiple development teams to build and maintain separate delivery web applications within a single Bloomreach Content project. Each team can work largely independently. However, some coordination is required to deploy all web applications together in the same environment.

This page describes the recommended workflow for development teams working in multi webapp projects. In this model, one team (the "core team") manages the platform webapp and coordinates platform configuration changes. Other teams (the "extra delivery webapp teams") develop additional delivery web applications.

For a practical example, see the Add a Second Delivery Webapp tutorial.

Core Team Responsibilities

The core team manages the Bloomreach Content platform and, optionally, a main delivery webapp in the parent sub-project. This workflow is similar to single webapp development.

The core team has an additional responsibility: when an extra delivery webapp team requires changes to the CMS module (such as new document types or additional fields), the core team must merge those changes into the parent sub-project. This also applies to configuration changes, such as enabling new repository daemon modules.

Teams should communicate proposed CMS changes through the source code repository of the site sub-project. The timing of these merges is flexible, but all required changes must be merged before deploying a new version of the extra delivery webapp that depends on them.

Extra Delivery Webapp Team Responsibilities

An extra delivery webapp team develops a separate HST-based delivery application. This application is fully functional, supports multiple channels, and uses the same content repository as the main webapp. The team maintains independent code and configuration for the delivery framework.

Key requirements for the extra delivery webapp team:

  • Use a compatible version of the core Bloomreach Content platform.
  • Test the webapp with the platform code that will run in production to ensure document data is stored as expected.

To support this workflow, generate a "delivery webapp sub-project" using archetypeArtifactId=hippo-**site**-project-archetype. This sub-project is structured like the parent sub-project, but the CMS module is replaced with a single POM that depends on the parent CMS. By default, this CMS module produces a cms.war identical to the parent CMS. The extra delivery webapp team can propose and test changes to CMS code, dependencies, or configuration in this module. The team can also maintain separate development-only configuration, such as for auto-export.

Before deploying the extra delivery webapp to a shared staging or production environment, move any changes to the CMS, cms-dependencies, and repository-data/application modules to the parent sub-project. These module directories are typically empty; the presence of files indicates that coordination is needed. You can configure a continuous deployment pipeline to detect this situation and provide feedback.

In other respects, the development workflow for the extra delivery webapp team is unchanged from standard Bloomreach Content practices. Existing development tools, such as auto-export and Essentials, continue to work as expected.

Share Feedback
Page: /about/for-architects/multi-site-multi-tenant/multi-site-development-workflow
Section: About
Category *