close

Filter

loading table of contents...

Release Notes / Version 11.2310

Table Of Contents

New Recommended Final Action For Localization Workflows: CleanInTranslationFinalAction

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)

Search Results

Table Of Contents
warning

Your Internet Explorer is no longer supported.

Please use Mozilla Firefox, Google Chrome, or Microsoft Edge.