Release Notes / Version 11.2307
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)
Fixed NullPointerException in FeedableImpl
When the type of a collection set as feedable element cannot be determined, the type now correctly defaults to String.
(CMS-21065)
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)
The License Check Now Considers IPs of all Network Interfaces
For IP based licenses all network interfaces are considered now and the check passes if there is at least one IP that can be successfully validated against the IP range configured in the license.
(CMS-20799)
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)
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)
Limit Content Server Threads Checking Database Connections
Fixed the bug that the number of threads used by the
Content Server
for checking database connections wasn't limited. This could have led to instabilities in cases, where many calls to the database are blocked due to some problems with the database. By default, the number of such threads is now limited to twice the maximum number of database connections. The limit can be changed with configuration property
sql.pool.check-connection-max-threads
as described in the Deployment Manual in section "CoreMedia Properties Overview | Content Server Properties | Properties for the Connection to the Database".
(CMS-20535)
Fixed Parsing of Workflow Timer Element
Timer elements in workflow definitions with relative values but without explicitly setting the property
relative
are now recognized correctly as 'relative' even for values > 999.
(CMS-20175)