loading table of contents...

Release Notes / Version 11.2110

Table Of Contents


Configurable Log Pattern in Solr Base Image

The Solr base image has been enhanced to make the Solr logging pattern configurable. Use SOLR_LOG_PATTERN_CONSOLE and SOLR_LOG_PATTERN_FILE to configure the logging.

This fix is contained in coremedia/solr-base:8.8.2-3 and higher.


Undeprecated CMLinkable#LOCAL_SETTINGS

On popular demand, we have undeprecated com.coremedia.blueprint.common.contentbeans.CMLinkable#LOCAL_SETTINGS . Nonetheless, we recommend to use the SettingsService to access the settings.


Tomcat TLD Scanning has been Disabled for all Applications Except CAE

Since the CAE is the only application using taglibs, the tomcat scanning mechanism has been disabled for all Spring Boot applications except for the CAE.

For the CAE an exclude pattern has been defined, excluding problematic jars. The list includes:

  • xmpcore*.jar

  • grpc-netty-shaded*.jar

  • listenablefuture*.jar

  • jsr305*.jar

  • checker-compat-qual*.jar

  • j2objc-annotations*.jar

Please make sure that you are not already setting:

  • the property server.tomcat.additional-tld-skip-patterns



If you set one of these properties outside of the CAEs , make sure to remove those and merge your additions into the CAEs application.proeprties .


Added Headless Rest Mappings for Augmentation Queries

The headless server now provides an augmentation Rest API. Refer the documentation for more details.


Third-Party Update: Apache Solr and Transitive Dependencies

Apache Solr has been updated to version 8.10.1.

For detailed changes of Apache Solr have a look at .

In previous releases, the Solr configuration contained a workaround for a bug in Solr 8.8.2, that has been fixed with the new version (SOLR-15192 / SOLR-13034). The workaround has been removed again in file apps/solr/modules/search/solr-config/src/main/app/configsets/content/conf/solrconfig.xml . For best performance, it's recommended to apply this change to custom copies of that file, by setting the enableLazyFieldLoading option back to true .

As part of this change, the following transitive dependencies have also been updated in CoreMedia applications to match versions used by SolrJ:

  • HttpComponents HttpCore: 4.4.14

  • Jetty: 9.4.44.v20210927

If you use these libraries in project code, please check their respective release notes for changes and upgrade information. No changes were necessary in the CoreMedia Blueprint for these updates.


Update of Commerce Adapter Versions

The following commerce adapter versions are set:

  • Commerce adapter base to v1.6.9

  • Commerce adapter sfcc to v1.4.6

  • Commerce adapter hybris to v1.4.3

  • Commerce adapter wcs to v1.6.3

  • Commerce adapter commercetools to v1.2.3


Third-Party Update: Spring Boot and Related Dependencies

Spring Boot has been updated to version 2.3.11.RELEASE. As part of this change, the following dependencies have been updated to match versions used by Spring Boot. This also fixes a security vulnerability in Spring Security: CVE-2021-22112

  • Spring Boot 2.3.11.RELEASE

  • Spring Framework 5.2.15.RELEASE

  • Spring Security 5.3.9.RELEASE

  • Byte Buddy 1.10.22

  • Glassfish JAXB 2.3.4

  • Hibernate 5.4.30.Final

  • Hsqldb 2.5.2

  • Jakarta Mail 1.6.7

  • Janino 3.1.4

  • Jetty 9.4.41.v20210516

  • Micrometer 1.5.14

  • MySQL 8.0.25

  • Netty 4.1.65.Final

  • PostgreSQL driver 42.2.20

  • Tomcat 9.0.46

If you use these libraries in project code, please check their respective release notes for changes and upgrade information. No changes were necessary in the CoreMedia Blueprint for these updates.


Added the possibility to change the commerce reference of an augmented content

In the case that IDs of categories or products changes in the commerce system, augmentations can now be adapted from the old ID to the new ID directly in CoreMedia Studio. To that end the system tab of augmented contents now provides an editable commerce reference field and a new change reference button. By clicking on it, the editor has the possibility to replace the current commerce reference with a new one from the commerce library. Folder path and name of the augmented content is getting updated after the change.

Additionally, the preference " Show Products and Categories as Content " also toggles the display of the repository path on the System tab of augmented categories and products.


Query for Documents Tagged by Specific Taxonomies

It is now possible to query for documents tagged by specific taxonomies. More details can be found in the Headless Server Manual.


Explode Spring Boot Applications for Commerce Adapters at Startup

The Docker images of the commerce adapters now also make use of the SPRING_BOOT_EXPLODED_APP toggle was added to the java-application-base image. By setting SPRING_BOOT_EXPLODED_APP: true (which now is the default), the application entrypoint will extract the application.jar to /coremedia/exploded and start it from there. If that directory already exists, it will start the application from there.

This process speeds up the starting process by factor 2-3 and is the recommended way by Spring.


Reproducible Maven Builds

With this release the Maven build produces the same artifacts on two consecutive builds, when there are no changes. This is implemented following the Maven guidelines described here .

There are some minor behavioral changes in the editorial UIs:

  • The Studio won't show a build date in the about dialog if the version is a -SNAPSHOT .

  • The Editor won't show a build date in the about dialog

The coremedia-application-maven-plugin has been updated with this commit to the version 3.0.0 . This version does not add any new configuration options but removes some unused functionality including:

  • support for Webstart

  • support for RPM building

  • support for application building with embedded Tomcat installation

If you need any of these features, you can switch back to version 2.8.3 and build without the reproducible build feature.


Reworked Commerce search API

The Commerce search API as defined in class com.coremedia.livecontext.ecommerce.catalog.CatalogService was changed. The methods accepting search parameters as a map are deprecated. A single method accepting parameters of type and com.coremedia.livecontext.ecommerce.common.StoreContext replaces them all: CatalogService#search(SearchQuery sq, StoreContext sc)

The paging parameters have been consolidated. The new SearchQuery parameter object does neither support pageSize nor pageNumber  because this information is redundant to limit and offset .

The new SearchQuery#offset is 0-based whereas CatalogService#SEARCH_PARAM_OFFSET was 1-based. In order not to confuse the editors the offset in the ProductList Studio form is still 1-based. The required offset conversion is implemented in all places, where the settings of product list contents are read. Custom implementations will have to be changed from searchParams.put(SEARCH_PARAM_OFFSET, Integer.toString(myOffset)) to searchQueryBuilder.setOffset(myOffset - 1) .

The method MarketingSpotService#searchMarketingSpots(String s, Map<String,String> m, StoreContext sc) has been deprecated in favor of MarketingSpotService#searchMarketingSpots(SearchQuery q, StoreContext sc) .

The methods DataSearchService#searchCategories(String s, Map<String,String> m, StoreContext sc) , DataSearchService#searchProducts(String s, Map<String,String> m, BaseCommerceBeanType b, StoreContext sc) and DataSearchService#searchMarketingSpots(String s, StoreContext sc) have been deprecated in favor of DataSearchService#search(SearchQuery q, StoreContext sc) .

Multi-facet support is included only for commerce adapter services based on base adapter 1.5. The new search implementation is backward-compatible in the sense that it works with older commerce adapter services (using base adapter older than 1.5) but then just the first facet is taken into account. Also note that the deprecated SearchResult#getFacets is only filled when connected to an old commerce adapter because the returned facet format is incompatible with the new facet format returned in SearchResult#getResultFacets .

For the backward compatibility of the commerce adapter used in your project, please consult the release notes of the commerce adapter.


Removed Classic Studio Components

Removed Components in apps/studio-client/apps/main/core/editor-components/src/sdk/desktop/ :

  • ExtensionsMenu / ExtensionsMenuToolbar replaced by the new Apps Menu

  • FavoritesToolbar / FavoritesToolbarUserItemsArea is no longer a toolbar, but a menu: FavoritesButtonMenu , FavoritesUserItem


Added EntityController and StudioRestController as ExtensionPoints for Studio-Server Plugins

See JavaDoc of EntityController and StudioRestController in package and section "Using the EntityController" in Studio Developer Manual and section "Plugins for Java Applications" in Blueprint Developer Manual.


Unify Link Building for Commerce-Led and Content-Led URLs

The generic client receives links for commerce-led and content-led link building as link template. The template usually contains placeholders, which are replaced in the generic client.

The class represents the list of well-known link templates. As all link templates are transferred in a map from the adapter to the client, additional links can be added on the adapter and client side easily without API changes.

Make sure the commerce adapter instance and the commerce-adapter-base library in your client application do have at least version 2.0.0.

There is no further action needed, if you did not customize link building in your project so far.


Customization of CMQueryListImpl and SettingsStructToSearchQueryConverter

The Blueprint classes CMQueryListImpl and SettingsStructToSearchQueryConverter can be customized easier now by overriding protected methods, that were private before. The SettingsStructToSearchQueryConverter was enhanced by a method applyCustomFilter that can be overridden to add custom filters to the query. Additionally a custom SettingsStructToSearchQueryConverter can be provided via a new factory bean SettingsStructToSearchQueryConverterFactory .


Search Results

Table Of Contents