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
Define some general workflow settings like
Label
: Label for workflow that is shown in user interfaceFolder
: Folder of the workflow in the workflow listingActive
: Activate or deactivate the workflowDescription
: Some description for the workflow - just visible in the workflow designerPriority
: 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 typeworkflow
can handle multiple places at one time whereas astate_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
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.
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. (note: only HEX color definitions are supported)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
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.