Add Workflow Process Management to a Project
Introduction
Goal
Add the Workflow Process Management feature to a BloomReach Experience implementation project.
Background
Workflow Process Management is an optional BloomReach Experience feature. This page explains how to add Workflow Process Management to an implementation project and configure its data stores in a local Cargo-based and Docker-based development environments . After the steps explained below, the CMS application will contain an additional application called 'Projects'.
Installation through Essentials
The Projects feature can be installed into your project through Essentials. If you start developing a new project, ensure that you "Make use of Enterprise features", navigate to the Library tab in Essentials, locate the Projects feature and click Install feature. Essentials then applies the steps documented for manual installation below to your project. Rebuild and restart your project, and continue to create an admin user for your /bpm application as described at the bottom of this page.
Manual Installation Instructions
Start with a BloomReach Experience project created using the Maven archetype, as explained in Set Up a BloomReach Experience Project.
Add Maven Dependencies
Add the following Maven dependencies:
Top-level pom.xml:
<dependency> <groupId>com.onehippo.cms7</groupId> <artifactId>hippo-enterprise-services</artifactId> <scope>provided</scope> </dependency>
cms-dependencies/pom.xml:
<dependency> <groupId>com.onehippo.cms7</groupId> <artifactId>hippo-addon-wpm-cms-dependencies</artifactId> <type>pom</type> </dependency>
site/components/pom.xml:
<dependency> <groupId>com.onehippo.cms7</groupId> <artifactId>hippo-addon-wpm-site-dependencies</artifactId> <type>pom</type> </dependency>
Add Dependency to the Cargo Development Environment
In your project's top-level pom.xml, locate the cargo.run profile.
Inside the <container> element, add the following dependency:
<dependencies> <dependency> <groupId>com.onehippo.cms7</groupId> <artifactId>hippo-enterprise-services</artifactId> <classpath>shared</classpath> </dependency> </dependencies>
Inside the <container> element's <systemProperties> child element, add the following property:
<brx.wpm.external-bpm-engine.disabled>true</brx.wpm.external-bpm-engine.disabled>
Add Dependency to the Distribution Profiles
In the file src/main/assembly/shared-lib-component.xml, add the following directly inside the <includes> element:
<include>com.onehippo.cms7:hippo-enterprise-services</include>
Add Loggers to Log4j2 Configuration
Add the following loggers to conf/log4j2-dev.xml and conf/log4j2-dist.xml:
<Logger name="com.onehippo.cms7.hst.configuration.branch" level="warn"/> <Logger name="com.onehippo.cms7.services.wpm.project" level="warn"/>
Rebuild and Restart
Stop the application (if it was running), and rebuild and (re)start it as explained in the Getting Started Trail.
Verify that the CMS application now has a Projects application.
Roles and Permissions
Log in to the CMS as admin and add all users that should be able to create, update, and delete projects to the group "webmaster".