loading table of contents...
6.5.3.5.2. Translation Workflow Studio UI

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.abstractStartTranslationWorkflowPanel

    The panel to start one or more translation workflows. It creates the Process instances, sets process variables and finally starts the process.

  • inboxPanel:com.coremedia.cms.editor.controlroom.config.workflowForm

    The panel to display and control a Task in the user's inbox.

  • pendingPanel:com.coremedia.cms.editor.controlroom.config.workflowForm

    The panel to display a Process in the user's pending list.

  • finishedPanel:com.coremedia.cms.editor.controlroom.config.workflowForm

    The panel to display a finished Process in 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:

  • bindTo

    A value expression returning the process to show.

  • bindToTask

    A 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.

  • forceReadOnlyValueExpression

    An optional ValueExpression which makes the component read-only if it is evaluated to true.

  • processDefinitionName

    The 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 the ProcessDefinition

  • <ProcessDefinition-name>_state_<state>_text: the name of a state or successor of a workflowStateTransition

  • <ProcessDefinition-name>_task_<task>_text: the name of a Task