Workflow Configuration Editor

The workflow configuration editor allows to configure the workflow. Beside some general settings, the places, transitions and global actions can be configured with a visual editor.

General Settings

General Settings

Define some general workflow settings like

  • Label: Label for workflow that is shown in user interface
  • Folder: Folder of the workflow in the workflow listing
  • Active: Activate or deactivate the workflow
  • Description: Some description for the workflow - just visible in the workflow designer
  • Priority: When multiple custom view or permission settings from different places in different workflows are valid, the workflow with the highest priority will be used.
  • Type: A workflow with type workflow can handle multiple places at one time whereas a state_machine provides a finite state machine (only one place at one time). Take a look at the Symfony docs for more details.

Subject settings

The subject settings define, to what elements the workflow should be applied to. There are two strategies available:

  • Simple: Select one or multiple classnames for which the workflow should be applied to.
  • Expression: Select a classname from the list and an additional condition when the workflow should be applied. The condition is a Symfony expression and can filter elements with specific criteria, e.g. all products of a certain type. See Pimcore docs for more details.

Advanced Settings

The advanced settings allow configuring two more settings:

  • Marking Store: The marking store defines where the current workflow places of an element are stored. state_table should be sufficient for most cases. See Pimcore docs for more details.
  • Audit Trail: Enable default audit trail feature provided by Symfony. Take a look at the Symfony docs for more details.

Workflow Definition

Workflow Definition

The workflow definition tab allows the visual definition of places, transitions and global actions of the workflow. Each workflow has to have at least one transition.

Workflow elements can be added via the palette on the left side, or inline in the context pad of a selected element. The context pad also allows to open a configuration window to configure detailed configuration of the element.

Context Pad

Place Settings

Place Settings

Places are the states in which an element can be. Each state has the following configuration options:

  • Label: Nice name which will be used in the Pimcore backend.
  • Title: Title/tooltip for this place when it is displayed in the header of the Pimcore element detail view in the backend.
  • Show Place in Header: If set to false, the place will be hidden in the header of the Pimcore element detail view in the backend.
  • Color: Color of the place which will be used in the Pimcore backend.
  • Show Color Inverted: If set to true the color will be used as border and font color otherwise as background color.
Permission Settings

Permissions define what is allowed with the element in the current place. They cover classic permissions like allowing modifying, saving, publishing, deleting elements as well as defining a custom layout for data objects. A place can have multiple permission sets defined, each with a condition that defines what permission set applies (e.g. different permission sets for different user groups).

Transition Settings

Transition Settings

Transitions are the actions that can be applied on the elements. Each transition has the following configuration options:

  • Label: Nice name for the Pimcore backend.
  • Guard: A symfony expression to block the transition from being allowed to be executed. E.g. certain transitions can be executed by certain user groups only.
    Example: is_fully_authenticated() and has_role('ROLE_JOURNALIST') and subject.getTitle() == 'My first article'
  • Icon Class: Css class to define the icon which will be used in the actions button in the backend.
  • Object Layout: Forces an object layout after the transition was performed. This objectLayout setting overrules all objectLayout settings within the places configs.
  • Change Published State: Change published state of element while transition (only available for documents and data objects).
Notes Settings

With the notes settings, it is possible to allow users to leave a comment when executing the transitions. The comments are stored in Notes & Events of the workflow subject, see also Pimcore docs.

  • Comment Enabled: If enabled a detail window will open when the user executes the transition. In this detail view the user be asked to enter a "comment". This comment then will be used as comment for the notes/events feature.
  • Comment Required: Set this to true if the comment should be a required field.
  • Type: Define the type of the created note.
  • Title: Define the title for the created note.
  • Comment Setter Function: Can be used for data objects. The comment will be saved to data objects through this setter function in addition to the notes/events.
  • Comment Getter Function: Can be used for data objects to prefill the comment field with data from the data object.
Notifications Settings

With notifications settings it is possible to configure notifications when the transition is executed. Details also see Pimcore docs.

  • Condition: A symfony expression can be configured here. All sets of notification which are matching the condition will be used.
  • Notify Users: Send notification to a list of users (user names) when the transition gets applied.
  • Nofify Roles: Send notification to a list of user roles (role names) when the transition gets applied.
  • Channel Type: Define which channel the notification should be sent to, possible values are Mail and Pimcore Notification.
  • Mail Type: Type of mail source, possible values are Template and Pimcore Document.
  • Mail Path: Path to mail source - either Symfony path to template or fullpath to Pimcore document. Optional use %%_locale%% as placeholder for language.

Global Action Settings

Global Action Settings

In addition to transitions, Pimcore workflows also allow defining global actions. While transitions are only available when the element is in a certain place, global actions are available at every place. Beside that, they are very similar to transitions.

Detail descriptions for the available options see Transaction Settings above.

Additional Features

  • Undo and redo of definition changes (does not include detail configuration of workflow elements configuration windows).
  • Zoom in, zoom out and automatic zoom.
  • Minimap for improved navigation in big workflows.