You are viewing the documentation for Blueriq 15. 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 : R10 External application configuration with Spring Profiles [editor].

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

Database

Scripts to create the required database content are provided for the following databases:

  • SQL Server
  • Oracle
  • H2 (we do not recommend using a H2 database in production environments)


For customers that are upgrading an existing version of Blueriq, database upgrade scripts are provided in the Upgrade instructions when applicable.

 

Use the following steps to configure the datasource:

  1. If necessary, create a new datasource. See Configuring JDBC database drivers for information on how to do this.
  2. Process SQL Store component is using the process-sql-store datasource to store data. The process-sql-store datasource can be configured using JDBC or JNDI.
    1. Using JDBC datasource : this can be configured in the  application-externaldatasources.properties file. When configuring external datasources, the externaldatasources profile should be enabled.

      application-externaldatasources.properties
      blueriq.datasource.process-sql-store.url=jdbc:sqlserver://<database_url>:<port>;databaseName=bq_comments;instance=SQL_EXPRESS
      blueriq.datasource.process-sql-store.username=<username>
      blueriq.datasource.process-sql-store.password=<password>
      blueriq.datasource.process-sql-store.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
      blueriq.hibernate.process-sql-store.hbm2ddl.auto=validate
      blueriq.hibernate.process-sql-store.dialect=org.hibernate.dialect.SQLServer2012Dialect
    2. Using JNDI datasource : this can be configured in the  application-jndidatasources.properties file When configuring JNDI datasources the jndidatasources profile should be enabled.

      application-jndidatasources.properties
      blueriq.datasource.process-sql-store.jndiName=java:/comp/env/jdbc/main
      blueriq.hibernate.process-sql-store.hbm2ddl.auto=validate
      blueriq.hibernate.process-sql-store.dialect=org.hibernate.dialect.SQLServer2012Dialect
  3. Configuring the datasource from the Development Dashboard
    Go to Settings Widget → Datasources tab → On the left side menu : select process-sql-store datasource. The same properties are available for configuration as from the properties file. Make sure the corresponding profile is enabled (externaldatasources or jndidatasources)
  4. Hibernate settings
    These settings are done for each datasource type in the corresponding properties file, as in the examples above.

Supported dialects:

  • org.hibernate.dialect.SQLServer2012Dialect (for SQL Server)
  • org.hibernate.dialect.Oracle12cDialect (for Oracle)
  • org.hibernate.dialect.H2Dialect (for H2) (we do not recommend using a H2 database in production environments)

Supported hbm2ddl.auto values:

  • none
  • validate

Case insensitive searching

For MSSQL searching through case data is case insensitive by default. The default collation for Oracle is case sensitive and because of that searching in Case Data is case sensitive. 

For Oracle we created the possibility to enable case insensitive searching, for more information how to enable it see: How to enable case insensitive search on case data for Oracle