Release Notes / Version 11.2310
Table Of ContentsDeprecation: Obsolete classes in Workflow Java API
The following classes for customizing workflows have been deprecated
in the Java API in package
com.coremedia.workflow.common.util
:
AbstractExternalManager
LongActionRegistry
RegisteringLongAction
SpringCollectiveLongAction
SpringDelegateAction
SpringDelegateLongAction
The methods hasManager
and
getManager
of class
com.coremedia.workflow.WfServer
have also been
deprecated.
For details, see the deprecation notices in the API documentation. To
summarize, it's recommended to instead use Unified API interfaces to
implement custom managers, and to use
SpringAware*Action
classes for actions that
interact with the Spring context.
(CMS-20233)
Added parametric HTTP endpoint to re-indexing CAE Feeder
The CAE Feeder application now has a specific parametric endpoint to
trigger a re-indexing without using JMX. The endpoint is available at
:40781/actuator/reindex
and is enabled by default.
To perform a partial re-indexing send a HTTP POST request i.e.
curl --request POST \ --url http://localhost:40781/actuator/reindex \ --header 'Content-Type: application/json' \ --data '{ "ids": "1234,5678", "contentTypes": "CMArticle,CMPicture", "query": "BELOW PATH '\''/Sites/Calista'\''" }'
See the Search Manual, section "Partial Reindexing of CAE Feeder Indices" for more information.
(CMS-19831)
Update of MongoDB Java Driver to version 4.3.0
The thirdparty dependencies org.mongodb:mongodb-driver-legacy, org.mongodb:mongodb-driver-core and org.mongodb:bson have been updated from version 4.2.2 to 4.3.0.
(CMS-19758)
Deprecation: ListDiff#elementEqual
In the Java API, method elementEqual
of class
com.coremedia.translate.workflow.ListDiff
has been
deprecated. Instead of overriding that method in a subclass, you can
instead pass a predicate for equality to a constructor of that class.
(CMS-19502)
Removal: Deprecation for SiteModel's siteIndicatorDepth in Multi-Site
We removed the deprecation notice for
siteIndicatorDepth
as part of the
SiteModel
.
As part of this change cm validate-multisite
got
extended by a new issue code:
MS-VALIDATION-4009
–DISCOURAGED_PROPERTY_VALUE
The new issue-code is reported at level INFO
and is
triggered, when using a siteIndicatorDepth
different to 0
(zero).
Motivation
As part of
CMS-9521 Closed we deprecated
siteIndicatorDepth
for 2001.1 and changed the
default to 0
(zero) rather than
1
(one), as we got aware that many editors
struggled with site indicators being hidden in the "depth"
of a site – which in the end caused corrupted sites.
Nevertheless, migrating existing content from a depth 1 to depth 0 may raise considerable migration effort, as you have to move all site indicators up one level in one step (while stopping editorial work) and then republish all your sites.
Because of this, we decided to remove the deprecation notice, so that
we will support site indicator depths different to
0
also on in the future. The default which ships
with CoreMedia Blueprint will stick to the recommended default
0
, though.
(CMS-19378)
Third-Party Update: Apache Tika and Transitive Dependencies
Apache Tika has been updated to version 1.26. As part of this change, the following transitive dependencies of Apache Tika have been updated to match versions used by Tika. These updates fix known security vulnerabilities: CVE-2021-28657 (Tika), CVE-2021-27807 (PDFBox).
Updated dependencies:
com.google.guava:guava: 30.1.1-jre
org.apache.commons:commons-lang3: 3.12.0
org.apache.pdfbox:fontbox: 2.0.23
org.apache.pdfbox:pdfbox: 2.0.23
org.apache.pdfbox:pdfbox-tools: 2.0.23
org.apache.pdfbox:preflight: 2.0.23
org.apache.pdfbox:xmpbox: 2.0.23
org.apache.tika:tika-core: 1.25
org.apache.tika:tika-parsers: 1.25
org.bouncycastle:bcmail-jdk15on: 1.68
org.bouncycastle:bcpkix-jdk15on: 1.68
org.bouncycastle:bcprov-jdk15on: 1.68
org.ow2.asm:asm: 9.1
org.tukaani:xz: 1.9
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.
(CMS-19202)
cm dump: Dump Text Blobs to Console
cm dump
is now able to dump text blob values
directly to console. Thus, if your object to dump provides a blob
property and it stores some text (or alike) value (such as
application/javascript
), you can trigger to write
it to console by using:
--blob text
The default remains as is, i.e. blobs are just providing some details
on MIME type and size. This is the same as calling
cm dump
with:
--blob plain
(CMS-18880)
Added endpoint to disable/enable the replicator service
The replication-server application now has a specific endpoint to
disable and enable the replicator service without using JMX. The
endpoint is available at :8081/actuator/replicator
and is enabled by default. To disable replication send a HTTP POST
request i.e.
curl -X POST \ -H "Content-Type: application/json" \ -d '{"enable": false}' \ http://localhost:8081/actuator/replicator
(CMS-18545)
Changed Content Feeder Configuration Properties
Some configuration properties of the Content
Feeder have been renamed as part of an initiative to use
Spring Boot's type-safe ConfigurationProperties
.
The old property names still work as before but some have been
deprecated. It's not required to change your configuration now. If
possible, we recommend to migrate to the new property names.
The following properties have been renamed
feeder.indexDeleted
->feeder.content.index-deleted
feeder.indexGroups
->feeder.content.index-groups
feeder.indexNameInTextBody
->feeder.content.index-name-in-textbody
feeder.indexReferrers
->feeder.content.index-referrers
feeder.partialUpdate.aspects
->feeder.content.partial-update-aspects
feeder.management.user
->feeder.content.management.user
feeder.management.password
->feeder.content.management.password
feeder.backgroundFeed.delay
->feeder.content.background-feed-delay
feeder.retryConnectToIndexDelay.seconds
->feeder.content.retry-connect-to-index-delay
(new property takes milliseconds if not specified otherwise)feeder.updateGroups.immediately
->feeder.content.update-groups-immediately
See also section 'Content Feeder Renamed Properties' in the reference chapter of the Search Manual for all deprecated and new property names.
(CMS-17957)
Enhanced Encryption Algorithm For System Passwords
The encryption approach used by
cm encryptpasswordproperty
has been enhanced, so
that you may use a more secure Cipher
transformation to encode passwords than the default
RSA
without padding schema.
To use a better transformation such as
RSA/ECB/OAEPWithSHA-256AndMGF1Padding
, you may now
add it as configuration option to your keystore properties file via
CM_CIPHER_TRANSFORMATION
, like:
CM_KEYSTORE_PASSWORD=<KEYSTORE_PASSWORD> CM_KEY_ALIAS=<KEY_ALIAS> CM_KEY_PASSWORD=<KEY_PASSWORD> CM_CIPHER_TRANSFORMATION=RSA/ECB/OAEPWithSHA-256AndMGF1Padding
For upgrade scenarios, a fallback exists for decoding passwords from
old RSA
transformation, so that you may update your
passwords one by one.
To re-encode your passwords, use
cm encryptpasswordproperty
as described in
Content Server Manual, section Password
Property Encryption once you have set
CM_CIPHER_TRANSFORMATION
.
(CMS-17851)
Removal: com.coremedia.elastic.core.test.Injection and core-test module
com.coremedia.elastic.core.test.Injection
and
core-test module is removed. use @InjectMocks
,
@Mock
and @Spy
and if this is
not possible
org.springframework.test.util.ReflectionTestUtils
(CMS-16834)
New Validator: PossiblyMissingMasterReferenceValidator for Multi-Site
In certain scenarios it may happen, that you have a master content and derived content which miss a corresponding link from derived to master to signal the relationship. This state, if caused by accident, may cause duplicated contents to be created where you don't expect them.
The new validator
PossiblyMissingMasterReferenceValidator
detects
such a state and will by default raise a warning in these states.
Depending on the perspective (if this content is regarded as master content or as derived content) you will get slightly different messages:
For master you may get: A content in derived site German (Germany) exists, which may miss a link to this content as its master: Orphaned Name.
For derived content you may get: A content in master site English (United States) exists, which should possibly be linked to as master: Orphaned Name. Consider setting an appropriate master version carefully. Most likely the current master version.
If for any reason, this analysis reports a false-positive, it will vanish as soon as you finished a translation of a given master content.
Upgrade Notice
No upgrade steps are required unless you consider these warnings
irrelevant in your setup. In this case you may remove the bean
possiblyMissingMasterReferenceValidator
which comes
with
com.coremedia.cms.middle.blueprint.validators.ValidatorsConfiguration
.
As an alternative you may customize the severity by setting
possiblyMissingMasterReferenceFromMasterValidator.severity
to INFO
(it defaults to WARN
).
Extension Points
By default, the match strategy to search for similar contents is done
by relative path. If you have different identity tokens (such as
product IDs as property values) you may consider replacing the bean. A
dedicated section exists in JavaDoc of
com.coremedia.rest.cap.validators.PossiblyMissingMasterReferenceValidator
explaining what possible extension points you may use.
validate-multisite
This validator covers issues detected by cm
tool
validate-multisite
:
MS-VALIDATION-6001
– Content not Used in Derived Site but some Content ExistsMS-VALIDATION-6003
– Content without Master but some Content Exists
(CMS-16043)
validate-multisite Improvement
The output data for "MS-VALIDATION-8000 - Link Spanning Sites" has been enhanced with the site IDs of the content's site and the link target's site.
(CMS-11136)