Skip to main content
Version: 3.0.0

Plugins

General information

A plugin is a class that extends the Workflow Server functionality, and specifically:

The procedure to add a plugin to Workflow Server is described further in this section.

How to connect a plugin to Workflow Server

On the Dashboard page go to the Plugins section to connect a plugin to Workflow Server. The plugin with the toggle can be simply enabled and then established its settings, if any. After that, the functionality added by the plugin will become available for all the schemes.

Fig3

How to write a plugin of your own

A plugin is a class that must implement the IWorkflowPlugin interface. This interface is very simple:

public interface IWorkflowPlugin
{
string Name { get; }
Dictionary<string, string> PluginSettings { get; }
void OnPluginAdd(WorkflowRuntime runtime, List<string> schemes = null);
void OnPluginRemove(WorkflowRuntime runtime);
}

The interface members are assigned as follows:

  • Name - the plugin name.
  • PluginSettings - the dictionary of the plugin settings.
  • OnPluginAdd - called when the plugin is added to the runtime. This method is convenient for subscribing to the WorkflowRuntime events.
  • OnPluginRemove - called when the plugin is removed from the runtime.

Also, the plugin class can optionally implement the following interfaces in any combination.

Thus, you get a class that connects to WorkflowRuntime by calling the WithPlugin() method only, and adds a certain class of functions to your system.