Plugins

Plugin Compatibility

Please note that the code of Tasklist plugins might need to be migrated when updating CIB seven to a higher version (e.g. CSS styles).

Tasklist uses the concept of plugins to add own functionality without having to extend or hack the Tasklist web application.

For further details about the concepts behind plugins, please read the Cockpit plugins section.

Difference between Cockpit and Tasklist plugins:

  • To publish the plugin with Tasklist, its class name must be put into a file called org.cibseven.bpm.tasklist.plugin.spi.TasklistPlugin that resides in the directory META-INF/services.
  • The plugin mechanism of Tasklist does not allow to provide additional SQL queries by using MyBatis mappings.

Plugin Points

Here you can see the various points at which you are able to add your own plugins.

Name: tasklist.navbar.action.


Name: tasklist.task.action.


Name: tasklist.header.


Name: tasklist.task.detail.

This plugin points properties contain the attribute label, which will be rendered in the navigation even when the plugin is not selected.

properties: {
  label: "My Plugin"
}

This additional data is passed into the render function:

  • taskId

Name: tasklist.list.


Name: tasklist.card.

This additional data is passed into the render function:

  • taskId

Configure where to place your plugin as shown in the following example:

var ViewConfig = [ 'ViewsProvider', function(ViewsProvider) {
  ViewsProvider.registerDefaultView('tasklist.task.detail', {
    id: 'sub-tasks',
    priority: 20,
    label: 'Sub Tasks'
  });
}];

For more information on creating and configuring your own plugin, please have a look at the following examples:

On this Page: