Upgrades
Upgrades
Brightspot Enterprise 4.5 to 4.7 Developer Upgrade Guide

4.7 Breaking Changes Guide


When upgrading to 4.7, there are some breaking changes that need to be accounted for.


This feature can be found under GlobalRTE cluster → Text CSS Class Groups field.

This field had been previously deprecated, but was removed entirely in 4.7.

Confirm population of field on production

The first step is to verify if this field is used on production.

To confirm this, you will either need production CMS access or will need to request this information from somebody who does.

Resolution

To resolve this, you will need to create a new extension of RichTextElement to replicate the feature.

When creating these new RichTextElement classes, make sure to override getTag() with the correct tag value and also ensure to set this on the rich text annotation as well.

@RichTextElement.Tag(
  value = MyRichTextEl.TAG_NAME,
  htmlBody = true,
  block = true,
  ...
)
public class MyRichTextEl extends RichTextElement {

  public static final String TAG_NAME = "{tag-name}"
  
  @Override
  protected String getTag() {
      return TAG_NAME;
  }
}


After you've implemented the new rich text element, ensure that you create any ViewModels or Handlebars templates so that it can be rendered on the frontend.


If you bump to 4.7, have GO version of 1.x and run into Could not find com.psddev:watch, the solution is to remove api 'com.psddev:watch' from build.gradle(core). However, removing this dependency might throw another error related to incompatible IntegrationHeadScripts and IntegrationExtraBodyItems . The exact error is:

error: types IntegrationHeadScripts and IntegrationExtraBodyItems are incompatible;
public class GoogleTagManager extends Record implements IntegrationHeadScripts,
       ^
  class GoogleTagManager inherits unrelated defaults for isDisabled() from types IntegrationHeadScripts and IntegrationExtraBodyItems

Resolution

To resolve this, override the isDisabled method in GoogleTagManager like this:

@Override
public boolean isDisabled() {
    return this.as(IntegrationItemsData.class).isDisabled();
}

Previous Topic
Adding 4.7 Features Guide
Next Topic
4.7 to 4.8 Table of Contents
Was this topic helpful?
Thanks for your feedback.

Browse All Docs

Everything you need to know when creating, managing, and administering content within Brightspot CMS.

Dashboards
Publishing
Workflows
Admin configurations
A guide for installing, supporting, extending, modifying and administering code on the Brightspot platform.

Field types
Content modeling
Rich-text elements
Images
A guide to configuring Brightspot's library of integrations, including pre-built options and developer-configured extensions.

Google Analytics
Shopify
Apple News
Brightspot is packaged with content types that get you up and running in a matter of days, including assets, modules and landing pages.

Assets
Modules
Landing pages
Our robust, flexible Design System provides hundreds of pre-built components you can use to build the presentation layer of your dreams.

Asset types
Module types
Page types