Use Projects without Camunda

This feature is available since Bloomreach Experience Manager 14.2.1
As of Bloomreach Experience Manager 14.4.0, this page is now obsolete and has been replaced by Remove Camunda.

Introduction

Goal

Use the Projects feature without the need to run Camunda.

Background

As of Bloomreach Experience Manager 14.2, the Projects review process does not require Camunda anymore. Support for Camunda will be removed in the next major release (version 15). This page describes the steps you need to take to make use of this feature.

Why would you want to do this?

  • Your distribution will be smaller because the bpm.war is no longer needed.
  • The developer archetype will also start faster due to this.
  • You no longer have to maintain the database tables used by Camunda. 
  • Upgrading to the next major release (15) will be simpler.

 

Prerequisites before restarting

Complete all reviews:

  1. Login into CMS and select Projects.

  2. Filter on projects in review.

  3. For each project, either cancel or complete the review.

Make sure that no new reviews are started before restarting your deployment.

Instructions

Deployment changes

The system property brx.wpm.external-bpm-engine.disabled can be used to disable the usage of Camunda for managing the project reviews. Set this property to true to disable Camunda and then restart your deployment. 

IMPORTANT Verify that none of the projects is in review before restarting!

If you are certain that all works as expected then you can also remove the bpm.war from your distribution and delete the Camunda database. The following steps describe how to do that.

Preparation of the new distribution

  • Remove bpm.war from the distribution:
    Edit the file src/main/assembly/webapps-component.xml and remove the dependencySets element that contains the bpm.war. See Remove bpm.war for the diff.

  • Remove wpm datasource.
    Edit the file conf/context.xml and remove the jdbc/wpmDS resource. See Remove wpmDS for the diff.

After these changes you can generate a new distribution that will no longer contain the bpm.war. It will also no longer connect to the Camunda database.

Redeploy the new distribution

After creating the new distribution you can deploy it. Make sure that the system property brx.wpm.external-bpm-engine.disabled is permanently set to true from now on!

Change Cargo development environment configuration

  • Edit the root pom.xml and add the brx.wpm.external-bpm-engine.disabled system property to the systemProperties section of the cargo.run profile. See Add system property for the diff.

  • Edit the root pom.xml and remove the Camunda war dependency and deployable. See Remove Camunda WAR dependency and deployable for the diff.

Post-deployment cleanup for on-premise customers

As a final step you can clean up the database tables used by Camunda.

Make a backup of the Camunda database if you need to preserve history (e.g. for audit purposes). You can now safely delete the database tables. A list of all tables can be found at Camunda Database tables documentation.

Appendix: Diffs

Remove bpm.war

--- a/src/main/assembly/webapps-component.xml
+++ b/src/main/assembly/webapps-component.xml
@@ -12,15 +12,4 @@
       <destName>site.war</destName>
     </file>
   </files>
-  <dependencySets>
-    <dependencySet>
-      <useProjectArtifact>false</useProjectArtifact>
-      <outputDirectory>webapps</outputDirectory>
-      <outputFileNameMapping>bpm.war</outputFileNameMapping>
-      <scope>provided</scope>
-      <includes>
-        <include>com.onehippo.cms7:hippo-addon-wpm-camunda:war</include>
-      </includes>
-    </dependencySet>
-  </dependencySets>
-</component>

Remove wpmDS

--- a/conf/context.xml
+++ b/conf/context.xml
@@ -2,7 +2,6 @@
 <Context>
     <!-- Disable session persistence across Tomcat restarts -->
     <Manager pathname=""/>
-    <Resource name="jdbc/wpmDS" auth="Container" type="javax.sql.DataSource" maxTotal="100" maxIdle="10" initialSize="10" maxWaitMillis="10000" testWhileIdle="true" testOnBorrow="false" validationQuery="SELECT 1" timeBetweenEvictionRunsMillis="10000" minEvictableIdleTimeMillis="60000" username="sa" password="" driverClassName="org.h2.Driver" url="jdbc:h2:${repo.path}/wpm/wpm;AUTO_SERVER=TRUE"/>
 
     <!-- Change the default repository storage location -->
     <!--
@@ -20,4 +19,4 @@
     <!--
     <Parameter name="output-wicketpaths" value="true"/>
     -->
-</Context>

Add system property

--- a/pom.xml
+++ b/pom.xml
@@ -358,6 +358,7 @@
                   <!-- enables auto export and web files watch: -->
                   <project.basedir>${project.basedir}</project.basedir>
                   <send.usage.statistics.to.hippo>true</send.usage.statistics.to.hippo>
+                  <brx.wpm.external-bpm-engine.disabled>true</brx.wpm.external-bpm-engine.disabled>
                 </systemProperties>
                 <dependencies>
                   <dependency>

Remove Camunda WAR dependency and deployable

--- a/pom.xml
+++ b/pom.xml
@@ -128,12 +128,6 @@
       <artifactId>hippo-enterprise-services</artifactId>
       <scope>provided</scope>
     </dependency>
-    <dependency>
-      <groupId>com.onehippo.cms7</groupId>
-      <artifactId>hippo-addon-wpm-camunda</artifactId>
-      <type>war</type>
-      <scope>provided</scope>
-    </dependency>
   </dependencies>
 
   <build>
@@ -343,14 +337,6 @@
                     <context>/essentials</context>
                   </properties>
                 </deployable>
-                <deployable>
-                  <properties>
-                    <context>/bpm</context>
-                  </properties>
-                  <groupId>com.onehippo.cms7</groupId>
-                  <artifactId>hippo-addon-wpm-camunda</artifactId>
-                  <type>war</type>
-                </deployable>
               </deployables>
               <container>
                 <systemProperties>
Did you find this page helpful?
How could this documentation serve you better?
On this page
    Did you find this page helpful?
    How could this documentation serve you better?