Upgrading Flux allows you take advantage of the latest improvements, bug fixes, and new features that Flux has to offer. We recommend always running Flux on the newest version possible, both to take advantage of the increase stability offered as new bug fixes are added, and to provide easier to new features in the future (the more up-to-date your Flux installation is, the easier it will be to upgrade to newer versions of Flux down the line).
This guide documents the steps required to upgrade your Flux installation.
Changes from Prior Releases
- BPM support removed.
- Supervisor() APIs removed from flux.security.User.
- Desktop designer removed.
- RMI (1099) replaced with HTTPS (7520) for remote communication.
- Configurations removed: createRegistry, registryPort, rmiPort, rmiServer, serverName
- Configurations added: port, server, ssl
- flux.Control, flux.NonStreamable, flux.Transactable APIs merged with flux.Engine API.
- EngineHelper is a static helper utility. Used directly without creating from Factory.
- BusinessInterval stored in repository.
- RemoteSecurity and LocalSecurity concepts are merged to Engine interface.
- flux.transform APIs removed.
- flux.xml APIs removed.
- flux.Cluster API removed.
- SubFlowChartAction removed. Added support to update existing SubFlowChartAction to a FlowChartAction.
- CacheType.NETWORKED removed.
- File API Changes.
- FileRenameAction, ForEachDelimitedTextFileAction, ForEachFileAction, SimpleFileSource, ZipFileCriteria APIs removed.
- FileCriteriaPair replaced with IncludesFileCriteria, SingleFileCriteria, TargetFileCriteria, RenameableDoubleFileParameter.
- Agents do not require a port. Agents poll Engine for tasks.
- Agent pool property removed from ProcessAction. Moved to a super-interface AgentAction.
- In 8.0, FileCopyAction, FileExistTrigger, FileMoveAction can be executed on an Agent in addition to ProcessAction.
- DB schema changes:
- BPM tables removed: FLUX_BIZ_PROCESS, FLUX_BIZ_PROCESS_T, FLUX_BIZ_PROC_CONF, FLUX_BIZ_PROC_OWNR, FLUX_USR_SUPR_REL
- Cluster table changes: Removed BIND_NAME column and added IS_SSL column.
To install your Flux upgrade, you will first need a little information about your existing Flux environment and the version you plan to upgrade to.
To different between version numbers, each Flux release has three identifiers: the major version, the minor version, and the maintenance version. These are arranged like so:
Flux <major version>.<minor version>.<maintenance version>
For example, your Flux version may be "Flux 7.9.13", "Flux 7.8.4", or similar.
There are two types of Flux upgrades:
- Major or minor upgrades. These upgrades contain considerable changes from previous Flux versions (UI updates or major functionality changes) and may require database schema changes, API changes, or engine configuration changes.
- Maintenance upgrades. These upgrades only contain bug fixes and minor improvements. Maintenance upgrades do not require database schema changes, API changes, or engine configuration changes.
If your existing Flux installation and the version you are upgrading to share both a major and minor version, but the maintenance version is different, then this is a maintenance upgrade. Follow the maintenance upgrade instructions below to upgrade your Flux installation.
If your existing Flux installation and the version you are upgrading to have a different major or minor version, this is a major or minor upgrade. Follow the major or minor upgrade instructions below to upgrade your Flux installation.
To install a maintenance upgrade:
- Shut down any engine or Operations Console instances that are running.
- Download and extract the new Flux version to your system.
- [If this is not an evaluation version of Flux] Place your Flux license key file in the Flux directory and run the configure script located there to install the key.
- Copy the flux.jar and flux.war files from the new release over your existing ones.
- Copy all of the files from the <flux directory>/lib folder of the new release into the <flux home>/lib folder of the existing installation. Select "Yes" if prompted to replace any existing files.
- If you run Flux using the provided .bat or .sh scripts, replace all .bat / .sh files in <flux home> with the copies from the new version.
- If you run Flux using the Windows services, replace all <flux home>/service/windows .conf files with the copies from the new version.
- Restart your engine(s) and web application(s).
That's it! Your new Flux version is now installed and ready to run.
Major or Minor Upgrades
To upgrade to Flux 8.0, you must be using a 7.11.x release. If you're using Flux 7.9, go to Upgrading Flux 7.9 to Flux 7.11.
If you are running Flux 8.0, first download the Flux converter tool using this link: flux-converter-1.0-bin.zip.
Once you have downloaded the tool, unzip the archive to a new folder, then follow the instructions below (for your convenience, these instructions are also included in the README.txt contained in the tool's home directory).
Actions Removed in Flux 8.0
Review the information below before upgrading. This information and accompanying table contains important information about actions that have been removed in Flux 8.0.
The following table contains a list of all actions that have been removed in Flux 8.0, as well as the suggested replacement for each:
|Sub Flow Chart Action||Flow Chart Action|
|File Rename Action||File Move Action|
|File Transform Action||No equivalent action in Flux 8.0|
|For Each File Action||
File Exist Trigger + For Each Collection Element Action
|For Each Delimited Text File Action||Regular Expression Action|
|Business Process Trigger||No equivalent trigger in Flux 8.0. Flux 8.0 no longer supports BPM functionality.|
|Cognos Action||No equivalent action in Flux 8.0|
Additionally, workflows containing business intervals cannot be upgraded directly. Contact email@example.com for assistance upgrading workflows that contain intervals.
If any of your workflows contain one or more of these actions, it will not be possibly to complete the upgrade process until the workflows have been updated (in Flux 7.11) to remove the actions. This can usually be accomplished by replacing these actions with their suggested alternative in the table above, typically using the same settings as the existing action. For questions or assistance in redesigning your workflows, contact firstname.lastname@example.org.
Flux 7.11 and 8.0 License Keys Required
To complete the Flux 7.11 to Flux 8.0 migration:
- Unzip the migration zip file to a directory. Save your Flux 7.11 and 8.0 license keys to this directory.
- Add/update your Flux database / data source configuration information to the file flux711_sample_config.properties, using the included default settings as a template.
- Add your JDBC driver and any custom classes (custom actions, triggers, or action listener classes, and any additional classes your workflows depend on) to the classpath variable in export.bat (Windows) or export.sh (*nix).
- Copy flux.jar from your Flux 7.11 directory to this directory and rename it to flux711.jar.
Open a command prompt and run the following command (replace "admin admin" with the username and password for your Flux 7.11 installation and, if you are using a *nix system, replace "export.bat" with "export.sh"):
export.bat flux711_sample_config.properties admin admin
This script outputs the Flux 7.11 workflows to 2 directories: jobs and repository.
- [If any of your workflows contain custom actions or Java Actions] Migrate your Flux 7.11 workflow code to Flux 8.0 by compiling it against the Flux 8.0 JAR file. You may need to modify the code for deprecated or removed APIs (see the JDIFF documentation at portal.flux.ly for a complete accounting of these APIs).
- Create a new set of tables for Flux 8.0, following the instructions in Configuring Flux to run with Databases. If your Flux 8.0 installation will use the same database as your previous 7.11 instance, make sure to modify the .sql script to change the table prefix (You can simply replace all occurrences of "FLUX_" with any value you choose).
- Add/update your Flux database / data source configuration information to the file flux80_sample_config.properties, using the included default settings as a template
- [If you chose a new table prefix in step 7] Add the line "TABLE_PREFIX=MY_TABLE_PREFIX_" to flux80_sample_config.properties, where "MY_TABLE_PREFIX_" is the new table prefix you chose. Once the migration is complete, copy this configuration setting to your final Flux 8.0 engine configuration as well – you'll need this to allow your Flux 8.0 engine to start correctly.
Repeat step 3 for import.bat (Windows) or import.sh (*nix), making sure to use any updated classes or JARs you generated in step 6. Since the import needs to run on a local engine, comment out the following line in the engine configuration file you are using for the import like so:
If you're using the built-in Derby database, make sure to delete the 'derbydb' folder that is created upon export inside the Flux converter tool folder.
Open a command prompt and run the following command (this time, make sure not to edit "admin admin", as these will be the default settings for your Flux 8.0 install – if you are using a *nix system, replace "export.bat" with "export.sh"):
.bat flux80_sample_config.properties admin admin
This will import all of your running workflows and your repository from the Flux 7.11 installation.
Congratulations! You have successfully upgraded to Flux 8.0.