Configuration Database

< appboard | 2.5 | admin

Page Contents

1. Overview

A default installation of AppBoard / enPortal will use an in-memory H2 database that runs within the same process as the main application. This is the easiest and most convenient configuration but in clustered and/or high availability environments it may be necessary to configure an external shared database.

The configuration database is used to store a variety of system configuration:

  • AppBoard Stacks, Boards, Widgets, filter rules, etc...
  • AppBoard / enPortal domains, users, roles, content assignment
  • enPortal channel configuration
  • enPortal Single Sign On (SSO) tokens

This database is only used for configuration data and the resource requirements are very minimal if using an external database.

It is recommended to use the default embedded and in-memory H2 database as this does not require any maintenance - unless there is a specific requirement for clustering and/or high-availability environments.


2. Using an External Config DB

  • The appropriate JDBC driver must be installed before starting this process!
  • The external DB should exist and you need to have access credentials with a database user that has the ability to create tables.
  • The external DB should be for the exclusive use of AppBoard / enPortal


DB Setup Tool

enPortal / AppBoard includes a utility to set up and configure an external configuration database. Please note this assumes the appropriate JDBC driver is installed, and you have an external database to connect to along with access credentials:

  1. If you already have configured AppBoard and want to use the existing configuration with an external config DB, make sure to run a full backup before continuing. See the Backup & Recovery documentation for more information.
  2. The AppBoard server should be stopped.
  3. Open a terminal and change into the [INSTALL_HOME]/server/bin directory and run:
    > portal dbsetup
  4. This will launch a graphical user interface to assist with the configuration as shown to the right.
    1. Use the Database button to select from a list of pre-configured templates, such as MySQL.
    2. Adjust the Host and Port fields to match the database host and port. After making a database selection the port will default to the default for that database type.
    3. Set the Database Name field to match the name of the database created to store the AppBoard configuration data.
    4. Set the User and Password used to authenticate against the database. The password is stored encrypted, refer to the Product Security page for more information.
    5. Click the Test button to establish a connection and ensure the details are correct.
    6. The Advanced Url... button can be used to set specific JDBC connection parameters.
      By default the JDBC connection URL is built up using the fields:
      Url Prefix + Host:Port + Url Post1 + Database Name + Url Post2
      This dialog allows the Url Prefix, Url Post1, and Url Post2 settings to be changed. Or to completely bypass automatically building the URL and to specify it explicitly via the Use URL directly option. Typically only the Url Post2 field would need to be modified to specify optional JDBC connection parameters.
    7. The Advanced... button can be used to configure some additional connection management settings. Normally these should not be modified, please contact support if you experience operational issues with the configuration database.
    8. Click the Ok button to save changes and exit the tool.
  5. So far this process simply sets AppBoard to connect to an external configuration database. This may be OK if the database already contains configuration (clustered or HA environment), but otherwise it will be necessary to either perform a database reset to create the initial default configuration, or to restore an archive to establish the configuration:
    • To reset and create a stock database configuration run:
      > portal dbreset
    • To restore an archive run (and refer to the Backup & Recovery documentation). It is important to use the Apply mode to avoid overwriting the DB configuration:
      > portal Apply -jar <archive.jar>
  6. Start AppBoard. If a dbreset or restore was performed than it is during startup the database will be configured.
The dbsetup tool can be re-run to make changes to the configuration as needed. Also the actual configuration information is stored in [INSTALL_HOME]/server/webapps/enportal/WEB-INF/config/persist.properties and can be modified directly however it is recommended to use the tool. In support situations this file may be requested for inspection.

3. Creating an External Config DB

In cases where an existing external database is not available it will be necessary to install and create one specifically for AppBoard. The following guides are examples only - please refer to the actual database product documentation for complete documentation.

In addition, once the database has been created, it will be necessary to run through the Using an External Config DB section to configure AppBoard to use it.