Release Notes / Version 11.2310
Table Of Contents
For all localization workflows, we offer a new
FinalAction
for cleaning up the
in-translation state for involved contents early,
thus, earlier than done by CleanInTranslation
scheduled task.
The usage within your workflows looks like follows:
<FinalAction class="com.coremedia.translate.workflow.CleanInTranslationFinalAction" derivedContentsVariable="derivedContents" masterContentObjectsVariable="masterContentObjects"/>
Note, as stated below, that it is highly recommended adapting the
configuration of RollbackTranslationAction
and
CompleteTranslationAction
to prevent false-negative
in-translation states.
The scheduled task CleanInTranslation
will remain
as is and still offers a kind of garbage collection for more irregular
states to clean-up.
Find more details in Blueprint Developer Manual, also regarding the
new parameter for RollbackTranslationAction
and
CompleteTranslationAction
, in section
Predefined Translation Workflow Actions within
section Translation Workflow.
Motivation
CleanInTranslationFinalAction
provides more robust
and earlier handling of the in-translation state
as implicit processing within
RollbackTranslationAction
and
CompleteTranslationAction
. It will clear the state
even for escalated workflows and handles irregular content states much
more robust (such as derived contents meanwhile deleted during the
execution of a translation workflow).
Having this, the default mode (explicitly triggered by
skipCleanInTranslation="false"
) of
RollbackTranslationAction
and
CompleteTranslationAction
is considered deprecated,
and you are encouraged to switch to
skipCleanInTranslation="true"
and
enabling the CleanInTranslationFinalAction
.
Upgrade Notes
Upgrade steps are optional but highly recommended, to benefit from
enhancements provided by the new
CleanInTranslationFinalAction
.
translation.xml
and
synchronization.xml
use the new
CleanInTranslationFinalAction
.
synchronization.xml: To benefit
from the new behavior during synchronization workflows, you have to
re-upload synchronization.xml
as described in
Blueprint Developer Manual:
cm upload -n /com/coremedia/translate/workflow/synchronization.xml
translation.xml: The template
workflow translation.xml
within CoreMedia Blueprint
got adapted according to the recommended configuration. To benefit
from this adaptations, ensure to re-upload
translation.xml
in case you use it without
modifications.
Custom Translation Workflows: To
adapt your custom translation workflows, ensure adding
CleanInTranslationFinalAction
as final action
and disable the internal cleanup of
the in translation state of
RollbackTranslationAction
and
CompleteTranslationAction
by adding a parameter
skipCleanInTranslation
as here, for example:
<Action class="com.coremedia.translate.workflow.CompleteTranslationAction" derivedContentsVariable="derivedContents" masterContentObjectsVariable="masterContentObjects" performerVariable="performer" skipCleanInTranslation="true"/> <!-- derivedContents/masterContentObjects: Not required anymore iff. skipCleanInTranslation="true". --> <Action class="com.coremedia.translate.workflow.RollbackTranslationAction" contentsVariable="createdContents" skipCleanInTranslation="true"/> <!-- This action will instead take over the clean-up. --> <FinalAction class="com.coremedia.translate.workflow.CleanInTranslationFinalAction" derivedContentsVariable="derivedContents" masterContentObjectsVariable="masterContentObjects"/>
Not disabling the internal clean-in-translation
behavior of these actions may result in false-negative in
translation states represented to editors. Disabling it,
but not adding CleanInTranslationFinalAction
on the
other hand will cause false-positive in
translation states, that are only cleared by
CleanInTranslation
scheduled task each 15 minutes
by default.
Regarding RollbackTranslationAction
, there is no
need of setting derivedContentsVariable
or
masterContentObjectsVariable
, as they are unused,
if skipCleanInTranslation
is set to
true
.
(CMS-20035)