Version 7 Special Upgrade Instructions

This page has been archived.

This page is for system administrators who are responsible for upgrading an existing PhixFlow installation to a new version. 

Return to the installation documentation for your version of PhixFlow:
 

Return to PhixFlow help for version:
7.97.87.77.6

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 by phixflow-login.xml and now covers both Single Sign-on and Active Directory integrations.

To do this:

  1. Rename your existing configuration files, for example by adding a .bak suffix.
  2. For both phixflow-datasource.xml and phixflow-login.xml, follow the Install PhixFlow Webapp instructions for creating the configuration files from the.example files provided. 
  3. 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:

  1. Rename your existing configuration files, for example by adding a .bak suffix.
  2. Follow the Install PhixFlow Webapp instructions for creating a new phixflow-login.xml file from the.example files provided. 
  3. 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 or 1, 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:

  1. Move log4j.properties to log4j.properties.bak because this file is no longer required by PhixFlow.
  2. Follow the instructions for creating the configuration files from the .example files provided; see Configure logback.xml and Configure phixflow-logging.xml.
  3. 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.

 How?
  1. In the repository browser, right-click on Task Plan and select  Add.
  2. In the task plan properties → Basic Settings, name your task plan.
  3. In the task plan properties → Tasks section, click  Add. From the drop-down list, select System Task.
  4. PhixFlow opens a task properties tab. Name the system task and save it.
  5. Use the task plan properties → Schedule section to set when the task plan will run.
  6. In Basic Settings, tick the Scheduled and Enabled check boxes.
  7. Save the task plan.

Clear the Tomcat work directory

Remember to clear the directory <tomcat base>/tomcat/work; see  Standard Upgrade Instructions, Step 2.