How to implement Adaptive Case Management (ACM) with Bonita

Adaptive Case Management with Bonita offers dynamic modeling of all process possibilities in a unified environment. It allows management of structured data through Bonita’s BDM capability, along with unstructured data such as PDFs and comments. Dynamic process actors, filters and profiles can be modified ad hoc. Customized user interface gives access to tasks according to context and we provide a Living Application for a seamless user experience connecting processes, business data and user interfaces.

For Enterprise, Performance, Efficiency, and Teamwork editions only.

Enable ACM Engine Plug-in

The ACM engine plug-in registers an event handler at startup. This handler will be in charge of updating the acm variables of all the active tasks of a case each time a task is completed in this same case. An acm variable is a transient local variable prefixed with the $ sign. In the credit card dispute resolution example, there is only one acm variable named $activityState.

By default the event handler is not registered. To enable the event handler you must start the engine with the following argument:
-Dcom.bonitasoft.engine.plugin.acm.REGISTER_ACM_HANDLER=true
It can be achieved:

  • in Bonita Studio, in the Server settings preferences ( Edit > Preferences > Server settings > Check Enable ACM event handler )

  • in a Bundle, using the setup tool, reach for the bonita-tenant-sp-custom.properties file (in platform_conf/current/tenants/<TENAND_ID>/tenant_engine folder if the server has already been started or platform_conf/initial/tenant_template_engine before the first start of the server) and add this line com.bonitasoft.engine.plugin.acm.REGISTER_ACM_HANDLER=true.

ACM project example to import in Bonita Studio

On Bonita Studio Welcome page, in the "Resources" tile, click on "Import Adaptive Case Management example".
This opens the "Import .bos" wizard and retrieves the project from the Internet.
Choose the Bonita project in which the .bos will be imported in the studio, and import. At the end of the importation, click on Deploy…​, select all artifacts and Deploy. At the end of the deployment open the Credit Card Dispute application, and just start reading the Tutorial. This will give you the theory as well as a practical example of an application using Bonita Adaptive Case Management capabilities. You can play with it and customize it to your own needs.

Caveats

  • Potential performance hit depending on user’s implementations: groovy scripts that define the tasks state must be pretty simple.

  • The Portal Task list and Monitoring become irrelevant with processes using ACM.