anchor.diff:  
   Flowable provides several web applications to demonstrate and leverage the functionality provided by the Flowable project:
   
  -* Flowable IDM: the identity management application that provides single-sign-on authentication functionality for all the Flowable UI applicatons and for users with the idm admin privilege it also provides functionality to manage users, groups and privileges.
  -* Flowable Modeler: the modeler application that allows for modeling processes, forms, decision tables and application definitions.
  -* Flowable Task: the runtime task application that provides functionality to start process instances, edit task forms, complete tasks and query on tasks and process instances.
  -* Flowable Admin: an admin application that allows for querying the BPMN, DMN, form and content engines and provides several options to change process instances, tasks and jobs etc. The admin application connects to the engines through the REST API that is deployed together with the Flowable Task app and the Flowable REST app.
  -
  -The Flowable IDM is required to be present for all other apps to be able to authenticate. The WAR files for each app can be deployed to the same servlet container (like Apache Tomcat), but can also be deployed on different servlet containers. Because the same cookie is used for authentication for each app, the apps need to run on the same domain.
  +* Flowable IDM: an IDentity Management application that provides single sign-on authentication functionality for all the Flowable UI applicatons, and, for users with the IDM administrative privilege, it also provides functionality to manage users, groups and privileges.
  +* Flowable Modeler: an application that allows users with modeler privileges to model processes, forms, decision tables and application definitions.
  +* Flowable Task: a runtime task application that provides functionality to start process instances, edit task forms, complete tasks and query on tasks and process instances.
  +* Flowable Admin: an administrative application that allows users with admin privilege to query the BPMN, DMN, form and content engines and provides several options to change process instances, tasks, jobs and so on. The admin application connects to the engines through the REST API that is deployed together with the Flowable Task app and the Flowable REST app.
  +
  +The Flowable IDM is required for all other apps to enable authenticatation. The WAR files for each app can be deployed to the same servlet container (such as Apache Tomcat), but can also be deployed on different servlet containers. Because the same cookie is used for authentication with each app, the apps need to run on the same domain.
   
   
   [[uiAppInstallation]]
   
   === Installation
   
  -Like mentioned before, all four UI apps can be deployed together on the same Tomcat server and to get started this is probably the easiest approach. You can also choose to only install the Modeler app for example, but make sure the Flowable IDM app is always running/deployed as well. For this installation guide we'll describe the installation of all four apps to a Tomcat server.
  +As mentioned before, all four UI apps can be deployed together on the same Tomcat server, and to get started this is probably the easiest approach. You can choose to only install the Modeler app, for example, but make sure the Flowable IDM app is always running/deployed as well. For this installation guide we'll describe the installation of all four apps to a Tomcat server.
   
   1. Download a recent stable version of link:$$http://tomcat.apache.org$$[Apache Tomcat].
   2. Download the latest stable link:$$http://www.flowable.org/downloads.html$$[Flowable 6 version].
  
positive.code: |datasource.max-pool-size|The maximum datasource pool size
  |datasource.acquire-increment|Determines how many connections at a time c3p0 will try to acquire when the pool is exhausted
  |datasource.preferred-test-query|Defines the query that will be executed for all connection tests
  |datasource.test-connection-on-checkin|Test the connection when checking in in the pool
  |datasource.test-connection-on-checkout|Test the connection on checkout from the pool
  |datasource.max-idle-time|Seconds a Connection can remain pooled but unused before being discarded. Zero means idle connections never expire
  |datasource.max-idle-time-excess-connections|Number of seconds that Connections in excess of minPoolSize should be permitted to remain idle in the pool before being culled
  
negative.code: 
  image::images/flowable_modeler_vacationrequest_screen.png[align="center"]
  
  With the process model completed, we can now create an app definition that combines one or more process models with all their associated models (for example, decision tables and form definitions) into a single artefact. An app definition can be exported as a BAR file (zip format) that can be deployed on the Flowable engine. When creating a vacation request app definition, the app editor will look something like the screen below.
  
  image::images/flowable_modeler_appeditor_screen.png[align="center"]
  
  In the app editor, an icon and a theme color can be selected that will be used in the Flowable Task application to show the application in the dashboard. The important step is to add the vacation request process model, and by selecting the process model, automatically include any form definitions and DMN decision tables.
  
  image::images/flowable_modeler_modelselection_popup.png[align="center"]
  
  A process model can be selected by clicking on the model thumbnail. When one or more models are selected, you can close the popup, save the app definition and close it. When navigating to the details view of the newly created vacation request app definition, the following details screen is shown:
  
  image::images/flowable_modeler_appdetails_screen.png[align="center"]
  
  From this view, you can download the app definition in two different formats. The first download button (with the arrow pointing downwards) can be used to download the app definition with the JSON model files for each included model. This makes it easy to share app definitions between different Flowable Modeler applications. The second download button (with the arrow point to upper right) will provide a BAR file of the app definition models, which can be deployed on the Flowable engine. In the BAR file, only the deployable artefacts are included, such as the BPMN 2.0 XML file and the DMN XML file, and not the JSON model files. All files in a BAR file deployed on a Flowable engine are stored in the database, so therefore only the deployable files are included. 
  
  From the app definition details view, you can also _Publish_ the app definition directly to the Flowable engine. The Flowable Modeler uses the URL defined in the flowable-ui-app.properties file with the _deployment.api.url_ property key. By default, the deployment URL is configured so the app definition will be deployed on the Flowable Task application when it's running. However, this can be changed to use the Flowable REST application, for example. Make sure the Flowable Task application is running and click on the _Publish_ button. The app definition is now deployed as a BAR file to the Flowable Task application.
  
  
  [[flowableTaskApp]]
  
  === Flowable Task application
  
  The Flowable Task application is the runtime application of the Flowable project and includes the Flowable BPMN, DMN, Form and Content engines by default. With the Flowable Task application, new process instances can be started, tasks can be completed, task forms can be rendered and so on. In the previous section, the vacation request app definition was deployed on the Flowable Task application REST API, and through that deployed on the Flowable engine. If you look in the Flowable database, you can see a new deployment entry has been added to the ACT_RE_DEPLOYMENT table for the BPMN Engine. Also, new entries haven been created in the ACT_DMN_DEPLOYMENT and ACT_FO_FORM_DEPLOYMENT tables for the DMN and Form engines. 
  
  On the dashboard on link:$$http://localhost:8080/flowable-task$$[http://localhost:8080/flowable-task], you can see a vacation request app in addition to the default Task app, and any other apps that have been deployed to the Flowable engine already. 
  
  image::images/flowable_task_dashboard_screen.png[align="center"]
  
  