BellaDati can be customised via set of application properties which can be set in one of the following ways (in order of precedence, some properties support only sub-set of these options):

  • Using the administration page in BellaDati, see Managing Configuration (contains also names of the properties to set in application.properties or as an JVM option if any of those is preferred for setting the property). 
  • Adding JVM options to the application server which was used for installing BellaDati, see Installing BellaDati manually for available options.
  • Changing of application.properties file which is located in the BellaDati WAR archive or in the installation directory of BellaDati standalone. To extract the file from the BellaDati WAR, you can use tools such as 7-Zip for Windows or Linux's/GNU unzip tools.

Below is a list of application properties which can be set only via application.properties file and / or JVM options.

General

Parameter name

Description

application.production-mode

Determines whether BellaDati is running in production mode. The default value is true.

application.secure-mode

Determines whether BellaDati is running in SSL/TLS mode. If set to true, the application enforces all pages to be opened using SSL. Please note that you must configure your container use SSL/TLS in order to use this parameter.

application.indexer-enabled

Determines whether search indexing is enabled in BellaDati. The default value is true.

lucene.indexes

Specifies the directory for report and data set indexes. Default value is indexes.

If you change the lucene.indexes parameter on a system that's already in use, you will need to reindex your reports and data sets. After restarting the server and logging in, move the mouse over your username and click the link to your domain. On the left side, reindex your reports and data sets.

Limits / Timeouts

Following settings can be set only via JVM options.

Parameter name

Description

belladati.core.membersLimit

(warning) Note that by increasing default value from 1000 to larger values. Users can use Attribute Looping Functions exp. eachMember() on larger datasets. Important: read best practices. You may need higher hardware configuration especially for multi-tenant BellaDati environment.

belladati.core.joins.limitRows limit of the maximum join size. The default value is 20000000.
belladati.core.joins.previewLimitJoins preview limit - sometimes it is reasonable to use just the preview instead of materializing the join. The default value is 10000.

belladati.core.joins.timeout

Timeout for SQL statement which materialises joins. Default is not set, i.e. no timeout.

JDBC Settings

These settings allow to set JDBC connection to database used internally by BellaDati. It's an alternative to setting up a JDBC resource in the application server which requires manual addition of proper JDBC driver to the server's classpath. 

Parameter nameDescription

jdbc.driverClassName

JDBC driver used by BellaDati for database connections. Currently, only org.postgresql.Driver is supported.

jdbc.url

If you don't have a JNDI data source configured, you can use the jdbc.url,jdbc.username and jdbc.password parameters. 
The URL should look like: jdbc:postgresql://db_host:5432/belladati_db where db_host is the host name of your database server.
Visit Setting up the PostgreSQL Database for more information.

jdbc.username

Username used by BellaDati to access the database. This parameter is used only when jdbc.url is set.

jdbc.password

Password used by BellaDati to access the database. This parameter is used only when jdbc.url is set.

jdbc.pool.maxActive

Maximum number of active database connections. Recommended value is 200.

jdbc.pool.minIdle

Minimum number of database connections in idle state. Recommended value is 8.

jdbc.pool.maxIdle

Maximum number of database connections in idle state. Recommended value is 8.

jdbc.pool.minIdleEvictionTime

The minimum amount of time (in milliseconds) an idle database connection may sit idle in the pool before it is eligible for eviction by the idle object evictor (if any). Default value is 30 minutes.

jdbc.pool.maxWaitTime

The maximum number of milliseconds that the pool will wait (when there are no available connections) for a connection to be returned before throwing an exception, or -1 to wait indefinitely. Default value is 60000 milliseconds. 

jdbc.resource

Name of the JNDI resource to access the database, e.g. jdbc/belladati_db. Specify only if you are using a JNDI data source.

Cluster Mode

Parameter name

Description

application.actor.server.port

Port on which actors used for communication between nodes in cluster are listening on. 

tapestry.clustered-sessions

See Tapestry configuration for details. This must be set to true when running BellaDati in clustered mode.

application.servers

The comma separated list of application servers (host:port where port is the value of application.actor.server.port property set for the particular server) which are part of the cluster.

Background Services

Following settings can be set only via JVM options.

Parameter name

Description

belladati.core.cleanup.disabled

Disables service which takes care of cleaning up database tables for no longer existing datasets. Default is false.

belladati.core.analyzer.disabled

Disables service which regularly materialized views and do the tables analysis. Default is false.

ActiveDirectory/LDAP Authentication

Since version 2.7.9.1 you can configure the ActiveDirectory authentication directly from the user interface. See Setup Active Directory Authentication.


BellaDati supports customizable authentication providers. Among the basic providers is the Active Directory and LDAP authentication provider. To enable this authentication provider, follow the instructions below:

BellaDati v2.7.4.1 and higher

1. Unzip the WEB-INF/classes/conf/application.properties configuration file from the BellaDati WAR file or edit the WEB-INF/classes/conf/application.properties in your BellaDati installation directory.

application.login.domains

List of authentication domains - names are displayed on the login page. E.g. application.login.domains=domain1,domain2.

adauth.createNotExistingAccounts

Determines whether accounts that don't exist are automatically created.

adauth.domainId

Specifies the id of the destination domain if adauth.createNotExistingAccounts=true.

adauth.domain1.spec.url

Specifies the search URL, e.g. LDAP://adhost:389/OU=Unit,OU=test,DC=company,DC=com

adauth.domain1.spec.bindDN

The DN of the user with search permission.

adauth.domain1.spec.bindPassword

The password of the user with search permission.

adauth.domain1.spec.loginAttribute

The login attribute, e.g. sAMAccountName.

2. If you have extracted the application.properties file from belladati.war archive, update this archive.

BellaDati v2.7.4 and below


1. Unzip the WEB-INF/classes/conf/beans-common.xml configuration file from the BellaDati WAR file.
2. Replace the bean element with id="userAuthenticityProvider" with this content:

<bean id="userAuthenticityVerifier" class="cz.trgiman.belladati.auth.ADUserAuthenticityVerifier" autowire="byType">
	<property name="createNotExistingAccounts" value="true"/>
	<property name="workspaceId" value="1"/>
	<property name="domains">
		<map>
			<entry>
				<key><value>domain1</value></key>
				<bean class="cz.trgiman.belladati.auth.DomainSpecification">
					<property name="url" value="LDAP://host1:389/dc=xyz"/>
					<property name="bindDN" value="bindUser"/>
					<property name="bindPassword" value="bindUserPassword"/>
					<property name="loginAttribute" value="sAMAccountName"/>
					<property name="workspaceId" value="1"/>
				</bean>
			</entry>
			<entry>
				<key><value>domain2</value></key>
				<bean class="cz.trgiman.belladati.auth.DomainSpecification">
					<property name="url" value="LDAP://host2:389/dc=xyz"/>
					<property name="bindDN" value="bindUser2"/>
					<property name="bindPassword" value="bindUserPassword2"/>
					<property name="loginAttribute" value="cn"/>
					<property name="workspaceId" value="1"/>
				</bean>
			</entry>
		</map>
	</property>
</bean>

3. Add the following parameter to the WEB-INF/classes/conf/application.properties file:

application.login.domains=domain1,domain2

4. Update the belladati.war archive.

  • No labels