BASE 2 - Administrator documentation: base.config reference
1. Database driver section
- db.dialect
-
The Hibernate dialect to use when generating SQL commands to
the database. Use:
org.hibernate.dialect.MySQLInnoDBDialect
for MySQL
org.hibernate.dialect.PostgreSQLDialect
for Postgres
Other dialects may work but are not supported.
- db.driver
-
The JDBC driver to use for connecting to the database. Use:
com.mysql.jdbc.Driver
for MySQL
org.postgresql.Driver
for Postgres
Other JDBC drivers may work but are not supported.
- db.url
-
The connection URL that locates the BASE 2 database. The exact syntax of the
string depends on the JDBC driver. Here are two examples which leaves all
other settings to their defaults:
jdbc:mysql://localhost/base2
for MySQL
jdbc:postgresql:base2
for MySQL
You can get more information about the parameters that are supported
on the connection URL by reading the database documentation:
- db.dynamic.catalog
-
The name of the catalog where the dynamic database is located. If not specified
the same catalog as the regular database is used. The exact meaning of catalog
depends on the actual database. For MySQL the catalog is the name of the database
so this value is simply the name of the dynamic database. Postgres doesn't support
connecting to multiple databases with the same connection so this should have
the same value as the database in the
db.url
setting.
- db.dynamic.schema
-
The name of the schema where the dynamic database is located. MySQL doesn't have
schemas so this value should not be specified. Postgres supports schemas and we
recommend that the dynamic part is created in it's own schema.
- db.username
-
The username to connect to the database. The user should have full
permission to the both the regular and the dynamic database.
- db.password
-
The password for the user.
- db.batch-size
-
The batch size to use when inserting/updating items with the Batch API.
A higher value requires more memory, a lower value degrades performance since
the number of database connections increases.
- db.queries
-
The class path to an XML file which contains database-specific queries
overriding those that doesn't work from the
/common-queries.xml
.
Use:
/mysql-queries.xml
for MySQL
/postgres-queries.xml
for Postgres
- db.extended-properties
-
An XML file describing the extended properties for extendable item
types, ie. the reporters. The default value is
/extended-properties.xml
.
- db.raw-data-types
-
An XML file describing all raw data types and their properties.
The default value is
/raw-data-types.xml
.
- export.max.items
-
The maximum number of items the export function should try to load
in a single query. This setting exists because MySQL prior to 5.0.2 doesn't support
scrollable result sets, but loads all data into memory. This will result in out of memory
exception if exporting too many items at the same time. Postgres doesn't have
this problem, since it doesn't load the data until it is requested. Use:
- 0 for Postgres
- 0 for MySQL version 5.0.2 or above (requires that useCursorFetch=true is specified
in connection url and that defaultFetchSize=??? is set to a value > 0)
- As large as possible value for other MySQL version. A low value results in more queries and
slower performance when exporting data.
2. Authentication section
Settings related to external authentication. For more information
see: Development information - Plugins for user authentication
- auth.driver
-
The class name of the plugin that acts as the authentication driver. BASE ships
with a simple plugin that checks if a user has a valid email account on a POP3
server. It is not enabled by default. The class name of that plugin is
net.sf.basedb.core.authentication.POP3Authenticator
. If no class
is specified internal authentication is used.
- auth.init
-
Initialisation paramters sent to the plugin by calling the
init()
method. The syntax and meaning of this string
depends on the plugin. For the POP3Authenticator
this is simply
the IP-address of the mail server.
- auth.synchronize
-
If this setting is 1 or TRUE the BASE core will synchronize the extra
information (name, address, email, etc.) sent by the authentication driver
when a user logs in to BASE. This setting is ignored if the driver doesn't
support extra information. The
POP3Authenticator
returns FALSE.
- auth.cachepasswords
-
If passwords should be cached by BASE or not. If the passwords are cached a user
may login to BASE even if the external authentication server is down.
- auth.daystocache
-
How many days a cached password is valid if that is enabled. A value of 0
caches the passwords for ever.
3. Internal job queue section
TODO
4. Job agent section
This section holds settings that the core uses when communicating
with external job agents.
- agent.maxage
-
Number of seconds to keep job agent information in the internal cache.
The information includs, CPU and memory usage and the status of executing
jobs. This setting controls how long the information is kept in the cache
before a new request is made to the job agent. The default value is 60
seconds.
- agent.connection.timeout
-
The timeout in milliseconds to wait for a repsonse from a job agent when
sending a request to it. The default timeout is 1000 milliseconds. This should
be more than enough if the job agent is on the internal network, but may have
to be increased if it is further away.
5. Secondary storage controller
Settings related to the secondary storage controller. For more
information about the secondary storage read the Plugins for secondary
file storage document.
- secondary.storage.driver
-
The class name of the plugin that acts as the secondary storage
controller. BASE ships with a simple plugin that just moves
files to another directory, but it is not enabled by default.
The class name of that plugin is
net.sf.basedb.core.InternalStorageController
. If no class
is specified the secondary storage feature is disabled.
- secondary.storage.init
-
Initialisation paramters sent to the plugin by calling the
init()
method. The syntax and meaning of this string
depends on the plugin. For the internal controller this is simply
the path to the seconday directory.
- secondary.storage.interval
-
Interval in seconds between each execution of the controller plugin. It
must be a value greater than zero or the secondary storage feature will
be disabled.
- secondary.storage.time
-
Time-point values specifying the time(s) of day that the controller
should be executed. This setting overrides the interval setting if present.
Time-point values are given as comma-separted list of two-digit 24-based
hour and two-digit minute values. For example: 03:10,09:00,23:59.
6. General section
- userfiles
-
The path to the directory where uploaded and generated files should
be stored. This is the primary storage. See above for information about
how to configure the secondary storage. Uploaded files are not stored in
the same directory structure or with the same names as in the BASE filesystem.
The internal structure may contain subdirectories.
- permission.timeout
-
Number of minutes to cache a logged in user's permission before
reloading them. The default value is 10. This setting affect how quickly
a changed permission propagate to a logged in user. Permissions are
always reloaded when a user logs in.
- cache.timeout
-
Number of minutes to keep user sessions in the internal cache
before the user is automatically logged out. The timeout is counted
from the last access made from the user.