Release Notes / Version 10.2107
Table Of ContentsFixed Bug that Required Exact User Names for Login
Fixed the bug that users from a specially customized user provider could not log in with a different identifier than the user name. For releases before 2007.1, custom user providers could return users for other login identifiers, but more recent releases prevented this. The possibility has been restored now, so that these custom user providers continue to work.
(CMS-21105)
Enhanced Robustness in Translation Workflows (Pre-Processing Stage)
When translation workflows create contents in derived target sites, they may stumble across issues while doing so. Previously, this may have left created targets checked out by the artificial user
translation-workflow-robot
.
The processing in this pre-processing stage of the translation (and synchronization) workflow has been enhanced, so that at best effort, contents should not be left checked out by the artificial user.
Corresponding exceptions are still forwarded and will escalate the translation workflow. They should not be ignored, but investigated, as the intermediate content state may now be corrupted.
(CMS-20899)
cm cleanversions: Respect Versions Being in Translation
Prior to this fix,
cm cleanversions
may have removed versions of a master content which are referenced from an active translation or synchronization workflow. This may cause those workflows to escalate.
Now,
cm cleanversions
respects these so-called
Merge Versions
, which are those versions of a master content, which are
just about to be translated into some derived content
.
An update is strongly recommended, if you regularly use
cm cleanversions
with rather strict limits regarding
-keep-days
for example.
(CMS-20768)
Recommended Change for CleanInTranslation
The scheduled task
CleanInTranslation
(package:
com.coremedia.translate.workflow
) got extended by a constructor having an additional parameter:
confidenceThreshold
.
confidenceThreshold
defaults to 0 (zero), which simulates the old behavior using the former (still existing) constructor.
To change the threshold, you have to update your
BlueprintWorkflowServerAutoConfiguration
, like for example to recommended threshold of 1 (one):
@Bean CleanInTranslation cleanInTranslation(List<TranslationWorkflowDerivedContentsStrategy> strategies, ContentRepository contentRepository, SitesService sitesService) { // 1 is the recommended threshold return new CleanInTranslation(strategies, contentRepository, sitesService, 1); }
Why should I consider changing the threshold (and what is it for)?
Increasing the threshold decreases the likeliness of a false-negative "in-translation" state. Editors would see this as, for example, not being warned, when a given content is already in translation.
Along with
cm cleanversions
such false-negative state may even cause translation or synchronization workflows to escalate.
With 2201.1 a configuration option will be introduced for
CleanInTranslation
, which will then default to 1.
More technically, the threshold defines how often to run additional checks, if a master version is meanwhile referenced by a translation or synchronization workflow prior to consider it as stalled and remove the corresponding marker (known as Merge Version ).
The lower you choose your scheduling interval for
CleanInTranslation
within
BlueprintWorkflowServerAutoConfiguration
(and thus, increasing the execution frequency), the higher you may want to choose the threshold. In general, 1 (one) should be sufficient. More than 10 is discouraged, as it will take longer until possibly false-positive "in translation" warnings appear for editors.
(CMS-20766)
Start Translation Workflow Validation: May Report "No content to translate."
When trying to start a translation workflow in CoreMedia Studio, it may report No content to translate. although contents have been selected.
This may happen, when you added contents from different sites or when you added a content which is not within a site.
This behavior is fixed now, and you will instead see the expected violation issues, such as:
There is a content item that does not belong to a site.
There are content items that belong to different sites.
(CMS-20680)
Third-Party Update : Netty
Netty has been updated to version 4.1.72.Final to avoid security vulnerabilities of the previous version.
(CMS-20615)
Performance Tuning: CleanInTranslation
The scheduled workflow process
CleanInTranslation
has been optimized for performance.
As an additional adjustment, it is strongly recommended adding the following adjustments to your system:
Database Index: For the database of Content Management Server, add the following index:
create index nmergeversionsIndex on Resources (nMergeVersions_);
Using exactly this index definition ensures, that you will not collide with later versions of CMCC, which ship automatically having this index.
Adjust Scheduling:
In
BlueprintWorkflowServerAutoConfiguration
reduce the frequency (
fixedDelay
) of
CleanInTranslation
. The default delay is 5 seconds. We recommend a delay of at least 5 minutes, instead. In later versions, we will default to 15 minutes even.
Scheduler to adjust:
@Scheduled(initialDelay = 10_000, fixedDelay = 5_000) void doCleanInTranslation() { cleanInTranslation.run(); }
For example, change it to:
@Scheduled( initialDelay = 10, fixedDelay = 900, timeUnit = TimeUnit.SECONDS) void doCleanInTranslation() { cleanInTranslation.run(); }
(CMS-20593)
Improve Robustness and Error Messages for Translation Workflow Rollback
Translation Workflows are now more robust against errors during Rollback and generate more helpful log messages.
(CMS-20574)
Fixed Bug in LocalAndLinkedSettingsFinder
Class
com.coremedia.blueprint.base.settings.impl.LocalAndLinkedSettingsFinder
handles cyclic navigation structures and does no longer propagate
com.coremedia.blueprint.base.tree.CycleInTreeRelationException
to clients of
com.coremedia.blueprint.base.settings.SettingsService
.
(CMS-20313)
Updated documentation of extensions and their dependencies
The section "Extensions and Their Dependencies" of the Blueprint manual has been updated. Before, the extension es-alx was listed in a wrong context.
(CMS-20302)
Third-Party Update: NGINX
The NGINX docker image that is used with CMCC has been updated to 1.21.5-alpine to avoid security issues of the previous version.
(CMS-20137)
Third-Party Update: JDOM2
JDOM2 has been updated to version 2.0.6.1 to avoid a reported security vulnerability of the previous version (CVE-2021-33813).
(CMS-19628)
Fixed Content Feeder for slow content queries
Fixed a bug in the Content Feeder that caused delayed index updates and blocked JMX calls, when it executed a long-running content query for less important changes that should be processed in the background.
(CMS-19354)
"Force" Option for workflowconverter
As an alternative to -c, you can now use -f in order to enforce conversion of process definitions. This is useful, if an LDAP group, which is used as role in a process definition, accidentally vanishes, reappears and gets a new CAP ID in the contentserver. The workflowconverter checks only for class incompatibilities but does not detect invalid group ids, and thus would not convert the workflow without the force option.
(CMS-17243)