Release Notes / Version 11.2307
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)