Plugins everywhere! Joget Workflow v3 provides an improved plugin architecture that supports both normal Java and dynamic OSGI plugins.

Plugin Types in v3

Process Plugins

Form Plugins

Datalist Plugins

Userview Plugins

General Plugins

Compatibility with v2

Due to the major changes in the app structure in v3 (from v2), it is unlikely that v2 plugins will be directly compatible with v3.  Existing plugins written for v2 will need to be rebuilt using the v3 structure and Java API.

Development Approach

The method of developing a v3 plugin remains the same as described in Developing Plugins. However, you now have the option of using an additional feature: standard Java classes.  Standard Java classes are read directly from the classpath.

The following table highlights the different approaches:

Dynamic OSGI Plugin

Standard Java Plugin

Build as an OSGI JAR bundle

Build as a standard Java JAR

Deploy JAR using the Manage Plugins in the Web Console

Make JAR available in the Java classpath (e.g., place it under WEB-INF/lib)

Supports dynamic loading/unloading/reloading without restarting

Requires restarting the JVM for deployment or changes

Runs in isolated mode, thus, preventing library version conflict with base libraries or other plugins

May cause library version conflicts with base libraries or other plugins

More difficult to develop and test due to OSGI configuration and isolation

Easier to develop and test using normal Java classes and libraries

v3 supports either type of plugin, whereas v2 only supports OSGI plugins. The type of plugin to use depends on the actual scenario and requirements.