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)


