Upgrade 14.6 to 14.7

Introduction

Goal

Upgrade a Bloomreach Experience Manager implementation project from version 14.6.x to 14.7.y.

Significant Changes

  • File Upload Validation improvements

  • Bulk workflow UI fix requires updating custom bulk workflow implementations

Upgrade Steps

Perform Generic Minor Upgrade Steps

Follow the generic instructions for minor upgrades.

File Upload Validation Improvements

Bloomreach Experience Manager 14.7.0 introduces improved file upload validation handling. As a result, the property mimetypes.allowed which is described in Image and Asset Upload Validation has been dropped completely and is not used any more. Existing configuration for that property is not taken into account any more. This property effectively caused the configured MIME types to be skipped for content validation completely, which is not desirable.

As a replacement, a much more robust mechanism has been implemented which validates any file for its browser-provided MIME type against the backend content-detected MIME type: if these MIME types conflict, the upload is not allowed.

We tested 200+ different MIME types. For some more obscure MIME types it can happen that some browsers provide it with a different MIME type than the backend-detected MIME type. If this happens, please refer to Image and Asset Upload Validation for details on how such a file type can be configured to be allowed for upload. In the unlikely scenario that you run into a problem where after the upgrade to 14.7.0 you cannot upload a certain file type any more which you could before, you can configure this file type to be allowed again in the extension.mimetype.allowed.mappings property. See Image and Asset Upload Validation.

Update Custom Bulk Workflow Implementations

Bloomreach Experience Manager 14.7.0 fixes a UI glitch in the advanced search app's bulk workflow menu. If your Bloomreach Experience Manager implementation project contains any custom bulk workflow implementations, these should be updated when upgrading to 14.7. If they are not updated, they will continue to work as before but will not benefit from the bug fix.

To update your custom bulk workflow implementation, add (override) the getSubMenu method as follows:

Add the following import to your Java source:

import com.onehippo.cms7.search.frontend.workflow.PublicationWorkflowPlugin;

Add the following method override to your class:

@Override
public String getSubMenu() {
    return PublicationWorkflowPlugin.SUB_MENU;
}

For a full implementation guide see the updated Use a Custom Bulk Workflow page.

Replace occurrences of #isCmsRequest

The long-deprecated method HstRequestContext#isCmsRequest was removed. If your project still has occurrences, typically in Freemarker templates, please replace this with #isChannelManagerPreviewRequest. See also this 14.0 upgrade page.

Universal Pixel Integration Maven Dependencies

As of version 14.7.0, the enterprise release POM defines the Maven dependencies for the Universal Pixel Integration Addon. Previously, implementation project needed to add a version property and dependency definition to the root POM. When upgrading to 14.7.0, these should be removed.

Remove the following property from the <properties> section in the root pom.xml:

 <hippo-addon-universal-pixel-integration.version>${essentials.version}</hippo-addon-universal-pixel-integration.version> 

Remove the following dependency definition from the <dependencyManagement> section in the root pom.xml:

      <dependency>
        <groupId>com.onehippo.cms7</groupId>
        <artifactId>hippo-addon-universal-pixel-integration-api</artifactId>
        <version>${hippo-addon-universal-pixel-integration.version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>com.onehippo.cms7</groupId>
        <artifactId>hippo-addon-universal-pixel-integration-repository</artifactId>
        <version>${hippo-addon-universal-pixel-integration.version}</version>
      </dependency>

      <dependency>
        <groupId>com.onehippo.cms7</groupId>
        <artifactId>hippo-addon-universal-pixel-integration-frontend</artifactId>
        <version>${hippo-addon-universal-pixel-integration.version}</version>
      </dependency>

      <dependency>
        <groupId>com.onehippo.cms7</groupId>
        <artifactId>hippo-addon-universal-pixel-integration-frontend-ng</artifactId>
        <version>${hippo-addon-universal-pixel-integration.version}</version>
      </dependency>

      <dependency>
        <groupId>com.onehippo.cms7</groupId>
        <artifactId>hippo-addon-universal-pixel-integration-hst</artifactId>
        <version>${hippo-addon-universal-pixel-integration.version}</version>
      </dependency>

For more information, see the current installation instructions for the Universal Pixel Integration Addon.

Update artifact name of Spring Boot exclusion

If you have handled conflicting Spring contexts by the excluding artifact org.onehippo.cms7:spring-boot when upgrading to 14.6, see here, then change the artifact id to xm-spring-boot-integration.

Upgrade Text Find & Replace plugin to 2.1.0

If you have installed the Text Find & Replace plugin, please bump its version to 2.1.0. 
See the separate release notes.

For release 14.7.17

In 14.7.17 we replaced the usage of artifact javax:mail:mail to com.sun.mail:jakarta.mail. Since that artifact is referenced in the distribution configuration, please change it in your code base, by default in src/main/assembly/common-lib-component.xml

<dependencySets>
  <dependencySet>
    <includes>
      ...
      <include>com.sun.mail:jakarta.mail</include>  // change from javax.mail:mail
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?