Embedding forms in external applications
Attaching documents to forms
Added a new widget to forms to manage upload documents and store them on process variables. Using the Pluggable Variable Persistence you’ll be able to create your own Marshalling Strategy and store the document contents on different systems (database, a content management system, …) or use the default demo implementation and store them in your file system.
Web Service (SOAP) interface for remote AP
The execution server, that is part of the jbpm-console web tooling, now also comes with a Web Service interface (in addition to the existing REST, JMS and Java client interfaces).
Deployment descriptors have been added as an optional, yet powerful way of configuring deployment units – kjars. Deployment descriptors allow to configure (among others)
- persistence unit names
- work item handlers
- event listeners (process, agenda, task)
- roles (for authorizarion – see section 1.5)
Deployment descriptors can be configured on various levels for enhanced flexibility to allow simple override functionality. Detailed definition of deployment descriptor can be found in section Deployment descriptors of the documentation.
Role-based authorization at runtime for process definitions and process instances
The process definition and process instance view in the jbpm console now also take the role-based access control restrictions into account that can be defined on the project the process is defined in. You can limit the visibility of a project (or repository as a whole) by associating some roles with it that are required to be able to see the project (or repository). This can be done when creating the repository, or bu using the command line interface to connect to the execution server. The deployment descriptor (see previous section) also allows you to further customize these roles at deployment time. At runtime, the views will check if the current logged in user has one of the necessary roles to be able to see that process. If not, the user will not see this process or process instance in the process definition or process instance list respectively.
jBPM installer updates
The installer is updated to support:
- Wildfly 8.1 as application server (note that CR1 still uses AS7 by default but more recently dashbuilder has also added support for WildFly so for the Final release we will switch to WildFly by default)
- Eclipse BPMN2 Modeler 1.0.2
- Eclipse Kepler SR2
jBPM Spring integration
Spring integration has been improved to allow complete configuration of jBPM runtime using Spring XML. That essentially means there are number of factory beans provided as part of droolsjbpm-integration module that significanlty simplifies configuration of jBPM. Moreover it allows various configuration options such as:
- reply on JTA and entity manager factory
- rely on JTA and shared entity manager
- rely on local transactions and entity manager factory
- rely on local transactions and shared entity manager
Details about spring configuration can be found in this article.
Data Modeler – round trip and source code preservation
Smaller enhancements also include:
- Task service (query) improvements, significantly speeding up queries when you have a large numbers of tasks in the database.
- Various improvements to the asynchronous job executor so it can handle larger loads more easily and can be configured (number of parallel threads executing the jobs, retries, etc.).
- Ability to configure task administrator groups in a UserTask (similar to how you already could configure individual task administrators).
- Removed limitation on custom implementations of work item handler, event listeners that had to be placed on global classpath – usually in jbpm-console.war/WEB-INF/lib. With that custom classes can be added as maven dependencies into the project and will be registered on underlying components (ksession).