Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Section
Column

These steps are required when you convert from a demo/trial

Frevvoproduct
server installation to a production installation.

Tip

While you are demo-ing

Frevvoproduct
you do not need to do the Database Setup steps discussed below.

Your

Frevvoproduct
 server requires an SQL database for storing users and form submissions. The following SQL databases have been certified:

The

Frevvoproduct
server may function with other SQL database types but only the above set has been certified.

Warning
  • The default HSQLDB is ONLY sufficient for demo/trial versions of
    Frevvoproduct
    . All production
    Frevvoproduct
    users MUST switch their
    Frevvoproduct
    software to a production quality database.
  • You cannot migrate the data (user, roles, applications) automatically from HSQL to your production database. See this topic for the manual procedure details.

The following steps describe how to change the underlying database from the demo/trial HSQLDB to a production quality SQL database. The database configuration file frevvofile, server.xml is located in <frevvo-home>/frevvo/tomcat/conf /Catalina/localhost directory.

Column
width240px

On This page:

Table of Contents
maxLevel1

Select your database type

  1. First, Locate and copy the necessary jdbc driver for your database into <frevvo-home>\tomcat\lib.
  2. Edit the file <frevvo-home>\tomcat\conf\Catalina\localhost\frevvoserver.xml
  3. You will see a data source definition for the frevvo database type. type name="jdbc/frevvoDSsharedfrevvoDS". See the sample below of the HSQLDB data source in the frevvoserver.xml file.
  4. Comment out the pair of the definitions for the default database (HSQLDB) using the <!-- --> comment characters. The entire section must be commented out:
Code Block
<!-- 
		HSQLDB Resource 
	<Parameter name="org.quartz.jobStore.driverDelegateClass" value="org.quartz.impl.jdbcjobstore.HSQLDBDelegate" override="false"/>	
	<Resource auth="Container"
		type="javax.sql.DataSource"
		name="jdbc/frevvoDSsharedfrevvoDS"
		driverClassName="org.hsqldb.jdbcDriver"
		username="sa"
		password=""
		url="jdbc:hsqldb:file:${catalina.home}/../data/db/forms"
		maxActive="200"
		maxIdle="20"
		maxWait="10000"
		validationQuery="select 1 from INFORMATION_SCHEMA.SYSTEM_USERS"
		testOnBorrow="true"
		testOnIdle="true"
		timeBetweenEvictionRunsMillis="10000"
		removeAbandoned="true"
		logAbandoned="true"/>
-->

...

Code Block
 <!-- 
		SQLSERVER Resource
 -->		
	   <Parameter name="org.quartz.jobStore.driverDelegateClass" value="org.quartz.impl.jdbcjobstore.MSSQLDelegate"
override="false"/>			
       <Resource auth="Container"
		maxActive="200"
		maxIdle="20"
		maxWait="10000"
		validationQuery="select 1"
		testOnBorrow="true"
		testOnIdle="true"
		timeBetweenEvictionRunsMillis="10000"
		removeAbandoned="true"
		logAbandoned="true"
		name="jdbc/frevvoDSsharedfrevvoDS"
		driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
		username="root"
		password=""
		type="javax.sql.DataSource"
		url="jdbc:sqlserver://localhost:1433;databaseName=frevvo;"/>
	
Note

 There is now a parameter for org.quartz.jobStore.driverDelegateClass which is automatically configured for SQL and Oracle databases.  If the delegate property is explicitly set, it will override the automatic selection.

Warning

Database configuration has been removed from the <frevvo-home>\tomcat\conf\Catalina\localhost\frevvo.xml file. It is now done in the C:<frevvo-home>\tomcat\conf\server.xml file. Also, notice the database resource name has been changed to jdbc/sharedfrevvoDS.  When you configure your database, make the changes to the v7.0 server.xml. Do not copy configured sections from a frevvo.xml of a previous release into the v7.0 server.xml file.

Image Added

Configure the frevvo database

...

For your selected database type in frevvoserver.xml:

  1. Locate the frevvoDS sharedfrevvoDS data source url parameter and decide on a name for the frevvo database. For the SQL Server it would look like this: "url="jdbc:sqlserver://localhost:1433;databaseName=frevvo". You can change the name "frevvo" to whatever you wish, "
    Frevvoproduct
    " for example. But it must match the database name you create in your SQL server. See configure the connection Url below.
  2. Create a UTF-8 encoded database "frevvo" (assuming you left the url parameter database name as the default) in your SQL server
  3. Set the frevvoDS sharedfrevvoDS data source url parameter to your database server. See configure the connection Url below.
  4. Set the

    frevvoDS

    sharedfrevvoDS data source username and

    password parameters

    password parameters to a user that has read and write permissions to the frevvo database.

  5. The frevvo database setup is now complete. 
    Frevvoproduct
     will create all the necessary tables upon startup.

...

For your selected database type in frevvoserver.xml:

1) Set the frevvoDS sharedfrevvoDS data source url parameter to your database server. If

Frevvoproduct
 and the database server are collocated "localhost" may be fine. The url parameters depend on the database type and installation choices made when your DBA installed your database software. Consult your DBA for the correct connection values. For example, SQL server installed on a non-default port and running on a machine named e00sca will require that you add a port number and host name to the Url. For example:

...

2) Verify that the user and password required to connect to the frevvo database are correct.
3) Make sure that the user configured in the data sources has permissions to read and write to the frevvo database.

Info

If you are using SQL Server, it is recommended that you append the sendStringParametersAsUnicode property with a value of false to your database connection URL. This property will improve performance. You can find more information about this property on this Microsoft website. If you do not see the property, when configuring the Connection URL to your database, add it.

Code Block
url="jdbc:sqlserver://localhost:1433;databaseName=frevvo;sendStringParametersAsUnicode=false"/> 

Non Standard Databases

If you are trying a different database type and do not see an example in frevvoserver.xml for your database, you can create a new data source entry. Hibernate supports the following dialects however

Frevvoproduct
 has only been certified to run with a subset of these databases. For additional dialects see Hibernate documentation. 

...

Warning

The frevvo database must be created with UTF-8 encoding.

If you're using a improperly encoded database for frevvoDS sharedfrevvoDS you may run into one or more of the following runtime issues:

  1. International characters will not work correctly without the proper encoding.
  2. Workflows directed to a specific user may not appear on the user's task list.

...

You can convert a database and/or table to UTF-8 . Using using the mySQL MySQL configuration file or via the mySQL MySQL cmd tool.

Via the configuration Configuration file:

Code Block
[mysqld]
default-character-set=utf8
default-collation=utf8_unicode_cii

Via the mySQL MySQL cmd tool:

Code Block
ALTER DATABASE frevvo CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE `frevvo16089`.`formsubmission` CHARACTER SET utf8 COLLATE utf8_unicode_ci; 

Configure Snapshot Isolation for SQL Server Databases

If you are using SQL Server as your Live Forms database, it is highly recommended that you turn on the READ COMMITTED SNAPSHOT setting in the database.

You do not have to do this if you are using MySQL or Oracle databases because the READ SUBMITTED SNAPSHOT is turned on by default.

There are two ways to turn on the option:

  1. Using DDL ( Data Definition Language) - Run the commands listed below

    Code Block
    ALTER DATABASE <your frevvo database schema> - replace <your frevvo database schema> with the name of your frevvo database schema 
    SET READ_COMMITTED_SNAPSHOT ON
  2. Using SQL Server Management Studio:
  • Turn on the “Is Read Committed Snapshot On” Option under database properties.

Install a JDBC Driver

Frevvoproduct
database relies on the JDBC API. You can use any relational database as long as you have a JDBC driver for that database, however. See the list of certified databases. If you choose a database that's not in this list you do so at your own risk.

...

If you don't find what you need pre-installed you will need to locate a driver compatible to your database. Usually you can download your driver from the internet. Try one of these locations

Info

Once you have the driver you need, copy it to <frevvo-home>/tomcat/lib.

...

It is also appropriate to copy the driver into any location that is in the CLASSPATH of your servlet container. In a tomcat installation another . Another location would be <CATALINA_HOME>/lib.

...

The

Frevvoproduct
bundle includes an HSQL embedded database. If you use the HSQL database during your trial period, You you cannot migrate the data (user, roles, applications) automatically from HSQL to your production database. Once your production database is in place, you must manually: 

...