You are viewing the documentation for Blueriq 17. Documentation for other versions is available in our documentation directory.


Table of contents 

Description 

This component contains a process DAO implementation for storing the process engine data. It is used by the worklist container to display open tasks.

This worklist container implementation uses the ProcessCaseDao to query for process engine data in which filtering is already done in the database and therefore the performance of the worklist container is greatly improved in comparison with the default worklist. This container uses the same container parameters as the Worklist implementation of the Blueriq SDK.

This worklist implementation does NOT use the mapping from the Process module to the PCA module. This is done to increase performance.

Requirements

This component persists data in a database, that must be provided. See platform support for the supported databases.

Installation

 In order to use this component, the process-sql-store profile must be active. More information on how to configure the application using Spring Profiles can be found here : External application configuration with Spring Profiles

Add the artifact with groupId "com.blueriq" and artifactId "blueriq-component-process-sql-store" as a dependency to your Blueriq runtime POM file if you want to depend on it.

Configuration

The name of the datasource is process-sql-store.

Database

Scripts to create the required database content are provided for the supported databases.

For customers that are upgrading, if the database scheme was already created in a previous version, check to see if there are database upgrade scripts provided for any of the intermediate versions in the Upgrade Instructions.

Configuration

Use the following steps to configure the datasource:

  1. Install the driver for your database. See Configuring JDBC database drivers for information on how to do this.
  2. Provide the connection details for the datasource. There are two options for this: using JDBC or JNDI.
    1. Using JDBC datasource : this is configured in the  application-externaldatasources.properties file. When configuring external datasources, the externaldatasources profile should be enabled.

      application-externaldatasources.properties
      blueriq.datasource.<datasource-name>.url=<JDBC url>
      blueriq.datasource.<datasource-name>.username=<username>
      blueriq.datasource.<datasource-name>.password=<password>
      blueriq.datasource.<datasource-name>.driverClassName=<driver-class>


    2. Using JNDI datasource : this can be configured in the  application-jndidatasources.properties file. When configuring JNDI datasources the jndidatasources profile should be enabled.

      blueriq.datasource.<datasource-name>.jndiName=<JNDI url>


  3. Provide the appropriate Hibernate settings in the same properties file as step 2.
    blueriq.hibernate.<datasource-name>.dialect=<database-dialect>
    blueriq.hibernate.<datasource-name>.use_nationalized_character_data=true
    blueriq.hibernate.<datasource-name>.hbm2ddl.auto=validate                 # validate is the only supported value here


Example configuration

Below are configuration examples which contain a JDBC url, driver-class and dialect for each supported database.

Oracle
blueriq.datasource.<datasource-name>.url=jdbc:oracle:thin:@<host>:<port>/<servicename>
blueriq.datasource.<datasource-name>.username=<username>
blueriq.datasource.<datasource-name>.password=<password>
blueriq.datasource.<datasource-name>.driverClassName=oracle.jdbc.driver.OracleDriver

blueriq.hibernate.<datasource-name>.dialect=org.hibernate.dialect.OracleDialect
blueriq.hibernate.<datasource-name>.hibernate.use_nationalized_character_data=true
blueriq.hibernate.<datasource-name>.hbm2ddl.auto=validate


SQL Server
blueriq.datasource.<datasource-name>.url=jdbc:sqlserver://<host>:<port>;databaseName=<database>;trustServerCertificate=true
blueriq.datasource.<datasource-name>.username=<username>
blueriq.datasource.<datasource-name>.password=<password>
blueriq.datasource.<datasource-name>.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver

blueriq.hibernate.<datasource-name>.dialect=org.hibernate.dialect.SQLServer2012Dialect
blueriq.hibernate.<datasource-name>.hibernate.use_nationalized_character_data=true
blueriq.hibernate.<datasource-name>.hbm2ddl.auto=validate


PostgreSQL
blueriq.datasource.<datasource-name>.url=jdbc:postgresql://<host>:<port>/<database>
blueriq.datasource.<datasource-name>.username=<username>
blueriq.datasource.<datasource-name>.password=<password>
blueriq.datasource.<datasource-name>.driverClassName=org.postgresql.Driver

blueriq.hibernate.<datasource-name>.dialect=org.hibernate.dialect.PostgreSQLDialect
blueriq.hibernate.<datasource-name>.hibernate.use_nationalized_character_data=true
blueriq.hibernate.<datasource-name>.hbm2ddl.auto=validate



Case insensitive searching

SQL Server is case insensitive by default. This makes it possible to search Case Data in a case insensitive way in this database. By default Oracle and PostgreSQL are case sensitive, wich means searching in Case Data is also case sensitive in these databases.

We created the possibility to enable case insensitive searching on case sensitive databases. For more information on how to enable it see: How to enable case insensitive search on case data for Oracle & PostgreSQL.