close

Filter

loading table of contents...

Release Notes / Version 10.2104

Table Of Contents

Studio Validation Maven Modules, API and Configuration Changes

The Studio validation framework and all Validator implementations were moved from Studio Server Maven modules to Maven modules of the "shared/middle" workspace. This change is necessary for new functionality in the Content Feeder , which calls validators to index content issues (see release note CMS-18432). As part of this change, some classes, interfaces, and configuration properties were changed.

It's recommended to eventually move custom validator implementations to Maven modules that don't depend on Studio Server artifacts. If moved, custom implementations will be usable for the Content Feeder . This is however not strictly required for this update.

Configuration Property Changes:

  • Property " studio.assets.settings-document " has been replaced with " assets.settings-document "

  • Property " studio.available-locales-content-path " has been replaced with " available-locales.content-path "

  • Property " studio.available-locales-property-path " has been replaced with " available-locales.property-path "

  • Property " studio.validators.navigation.ignore-path " has been replaced with " validators.navigation.ignore-path "

  • Property " studio.site-configuration-path " has been replaced with " content.site-configuration-path "

  • Property " studio.global-configuration-path " has been replaced with " content.global-configuration-path "

Mind that configuration properties support Spring Boot relaxed binding. A project might use a different syntax to configure these properties, which still needs to be replaced. For example, a camel-cased variant like " studio.siteConfigurationPath " must also be adapted.

Maven Dependency Changes:

The following Java packages were moved to different Maven modules. You have to adapt Maven dependencies accordingly for custom code that uses these packages:

  • com.coremedia.rest.validation was moved from com.coremedia.cms:coremedia-rest-plugins to com.coremedia.cms:middle.coremedia-validation

  • com.coremedia.rest.validators was moved from com.coremedia.ui:coremedia-rest-core to com.coremedia.cms:middle.coremedia-validation

  • com.coremedia.rest.cap.validation was moved from com.coremedia.cms:cap-rest-plugins to com.coremedia.cms:middle.cap-validation

  • com.coremedia.rest.cap.validators was moved from com.coremedia.ui:cap-rest-service to com.coremedia.cms:middle.cap-validation

  • com.coremedia.blueprint.base.rest.validators was moved from com.coremedia.blueprint.base:bpbase-studio-rest to com.coremedia.blueprint.base:middle.bpbase-validators

  • com.coremedia.lc.studio.lib.validators was moved from com.coremedia.blueprint:lc-studio-lib to com.coremedia.blueprint:lc-validators

  • com.coremedia.catalog.studio.lib.validators was moved from com.coremedia.blueprint:catalog-studio-lib to com.coremedia.blueprint:catalog-validators

Blueprint Moved Directories:

Some Blueprint files and directories have been moved as consequence of moving validators from apps/studio-server to shared/middle . The exact file changes in the Blueprint are available in the Git repository and can be merged into project repositories in the usual way. Just to summarize, the following directories and files have been moved from apps/studio-server/modules/extensions to paths below shared/middle/modules/extensions .

  • am/am-studio-component/src/main/java/com/coremedia/blueprint/assets/studio/validation

  • am/am-studio-component/src/test/java/com/coremedia/blueprint/assets/studio/validation

  • am/am-studio-component/src/test/resources/com/coremedia/blueprint/assets/studio/validation

  • catalog/catalog-studio-lib/src/main/java

  • catalog/catalog-studio-lib/src/test

  • lc-asset/lc-asset-studio-lib-component/src/main/java/com/coremedia/livecontext/studio/asset/validators

  • lc-asset/lc-asset-studio-lib-component/src/test/java/com/coremedia/livecontext/studio/asset/validators

  • lc/lc-studio-lib/src/main/java/com/coremedia/lc/studio/lib/validators

  • lc/lc-studio-lib/src/main/java/com/coremedia/lc/studio/lib/LcStudioValidationConfiguration.java

  • lc/lc-studio-lib/src/main/java/com/coremedia/lc/studio/lib/LcStudioValidationLegacyConfiguration.java

  • lc/lc-studio-lib/src/main/java/com/coremedia/lc/studio/lib/LcStudioValidatorsConfiguration.java

  • lc/lc-studio-lib/src/test/java/com/coremedia/lc/studio/lib/validators

  • lc/lc-studio-lib/src/test/resources/com/coremedia/lc/studio/lib/validators

  • validators/validators-studio-lib/src/main/java/com/coremedia/blueprint/studio/rest/validation

  • validators/validators-studio-lib/src/main/resources/META-INF/coremedia

API Changes:

There were some changes in the public Java API for the configuration of validators:

  • com.coremedia.rest.cap.config.StudioConfigurationProperties.Validators.Navigation was moved to com.coremedia.blueprint.base.rest.validators.NavigationValidatorsConfigurationProperties

  • In class com.coremedia.blueprint.base.rest.validators.IsPartOfNavigationValidator , method #setStudioConfigurationProperties was removed. Use #setIgnorePaths instead.

  • In class com.coremedia.rest.cap.config.StudioConfigurationProperties , the methods #getAvailableLocalesContentPath , #setAvailableLocalesContentPath , #getAvailableLocalesPropertyPath , and #setAvailableLocalesPropertyPath were removed. Use class com.coremedia.rest.cap.validators.AvailableLocalesConfigurationProperties instead.

  • In class com.coremedia.rest.cap.config.StudioConfigurationProperties , the methods #getSiteConfigurationPath , #setSiteConfigurationPath , #getGlobalConfigurationPath , and #setGlobalConfigurationPath were removed. Use class com.coremedia.cap.content.spring.ContentConfigurationProperties instead.

  • com.coremedia.rest.cap.config.StudioConfigurationProperties.Assets has been removed. Use Blueprint class com.coremedia.blueprint.assets.AssetManagementConfigurationProperties instead.

The packages of the following classes were changed. These classes were already used in the Blueprint, and became now part of the public API:

  • Moved from package com.coremedia.rest.cap.content.imagevariants to com.coremedia.rest.cap.validators : Class ImageCropSizeValidator

  • Moved from package com.coremedia.blueprint.base.pagegrid.rest to com.coremedia.blueprint.base.rest.validators : Classes ConfigurableDeadLinkValidator , PlacementsValidator , and VisibilityValidator

  • Moved from package com.coremedia.blueprint.base.rest.config to com.coremedia.blueprint.base.config : Interface ConfigurationService and related classes

API Deprecations:

  • Deprecated com.coremedia.rest.cap.validators.AvailableLocalesConfiguration . Use com.coremedia.rest.cap.validators.AvailableLocalesConfigurationProperties instead, a Spring ConfigurationProperties class holding the same values.

  • In com.coremedia.rest.cap.validators.AvailableLocalesValidator , deprecated method #setConfiguration and the no-arg constructor. Use two-arguments constructor instead.

  • In com.coremedia.rest.cap.CapRestServiceBaseConfiguration , deprecated method #availableLocalesConfiguration .

Predefined Validators:

The following validators are not predefined by the Studio core anymore. They are still predefined in the Blueprint " validators " extension in com.coremedia.cms.middle.blueprint.validators.ValidatorsConfiguration , so there is no change for most projects:

  • com.coremedia.rest.cap.validators.AvailableLocalesValidator

  • com.coremedia.rest.cap.validators.SiteManagerGroupValidator

  • com.coremedia.rest.cap.validators.DeadLinkValidator

Only projects that are not based on the Blueprint, or that have disabled the " validators " extension, will have to re-enable these validators, if they are needed. They can be configured as Spring beans in the application context in the same way as in the Blueprint class ValidatorsConfiguration .

(CMS-18431)

Search Results

Table Of Contents