Workflow Expanders
Learn more about workflow Expanders and how they are implemented.
Workflow Expanders allow developers to capture additional data as part of a workflow submission. Expansion data is displayed in the workflow detail dialog, and can be accessed programmatically via Workflow notifications or custom code.
Implementing a Workflow Expander requires a C# class definition and a backoffice extension.
Server-side implementation
The server-side implementation requires a C# class fulfilling the IWorkflowExpander interface:
public class DocumentWorkflowExpander : IWorkflowExpander
{
/// <summary>
/// Defines the entity type associated with the workflow instance.
/// This is the only required property.
/// </summary>
public string For => "document";
public bool? Bar { get; set; }
}In this example, the Expander will be applied to document workflows. The Bar property has a corresponding property in the client-side implementation. The Expander can define multiple properties, and the example above includes a single property for simplicity.
The Expander does not require registration. Workflow builds a collection on startup, minimising developer work.
Client-side implementation
The client-side implementation requires a backoffice extension of type workflowExpansion:
The workflowExpansion type requires meta.properties, where properties is an array of expander definitions.
In this example, the alias matches a property from the C# class. The propertyEditorUiAlias can be any valid property editor, but ideally would be a basic editor such as a toggle, a text string, or similar.
The default properties in the workflow submit dialog are also registered using this extension-first approach.
Last updated
Was this helpful?