The translation workflow UI in CoreMedia Studio consists of several panels that enable site managers to start, view and control a translation workflow. Like the workflows themselves (see the section called “Configuration and Customization”), these panels are also highly customizable.
To get a glance of the Workflow UI see Section 2.4.2, “Control Room” in CoreMedia Studio User Manual and Section 4.7.3, “Translating Content” in CoreMedia Studio User Manual.
addTranslationWorkflowPlugin
The configuration of the workflow panels is done in the ControlRoomStudioPlugin.exml using the
com.coremedia.cms.editor.controlroom.config.addTranslationWorkflowPlugin. The
addTranslationWorkflowPlugin configures four separate panels for one
processDefinitionName:
startPanel:com.coremedia.cms.editor.controlroom.config.abstractStartTranslationWorkflowPanelThe panel to start one or more translation workflows. It creates the
Processinstances, sets process variables and finally starts the process.inboxPanel:com.coremedia.cms.editor.controlroom.config.workflowFormThe panel to display and control a
Taskin the user's inbox.pendingPanel:com.coremedia.cms.editor.controlroom.config.workflowFormThe panel to display a
Processin the user's pending list.finishedPanel:com.coremedia.cms.editor.controlroom.config.workflowFormThe panel to display a finished
Processin the user's finished list.
workflowForm
As you can see, the type of all these panels except the startPanel is
com.coremedia.cms.editor.controlroom.config.workflowForm. This is the base component
for displaying Processes and Tasks and it is inspired by the
com.coremedia.cms.editor.sdk.config.documentForm.
Like the documentForm the workflowForm has some configuration options that are provided to the
form by the framework and are forwarded to nested items using component defaults:
bindToA value expression returning the process to show.
bindToTaskA value expression returning the task to show. If this form displays a process and not a task (especially in the finished list) this option is null.
forceReadOnlyValueExpressionAn optional ValueExpression which makes the component read-only if it is evaluated to true.
processDefinitionNameThe name of the definition of processes that may be displayed using this form. This configuration option is not forwarded to nested items.
For detailed information consult the CoreMedia Studio ActionScript API.
Customization
Most panels that are used by default only have very few configuration options. This means that if you want to
customize these, you will likely have to implement your own workflowForms or
start panel.
The only exception is the defaultTranslationWorkflowDetailFrom, which can be configured
with the state transitions of the workflow.
When you have a look at the provided translation workflow (see
Section 6.6.2, “Predefined Translation Workflow”),
you will notice a process variable called translationAction. This variable is used to let the user
select the next workflow step, which works by setting the value of the translationAction variable
to the selected value of the radio group shown in the form. A click on the
[Apply]
button will then complete the
Translate task, which is followed by a Switch task that maps the value of the
translationAction to a successor task.
So, by adding a new Switch case and a new successor task for example, you can easily create another
translation option. The mapping from UI to workflow is done with the workflowStateTransitions configuration
option of the defaultTranslationWorkflowDetailFrom.
This is basically a map from the current value of the translationAction called state to
a list of possible next values for the translationAction called successors.
Each workflowStateTransition creates a radio group with the successors as radio buttons,
that will be displayed, when the current value of the translationAction matches the state.
Localization
Localization of the translation workflow UI is done in the file
BlueprintProcessDefinitions.properties, which uses the following patterns:
<ProcessDefinition-name>_text: the name of theProcessDefinition<ProcessDefinition-name>_state_<state>_text: the name of a state or successor of aworkflowStateTransition<ProcessDefinition-name>_task_<task>_text: the name of aTask







