Version 7 Special Upgrade Instructions
This is step 8 of the upgrade instructions.
Some versions of PhixFlow require additional steps when you upgrade to them. Find your current version of PhixFlow, and the new version to which you need to upgrade. Ensure you follow all the special instructions for all the intermediate versions.
For 7.2.0
Change to SQL server dialect in datasource file
For this release, there is an additional step when upgrading from a version at less than 7.2.0 to 7.2.0 or above. This only applies if you are running against a SQL Server database.
If you are running against a SQL Server database, you need to update the dialect specified in the datasource file. The Standard Upgrade Instructions describe managing your phixflow-datasource.xml file, and migrating this to the new release. In this file you will have:
<prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
Update this to say:
<prop key="hibernate.dialect">org.hibernate.dialect.SQLServer2012Dialect</prop>
For 7.4.0
Excel file collector must specify the worksheet
Excel File Collectors that specify the worksheet to read in the Excel Data Range Expression must now quote the worksheet name if it contains spaces and/or single quotes. This is not handled automatically by the upgrade process. See File Collector → Excel Data Range Expression for details.
For Oracle databases edit phixflow-datasource.xml
If you are using Oracle, configuration imports can sometimes fail with this error:
ORA-22275: invalid LOB locator specified
To resolve this, you will need to edit your phixflow-datasource.xml file. This only affects upgraded instances, if you are creating a new installation, no changes are necessary.
The update required is to set the property hibernate.jdbc.batch_size
to 1. To do this:
Find your phixflow-datasource.xml file; this will be at:
[tomcat home]/webapps/phixflow/WEB-INF/classes/phixflow-datasource.xml
Find the line
<prop key="hibernate.jdbc.batch_size">1000</prop>
and update this to
<prop key="hibernate.jdbc.batch_size">1</prop>
This will leave you with:
<bean id="hibernateProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean"> <property name="properties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop> <prop key="hibernate.order_updates">true</prop> <prop key="hibernate.jdbc.batch_size">1</prop> </props> </property> </bean>
For 7.6.0 and 7.6.1
Privileges for MariaDB (MySQL) migration scripts
The MariaDB (MySQL) migration scripts now require additional privileges or equivalent database server configuration changes. Specifically, one of the following must be true:
- the migration user has SUPER privilege, or
- the mysql global variable 'log_bin_trust_function_creators' is set to true
If neither are true, the migration script may fail and would require manual recovery.
This advice applies to the migration to 7.6.0 and to all later migrations.
For 7.7.0
Upgrade Java
Upgrade to Java 1.8.0_151 or later and ensure that Java is configured to allow unlimited-strength security; see Install Java for details.
For 7.8.0
Create new configuration files
You must create new versions of the following configuration files in $webapp/WEB-INF/classes
:
phixflow-datasource.xml
has multiple changes.phixflow-domain.xml
has been replaced byphixflow-login.xml
and now covers both Single Sign-on and Active Directory integrations.
To do this:
- Rename your existing configuration files, for example by adding a .bak suffix.
- For both
phixflow-datasource.xml
andphixflow-login.xml
, follow the Install PhixFlow Webapp instructions for creating the configuration files from the.example files provided. - Copy the individual values from your existing configuration files and paste them into the new files. For example,
phixflow-datasource.xml
needs the:- datasource URL
- username
- password.
Avoid copying entire XML blocks into your new configuration files, as you may overwrite a section of the configuration file that PhixFlow needs.
Privileges for MariaDB (MySQL) migration scripts
In order to use the MariaDB (MySQL) migration scripts please ensure that:
- either you can run the scripts with SUPER user privilege
- or the mysql global variable
log_bin_trust_function_creators
is set to true.
If neither are true, the migration script may fail, and you will need to manually recover the database.
Migration Script Fix
May 2020: The SQL Server migration script from 7.7.2 to 7.8.0 now correctly removes an unnecessary index.
For 7.8.4
Create new configuration files
You must create new versions of the following configuration files in $webapp/WEB-INF/classes
:
phixflow-login.xml
has changes related to security.
To do this:
- Rename your existing configuration files, for example by adding a
.bak
suffix. - Follow the Install PhixFlow Webapp instructions for creating a new
phixflow-login.xml
file from the.example files provided. - Copy the individual values from your existing configuration files and paste them into the new files.
Avoid copying entire XML blocks into your new configuration files, as you may overwrite a section of the configuration file that PhixFlow needs.
For 7.9.0
Run email checking script
Before running the migration scripts to upgrade to version 7.9.0, you must run the script emailAccountMigrationCheck.sql
. This script checks the number of enabled inbound email accounts.
- If the script returns
0
or1
, you can run the migration script. - If the check returns
2
or more please contact PhixFlow support.
Do not run the migration script, as it cannot correct existing email data if you have more than one inbound email account.
Update logging configuration
To improve security, we have made some changes to the logging configuration files in $webapp/WEB-INF/classes
.
phixflow.logging.xml
log4j.properties
has been replaced by logback.xml
As a result, you must:
- Move
log4j.properties
tolog4j.properties.bak
because this file is no longer required by PhixFlow. - Follow the instructions for creating the configuration files from the .example files provided; see Configure logback.xml and Configure phixflow-logging.xml.
- Copy the individual values from your existing configuration file and paste them into the new file.
Avoid copying entire XML blocks into your new configuration file, as you may overwrite a section of the configuration file that PhixFlow needs.
Schedule a daily system task
The system task now includes processes that clear the data from incomplete stream sets. For version 7.9.0 and later, it is important to run a system task daily, or at a minimum weekly. We recommend that you add a system task to a scheduled task plan; see Tasks and Task Plans.
Clear the Tomcat work directory
Remember to clear the directory <tomcat base>/tomcat/work
; see Standard Upgrade Instructions, Step 2.