Process bundle overview - bluesoft-rnd/aperte-workflow-core GitHub Wiki
Aperte Workflow is designed to execute business processes using supplied BPM engine - e.g. jBPM. Although BPM engines provides some functionality out of the box or by 3rd party extensions, there still remains plenty of room for possible improvements especially if one wants to integrate the complete solution with Liferay or Rich User Interface.
Process bundle headers
Aperte Workflow distinguishes between a normal OSGI bundle and a process bundle by examining the content of standard manifest file, located in /META-INF/MANIFEST.MF. Process bundle must define ProcessTool-Process-Deployment header with the value of the java package name that provides additional process resources, e.g.:
ProcessTool-Process-Deployment: pl.net.bluesoft.rnd.pt.ext.liferayprocess
Other possible headers include:
- ProcessTool-Model-Enhancement - comma separated list of domain classes
- ProcessTool-I18N-Property - contains the name of I18N property file used by this bundle
As the example of Mule ESB Plugin shows, it is also possible to support your own headers in your OSGi plugin.
Process bundle resources
Complete process definition consists of multiple files
- processdefinition.bpmn20 - formal definition in BPMN 2.0 language, mandatory(Since 3.0 version)
- processdefinition.jpdl.xml - formal definition in jPDL language, mandatory(Since 3.0 jPDL is no longer supported)
- processtool-config.xml - mapping between jBPM steps and Aperte Workspace user interface configuration, mandatory
- queues-config.xml - definition of task queues/groups in the process, mandatory
- processdefinition.png - image showing process flow, optional
- processdefinition-logo.png - small process logo displayed inside Activities Portlet, optional
- roles-config.xml - (Since 2.0) When found in bundle, aperte creates new roles in liferay, optional
- process-dictionaries.xml - Dictionary which can be used in process, build with modeler, optional (Only in 2.0 version)
Process bundle installation
Copy the process bundle jar into your existing Aperte Workflow installation. Place it into bundle installation directory. If not changed in PluginServlet init parameters it should be either ${aperte.workflow.home}/osgi-plugins or ${liferay.home}/osgi-plugins.
Example process bundle
Example of fully functional process bundle can be found inside Aperte Workflow Core project, in Liferay PoC Process module.