Bootstrap the Content Repository
Overview
This page describes how to initialize the Bloomreach Content content repository using CND and YAML files.
When to Use Bootstrapping
Bootstrapping imports required node type definitions, content, and application configuration into the content repository. This process uses repository data modules packaged with the CMS or Site application.
Common scenarios for bootstrapping include:
- First-time startup: When starting the application in a new environment (such as a developer workstation or production server), the repository is empty. Bootstrapping loads the minimum required node types, content, and configuration for the application to operate.
- Application upgrades: When deploying a new release to an existing environment, the release may introduce new or updated node types or configuration. Bootstrapping ensures these changes are applied to the repository.
Note: For details on configuration management and the bootstrapping process, see Configuration Management and the Bootstrapping section.
Repository Data Modules
A repository data module is a JAR file that contains:
- Compact Node Type Definitions (CND files): Defines repository data structures.
- YAML source definitions: Stores content (such as documents and images) and application configuration as repository data.
Repository data module JARs are included in the CMS WAR or Site WAR. On startup, the platform detects these modules and performs bootstrapping as needed.
Each repository data module JAR is built from a corresponding Maven module, typically located at repository-data/[name_of_module].
A Maven project created from the archetype includes five repository data modules:
repository-data/application: Contains repository data required for any deployment, including platform configuration and document types. Packaged with the CMS WAR.repository-data/development: Contains repository data needed only in development environments, such as local or CI deployments.repository-data/site: Contains repository data for the delivery application, including HST configuration. Packaged with the Site WAR.repository-data/site-development: Similar torepository-data/development, but specific to the delivery application and HST configuration in development environments.repository-data/webfiles: Contains static web resources stored as Web Files, such as CSS, JavaScript, and Freemarker templates. Packaged with the Site WAR.
Enabling Bootstrapping
When starting with an empty repository, bootstrapping is enabled automatically.
To trigger bootstrapping for an existing repository, set the system property:
repo.bootstrap=true
For details on the bootstrapping process and available options, refer to the Bootstrapping section in Configuration Management.
For instructions on passing system properties to the application, see Run and Develop with Cargo for development environments and Repository Deployment Settings for production environments.
Developing and Maintaining Repository Data Modules
Repository data module source files are part of the Maven project and should be committed to version control with the rest of the project. This approach allows developers to set up the project locally and collaborate effectively.
In most cases, developers do not need to manually update repository data modules. When Automatic Export is enabled, changes made to the repository using development tools (such as the Setup application, Document Type Editor, or Console) are automatically exported to the project.
Manual updates may be required occasionally, especially when merging changes from multiple contributors in version control.