Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

Plugin Types

...

Process

...

Plugins

  • Process toolTool plugins to integrate with external systems
  • Process participantParticipant plugins for process-related participant mapping
  • Deadline plugins for handling process-related deadlines

Form

...

Plugins

  • Form elementElement plugins to extend the types of fields available in a form
  • Form validatorValidator plugins to extends extend ways of validating form data
  • Form data binderData Binder plugins to extend methods of loading and storing data in a form

Datalist

...

Plugins

  • Datalist binderBinder plugins to extend methods of loading data for a list (e.g., querying from an external SQL database)
  • Datalist actionAction plugins to extend methods of executing an action on list items (e.g., deleting a record)
  • Datalist formatFormat plugins to extends extend ways of formatting column data

Userview

...

Plugins

  • Userview menuMenu plugins to extend the types of pages available in a userview
  • Userview themeTheme plugins to change the UI design for a userview
  • Userview permissionPermission plugins to handle permissions and access rights in a userview

General

...

Plugins

  • DirectoryManager plugins to integrate users from external systems (e.g., Active Directory or LDAP)
  • Audit trailTrail plugins for system-related functions eg (e.g., capture reporting data)
  • Hash variableVariable plugins to extend support for processing of hash variables

...

Due to the major changes in the app structure in v3 compared to v2, it will be highly unlikely that v2 plugins will be directly compatible in v3.
So 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 Joget plugin remains the same as described in Extending Functionality - Developing Plugins. However, there is an additional feature in that you now have an the option of using an additional feature: standard Java classes which .  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 prevents , 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

...

 

Java class path starts with org.joget.