PhixFlow Help
Release Notes
PhixFlow new features and fixes are described in release notes. Each release has a version number with the format X.Y.Z, for example 7.9.3. Numbers ending in zero, for example 7.9.0, indicates a major release with significant changes. If Z is 1 or more, it indicates a minor release that contains security updates and bug fixes.
This page includes the release notes for:
Release 8.3.24
To upgrade an existing PhixFlow instance:
Check System Requirements and Compatibility for changes to the system requirements or supported database versions. For example, you may need to upgrade your database or Java version.
Ensure you have a backup of the database before upgrading PhixFlow.
Follow the Upgrading PhixFlow steps. It is essential to complete Step 8, in which you apply any Special Upgrade Instructions for all the intermediate releases between your current version and the version you are upgrading. The following special instructions apply for this release:
Special Upgrade Instructions
Important Information
None.
Schema Changes
Version details only.
Improvements
None.
Bug Fixes
DEV-14582 - Fixed run-time conflict with versions of security jar files which caused intermittent import/export issues.
DEV-14862 - Fixed problem with DateTime Picker setting wrong time when picking dates from within Daylight Saving Time.
Release 8.3.23
To upgrade an existing PhixFlow instance:
Check System Requirements and Compatibility for changes to the system requirements or supported database versions. For example, you may need to upgrade your database or Java version.
Ensure you have a backup of the database before upgrading PhixFlow.
Follow the Upgrading PhixFlow steps. It is essential to complete Step 8, in which you apply any Special Upgrade Instructions for all the intermediate releases between your current version and the version you are upgrading. The following special instructions apply for this release:
Special Upgrade Instructions
Important Information
None.
Schema Changes
Version details only.
Improvements
None.
Bug Fixes
DEV-14483: Fixed the issue of date-pickers picking the wrong month for some time zones.
Release 8.3.22
To upgrade an existing PhixFlow instance:
Check System Requirements and Compatibility for changes to the system requirements or supported database versions. For example, you may need to upgrade your database or Java version.
Ensure you have a backup of the database before upgrading PhixFlow.
Follow the Upgrading PhixFlow steps. It is essential to complete Step 8, in which you apply any Special Upgrade Instructions for all the intermediate releases between your current version and the version you are upgrading. The following special instructions apply for this release:
Special Upgrade Instructions
Important Information
None.
Schema Changes
Version details only.
Improvements
DEV-13215 - You can no longer have two users with the same username.
Bug Fixes
DEV-13421 - Dragging record sets from one table set grid to another table will now correctly copy those record sets to the new table.
DEV-14369 - DatePickers now send the selected date regardless of the timezone.
Release 8.3.21
To upgrade an existing PhixFlow instance:
Check System Requirements and Compatibility for changes to the system requirements or supported database versions. For example, you may need to upgrade your database or Java version.
Ensure you have a backup of the database before upgrading PhixFlow.
Follow the Upgrading PhixFlow steps. It is important to complete Step 8, in which you apply any Special Upgrade Instructions for all the intermediate releases between your current version and the version to which you are upgrading. The following special instructions apply for this release:
Special Upgrade Instructions
Important Information
None.
Improvements
DEV-13332: Added "Allowed File Export Formats" to "Stream View" under "Advanced" section. This drop down will allow you to restrict which file formats this view can be exported in. Options are all, comma separated values, excel spreadsheet, and none.
Bug Fixes
-
Release 8.3.20
To upgrade an existing PhixFlow instance:
Check System Requirements and Compatibility for changes to the system requirements or supported database versions. For example, you may need to upgrade your database or Java version.
Ensure you have a backup of the database before upgrading PhixFlow.
Follow the Upgrading PhixFlow steps. It is important to complete Step 8, in which you apply any Special Upgrade Instructions for all the intermediate releases between your current version and the version to which you are upgrading. The following special instructions apply for this release:
Special Upgrade Instructions
Important Information
None.
Improvements
DEV-13017: Geometric functions now take an optional precision parameter which is the number of decimal places in the geometry coordinates. The default is 0dp. The geoBuffer function can take a second optional parameter quadrant segments which defaults to 8.
Bug Fixes
DEV-12994: Fixed issue whereby updating records in a Stream View failed on SQL Server if there were more than 10 records selected. This was caused by an incorrect query to fetch the selected records from the database.
DEV-13264: In Analysis, on SQL Server only: where a lookup pipe has an 'is in' filter condition with more than 10 elements in the 'is in' list, lookups always returned the same data even if the values in the 'is in' list were different (e.g. if the repeated lookups were driven by a dynamic value in an input multiplier, only the first set of results would be returned).
Release 8.3.19
To upgrade an existing PhixFlow instance:
Check System Requirements and Compatibility for changes to the system requirements or supported database versions. For example, you may need to upgrade your database or Java version.
Ensure you have a backup of the database before upgrading PhixFlow.
Follow the Upgrading PhixFlow steps. It is important to complete Step 8, in which you apply any Special Upgrade Instructions for all the intermediate releases between your current version and the version to which you are upgrading. The following special instructions apply for this release:
Special Upgrade Instructions
Important Information
None.
Improvements
DEV-12818 New attribute functions have been created to perform geometric operations on "Well Known Text" geometric representations of points, lines and polygons.
Geometry geoBuffer(Geometry left, double distance), Computes a buffer area around the left geometry using the given distance.
Boolean geoCovers(Geometry left, Geometry right), Tests whether the left geometry covers the right geometry.
Boolean geoDisjoint(Geometry left, Geometry right), Tests whether the left geometry is disjointed from the right geometry.
Double geoDistance(Geometry left, Geometry right), Returns the minimum distance between the left geometry and the right geometry.
Boolean geoEqualsExact(Geometry left, Geometry right, double tolerance), Returns true if the two geometries are exactly equal, up to a specified distance tolerance.
Boolean geoEqualsTopo(Geometry left, Geometry right), Tests whether the left geometry is topologically equal to the right geometry as defined by the SFS equals predicate.
Double geoArea(Geometry left), Returns the area of left geometry.
Geometry geoCentroid(Geometry left), Computes the centroid of left geometry.
Geometry geoEnvelope(Geometry left), Gets a geometry representing the envelope (rectangular bounding box) of left geometry.
String geoType(Geometry left), Returns the name of this geometry's actual class. e.g. "Point", "LineString", "Polygon"", "MultiPolygon".
Geometry geoIntersection(Geometry left, Geometry right), Computes a geometry representing the point-set which is common to both the left geometry and the right geometry.
Boolean geoIntersects(Geometry left, Geometry right), Tests whether the left geometry intersects the right geometry.
Boolean geoIsRectangle(Geometry left), Tests whether the left geometry is a rectangular polygon.
Boolean geoIsSimple(Geometry left), Tests whether the left geometry is simple.
Boolean geoIsValid(Geometry left), Tests whether the left geometry is topologically valid, according to the OGC SFS specification.
Geometry geoNorm(Geometry left), Creates a new geometry which is a normalized copy of this geometry.
Double geoGetX(Geometry left), Returns the 'first' x coordinate.
Double geoGetY(Geometry left), Returns the 'first' y coordinate.
If passed a string the geometry functions will automatically convert it into a geometry object.
If the final result of a JEP expression is a geometry object then this will automatically be converted into a String once evaluation is complete.
To convert a geometry object into a Well Known Text string (WKT) so that it can be passed to other attribute functions, toString() must be called.
Bug Fixes
DEV-12740 Resolved issue where a valid SAML session is no longer accepted by PhixFlow.
DEV-12377 Cache extraction filters are now multi-line editors, allowing long multi-line expressions to be edited.
DEV-12915 Stream sets generated by stream actions will now have a cycle of 1 instead of 0. This is shown in the System Console --> Record Sets --> Cycle (column).
Release 8.3.18
To upgrade an existing PhixFlow instance:
Check System Requirements and Compatibility for changes to the system requirements or supported database versions. For example, you may need to upgrade your database or Java version.
Ensure you have a backup of the database before upgrading PhixFlow.
Follow the Upgrading PhixFlow steps. It is important to complete Step 8, in which you apply any Special Upgrade Instructions for all the intermediate releases between your current version and the version to which you are upgrading. The following special instructions apply for this release:
Special Upgrade Instructions
Important Information
New Privilege
There is a new privilege Release Exclusion Groups which controls access to the Administration Menu action Release Exclusion Group. This privilege will need to be added to the user(s) and/or groups who require access to the Release Exclusion Group administration menu option.
Bug Fixes
DEV-12156 - When a task plan was run by an action, under anomalous conditions the task plan exclusion groups were not always enforced. This has been corrected and task plan exclusion groups are always enforced.
Release 8.3.17
To upgrade an existing PhixFlow instance:
- Check System Requirements and Compatibility for changes to the system requirements or supported database versions. For example, you may need to upgrade your database or Java version.
- Ensure you have a backup of the database before upgrading PhixFlow.
Follow the Upgrading PhixFlow steps. It is important to complete Step 8, in which you apply any Special Upgrade Instructions for all the intermediate releases between your current version and the version to which you are upgrading. The following special instructions apply for this release.
Special Upgrade Instructions
Important Information
New Privilege
There is a new privilege Release Exclusion Groups which controls access to the Administration Menu action Release Exclusion Group. This privilege will need to be added to the user(s) and/or groups who require access to the Release Exclusion Group administration menu option.
Bug Fixes
DEV-11520 - The login screen will now always display the PhixFlow logo. Previously the login screen sometimes showed the most recently used application logo.
DEV-11719 - Stream View Components will now display the applied default filter name when they have a display name set.
DEV-11736 - Unknown fields specified in a template used for PDF generation now error with details of the unknown field and its location within the template.
DEV-11737 - The "More Detail" button has been added back onto the app mode error messages.
DEV-11796 - You can now prevent specific task plans running concurrently. In the task plan properties set Advanced->Exclusion Group. Only one task plan with that exclusion group can be running at any one time. Attempting to run a second task plan with the same exclusion group will return a warning and the task plan will not run. There is a new privilege Release Exclusion Groups which controls access to the Administration Menu action Release Exclusion Group.
Release 8.3.16
To upgrade an existing PhixFlow instance:
- Check System Requirements and Compatibility for changes to the system requirements or supported database versions. For example, you may need to upgrade your database or Java version.
- Ensure you have a backup of the database before upgrading PhixFlow.
Follow the Upgrading PhixFlow steps. It is important to complete Step 8, in which you apply any Special Upgrade Instructions for all the intermediate releases between your current version and the version to which you are upgrading. There are no special instructions for this version.
Security and Performance Improvements
DEV-11306 - Javascript libraries have been updated in order to resolve vulnerabilities.
DEV-11454 - A server.properties setting has been modified to improve the performance of certain queries using the "is in" clause.
Bug Fixes
DEV-10932 - When an action returns a list of values containing null, the action now correctly completes.
DEV-11088 - From a property editor, you can now use the buttons to view filtered repository items, even when an application is not loaded.
DEV-11164 - In the stream action properties, you can now edit the Parent Details section to change the stream to which a stream action belongs.
DEV-11209 - In a pop-up error message, you will only see the More Details button in design mode.
DEV-11417 - Resolved an issue where a filter on a grid prevented a refresh action from running correctly.
DEV-11510 - Small float values below 1 will now display correctly in grids.
Release 8.3.15
To upgrade an existing PhixFlow instance:
- Check System Requirements and Compatibility for changes to the system requirements or supported database versions. For example, you may need to upgrade your database or Java version.
- Ensure you have a backup of the database before upgrading PhixFlow.
Follow the Upgrading PhixFlow steps. It is important to complete Step 8, in which you apply any Special Upgrade Instructions for all the intermediate releases between your current version and the version to which you are upgrading. There are no special instructions for this version.
Bug Fixes
DEV-10777 Changes to Database Collector SQL statements are now recorded in the audit log.
Release 8.3.14
To upgrade an existing PhixFlow instance:
- Check System Requirements and Compatibility for changes to the system requirements or supported database versions. For example, you may need to upgrade your database or Java version.
- Ensure you have a backup of the database before upgrading PhixFlow.
Follow the Upgrading PhixFlow steps. It is important to complete Step 8, in which you apply any Special Upgrade Instructions for all the intermediate releases between your current version and the version to which you are upgrading. There are no special instructions for this version.
Bug Fixes
DEV-10799 When importing to an instance that has protected items, PhixFlow no longer incorrectly renames items as though their names are not unique.
DEV-10836 Sending emails now times-out after 10 seconds if PhixFlow is unable to connect to the server.
Release 8.3.13
To upgrade an existing PhixFlow instance:
- Check System Requirements and Compatibility for changes to the system requirements or supported database versions. For example, you may need to upgrade your database or Java version.
- Ensure you have a backup of the database before upgrading PhixFlow.
Follow the Upgrading PhixFlow steps. It is important to complete Step 8, in which you apply any Special Upgrade Instructions for all the intermediate releases between your current version and the version to which you are upgrading.
Special Upgrade Instructions
Special Upgrade Instructions
Update LibreOffice
If you are generating PDF documents, upgrade LibreOffice to version 7.2.5.
Bug Fixes
DEV-10690 - The PDF generation process is no longer losing system resources, causing the process to hang randomly. This was preventing PDF documents being generated until the PDF generation service (LibreOffice) was stopped and restarted.
This fix requires you to update to LibreOffice version 7.2.5.
DEV-10652 – Scheduled tasks and manually-run tasks now always merge correctly. Previously, occasional incorrect merges caused:
- the scheduled task to hang before all work was complete
- log messages for the manual task to appear in the log messages for the scheduled task.
Release 8.3.12
To upgrade an existing PhixFlow instance:
- Check System Requirements and Compatibility for changes to the system requirements or supported database versions. For example, you may need to upgrade your database or Java version.
- Ensure you have a backup of the database before upgrading PhixFlow.
Follow the Upgrading PhixFlow steps. It is important to complete Step 8, in which you apply any Special Upgrade Instructions for all the intermediate releases between your current version and the version to which you are upgrading. There are no special instructions for this version.
Improvements
DEV-4103 File exporters now automatically create output directories on the PhixFlow server. These directories must be under the System Configuration restricted directory; see System Configuration > Restricted Directory. This change does not apply when exporting to FTP servers. Output directories on FTP servers must be created outside PhixFlow as before.
Release 8.3.11
To upgrade an existing PhixFlow instance:
- Check System Requirements and Compatibility for changes to the system requirements or supported database versions. For example, you may need to upgrade your database or Java version.
- Ensure you have a backup of the database before upgrading PhixFlow.
Follow the Upgrading PhixFlow steps. It is important to complete Step 8, in which you apply any Special Upgrade Instructions for all the intermediate releases between your current version and the version to which you are upgrading. There are no special instructions for this version.
Bug Fixes
DEV-10527 The File Exporter PDF conversion process has been simplified. PDF conversion no longer uses a separate output directory (PDF Target Path), nor does it generate separate user-visible tasks (PDFchores).
Release 8.3.10
To upgrade an existing PhixFlow instance:
- Check System Requirements and Compatibility for changes to the system requirements or supported database versions. For example, you may need to upgrade your database or Java version.
- Ensure you have a backup of the database before upgrading PhixFlow.
Follow the Upgrading PhixFlow steps. It is important to complete Step 8, in which you apply any Special Upgrade Instructions for all the intermediate releases between your current version and the version to which you are upgrading. There are no special instructions for this version.
Bug Fixes
DEV-9941 It is now quicker to generate audit trail entries when importing or copying your PhixFlow configuration.
Release 8.3.9
To upgrade an existing PhixFlow instance:
- Check System Requirements and Compatibility for changes to the system requirements or supported database versions. For example, you may need to upgrade your database or Java version.
- Ensure you have a backup of the database before upgrading PhixFlow.
Follow the Upgrading PhixFlow steps. It is important to complete Step 8, in which you apply any Special Upgrade Instructions for all the intermediate releases between your current version and the version to which you are upgrading. There are no special instructions for this version.
Bug Fixes
DEV-9941 It is now quicker to generate audit trail entries when importing or copying your PhixFlow configuration.
DEV-10470 Fixed an issue with automatic PDF file generation on multi-file exports. Previously, when a file exporter was generating multiple PDF files only the first was generated correctly. Subsequent files were sometimes generated using the wrong XLS(X) template.
Release 8.3.8
To upgrade an existing PhixFlow instance:
- Check System Requirements and Compatibility for changes to the system requirements or supported database versions. For example, you may need to upgrade your database or Java version.
- Ensure you have a backup of the database before upgrading PhixFlow.
Follow the Upgrading PhixFlow steps. It is important to complete Step 8, in which you apply any Special Upgrade Instructions for all the intermediate releases between your current version and the version to which you are upgrading. There are no special instructions for this version.
Bug Fixes
DEV-7641 The console messages now correctly show all relevant details.
DEV-10330 PhixFlow waits until Excel files are generated before creating PDFs.
DEV-10337 PhixFlow restricts float or decimal numbers to 15 significant figures when they have 15 decimal places and there are many digits before the decimal point.
Release 8.3.7
To upgrade an existing PhixFlow instance:
- Check System Requirements and Compatibility for changes to the system requirements or supported database versions. For example, you may need to upgrade your database or Java version.
- Ensure you have a backup of the database before upgrading PhixFlow.
Follow the Upgrading PhixFlow steps. It is important to complete Step 8, in which you apply any Special Upgrade Instructions for all the intermediate releases between your current version and the version to which you are upgrading. There are no special instructions for this version.
Bug Fixes
DEV-10306 Generating a PDF no longer freezes when processing certain Excel input files.
Release 8.3.6
To upgrade an existing PhixFlow instance:
- Check System Requirements and Compatibility for changes to the system requirements or supported database versions. For example, you may need to upgrade your database or Java version.
- Ensure you have a backup of the database before upgrading PhixFlow.
Follow the Upgrading PhixFlow steps. It is important to complete Step 8, in which you apply any Special Upgrade Instructions for all the intermediate releases between your current version and the version to which you are upgrading. There are no special instructions for this version.
Bug Fixes
DEV-10257 On a dashboard, for numeric fields being used in actions via _form.fieldName (or elementName.fieldName, etc), values of 0 are no longer treated as null.
DEV-10267 Generating a PDF now creates any missing target directories and moves the source Excel file to the destination directory.
Release 8.3.5
To upgrade an existing PhixFlow instance:
- Check System Requirements and Compatibility for changes to the system requirements or supported database versions. For example, you may need to upgrade your database or Java version.
- Ensure you have a backup of the database before upgrading PhixFlow.
Follow the Upgrading PhixFlow steps. It is important to complete Step 8, in which you apply any Special Upgrade Instructions for all the intermediate releases between your current version and the version to which you are upgrading. There are no special instructions for this version.
Bug Fixes
DEV-10215 PhixFlow now correctly applies the date or number format to a selected value in a drop-down field.
DEV-10225 Logging in for Active Directory users now works correctly.
DEV-10244 Fixed an error in the SQL Server migration script that affected PDF Generation from 8.3.0 onwards. After migrating to 8.3.5, exporting to PDFs for SQL Server instances will work properly.
Release 8.3.4
Features and Improvements
DEV-5911 The PhixFlow now opens the login screen in a pop-up window. This means that if your session times-out, the application is unaffected. In previous versions, session timeout caused the application to reset to the login screen and there was a risk of losing data being entered into forms.
DEV-9735 PhixFlow is quicker to load applications.
DEV-9977, DEV-10118 Previously, PhixFlow instances using Microsoft SQL Server were restricted to a limit of 2000 items in the “is in” list of a filter clause. That restriction has been removed. You can specify “is in” lists with more than 2000 items.
DEV-8206 HTTP collectors and exporters no longer strip newline characters from the returned data.
This change may affect analysis models that use HTTP collectors or exporters. If processing in your model relies on the absence of line breaks, you can use the following attribute expression to remove \n, \r and \r\n characters:
replaceAll(in.value, "[\r\n]", "")
New Features for Charts
There are new features and improvements to bar and line charts (graphs), in the Stream View → Chart Layout section.
- DEV-9009 You can Force Horizontal Axis Ticks, so that PhixFlow displays all values on the horizontal axis.
- DEV-9002, DEV-8999 The value axis has new options to specify:
- Minimum Value: set the minimum value where the chart will start
- Maximum Value: set the maximum value where the chart will end
- Axis Increment: set an increment for the values on the axis
- Axis Number Format: specify the format for the numbers that appear on the axis.
Bug Fixes
Fixes for Charts
DEV-9001 A chart legend positioned below a chart no longer overlay the data.
DEV-9010 The line graph right axis is now working. This means you can display multiple charts on one chart.
DEV-9006, DEV-10046 The Date and DateTime format is now correctly applied to a chart horizontal axis. This means there is no longer excessive whitespace under a date or date/time axis.
DEV-10047 For charts, the angle setting for the horizontal axis now works correctly.
DEV-10121 The labels on a chart's vertical or angled axis now have labels in the correct positions, rather than overlapping the chart.
DEV-10052 Line and bar charts now work correctly when the Show Legend is not ticked.
DEV-9694 The axis scale on a chart no longer intermittently loses the axis minimum value.
DEV-9693 On a chart, the mouse-hover tooltip now correctly displays values with decimal places.
DEV-10089 When configuring a chart, dragging stream attributes onto the view properties → View Attributes section no longer reports an error.
Other Fixes
DEV-9864 Opening the list of streams in the repository is now much faster.
DEV-9870 Opening the list of stream views in the stream properties is now much faster.
DEV-8937, DEV-9806 The system task no longer stops if one of the following error conditions occurs:
- processing a corrupt stream
- deleting a managed file.
The system task omits the problem case and continues processing.
DEV-9850 Memory used when copying a configuration object is now released once the copy has completed. Previously, after many copy operations, the server could run out of memory.
Release 8.3.3
To upgrade an existing PhixFlow instance:
- Check System Requirements and Compatibility for changes to the system requirements or supported database versions. For example, you may need to upgrade your database or Java version.
- Ensure you have a backup of the database before upgrading PhixFlow.
Follow the Upgrading PhixFlow steps. It is important to complete Step 8, in which you apply any Special Upgrade Instructions for all the intermediate releases between your current version and the version to which you are upgrading. There are no special instructions for this version.
Bug Fixes
DEV-7661 In the repository, the search box for a category now auto-sizes to fit the available space. If you double-click in a search box, PhixFlow no longer closes the category.
DEV-9162 Component mappings now correctly take the values from the mapped dashboard element.
DEV-8395 Error messages when deleting temporary files now correctly report the stack trace for troubleshooting.
DEV-9366 For SQL Server-based installations, slow performance when accessing stream data has been resolved.
DEV-9111 Fixed issues that could result in reading the wrong stream data following rollback.
Release 8.3.2
To upgrade an existing PhixFlow instance:
- Check System Requirements and Compatibility for changes to the system requirements or supported database versions. For example, you may need to upgrade your database or Java version.
- Ensure you have a backup of the database before upgrading PhixFlow.
Follow the Upgrading PhixFlow steps. It is important to complete Step 8, in which you apply any Special Upgrade Instructions for all the intermediate releases between your current version and the version to which you are upgrading. There are no special instructions for this version.
Improvements
DEV-8709 PhixFlow now treats user roles and privileges as instance-specific. Exports from a PhixFlow instance no longer include the references between user groups and users. When you import to another instance, for local and mixed users:
- existing local and mixed users retain their roles and privileges unchanged
- any new local or mixed users that are added do not have roles or privileges set by the import process.
DEV-8438 New and reset passwords that use the default password policy must now meet the following requirements:
Requirement | Was | Now |
---|---|---|
Number of characters | 6 | 10 |
Upper case | - | 1 |
Lower case | - | 1 |
Special | - | 1 |
DEV-8666 The detailed user list now includes the user name as well the login name.
DEV-8351 For Excel templates, PhixFlow can now read an attribute from a pipe to construct the sheet name. Use an expression with the form {pipe_name:attribute}
; see File Exporter Excel Multi-input.
Bug Fixes
DEV-8693 Categoric line graphs now display correctly.
DEV-8705 Pie charts now correctly handle decimal places for DECIMAL attributes.
DEV-8694 Adding a percentage aggregate attribute now works correctly.
DEV-8635 Using the fieldCondition() function to filter null values now works correctly.
DEV-8644 Using a filter created with a fieldCondition() function that has the wrong attribute type, no longer causes an error.
DEV-8340 The File Name field has been removed from the image properties, as it is not needed.
DEV-8678 The Disable option has been removed from the repository context menu for external users, as it is not needed.
DEV-8377 The server ping functionality at http://server:port/PhixFlowInstance/ping.htm has been restored.
DEV-8380 The phixflow-datasource.xml.example file → externalCredential bean has been corrected to replace the placeholder text "demo" with:
- for usernameKey: username
- for passwordKey: password.
Release 8.3.1
To upgrade an existing PhixFlow instance:
- Check System Requirements and Compatibility for changes to the system requirements or supported database versions. For example, you may need to upgrade your database or Java version.
- Ensure you have a backup of the database before upgrading PhixFlow.
Follow the Upgrading PhixFlow steps. It is important to complete Step 8, in which you apply any Special Upgrade Instructions for all the intermediate releases between your current version and the version to which you are upgrading. There are no special instructions for this version.
Recommendation
We recommend that you tick the System Configuration option Log Statistics. This option generates data that is very useful:
- when troubleshooting problems
- when tuning applications or the PhixFlow system to improve performance.
Improvements
DEV-8256 The following modelling objects no longer include passwords when exported.
- file collectors
- file exporters
- FTP sites.
This means passwords are not transfered to another instance. When importing to:
- a new instance, you must update the modelling object to set the password.
- an existing instance where the modelling object already exists, PhixFlow preserves the existing password field.
Bug Fixes
DEV-8229 Setting a number format in PhixFlow no longer affects how a value is saved to the database.
DEV-8235 You can now type only 15 digits into a floating point field, as this is the maximum number of significant digits allowed.
DEV-8283 When running the upgrader, a database connection leak could occur. This has been resolved. The leak could cause errors such as "too many files".
Release 8.3.0
PhixFlow Ltd. is pleased to announce the release of PhixFlow 8.3.0. This page describes the improvements and fixes in this version. This major release includes some important fixes.
Installing or Upgrading to PhixFlow Version 8.3.0
To install a new PhixFlow instance:
- Check System Requirements and Compatibility for details of the PhixFlow system requirements and update any dependencies.
- Follow the instructions in Installing PhixFlow.
To upgrade an existing PhixFlow instance:
- Check System Requirements and Compatibility for changes to the system requirements or supported database versions. For example, you may need to upgrade your database or Java version.
- Ensure you have a backup of the database before upgrading PhixFlow.
Follow the Upgrading PhixFlow steps. It is important to complete Step 8, in which you apply any Special Upgrade Instructions for all the intermediate releases between your current version and the version to which you are upgrading. See below for the special instructions for this version.
- This release includes changes that affect the PhixFlow database. After upgrading, remember to republish the PhixFlow data as described in Step 10 of Upgrading PhixFlow.
Special Instructions
Special Instructions
This upgrade includes instructions to add a pepper string and alias to the keystore. See:
- Adding Data to a Keystore for the keystore command syntax and how the keystore works
- Understanding Password Encryption for information about the pepper key and how to ensure user security information is migrated to use the most secure encryption
- Considerations for Pepper Strings for whether or not to use different pepper keys for different instances.
Run the PhixFlow upgrade script
Running the upgrade script makes essential security improvements to passwords.
If you are upgrading from a version earlier than 8.2.0, please read the special upgrade instructions for 8.2.0. This release introduced the keystore and encryption of security data. It also changed the database indexing scheme for stream data tables.
Updating the indexing scheme in a large Oracle database may take a long time. If this is an issue for you, please contact PhixFlow Support. You may be able to use the --skip-superceded
option to prevent re-indexing. However, this will affect some PhixFlow features.
After upgrading your database in Step 10 of Upgrading PhixFlow, make sure you have sufficient disc space, memory and time to run the PhixFlow upgrade script. There is advice in the special upgrade instructions for 8.2.0.
Run the PhixFlow upgrade script from the installation directory .../phixflow-version-date/install
. To see information about all the options, run the upgrade script with the -help
option.
java -jar bin/upgrader.jar -help
The command returns:
[Boot] INFO: loading properties from one-jar.properties 2021-02-09 10:52:19,475 [main] INFO phixflow.upgrader.main.UpgraderMain - PhixFlow Upgrade starting Option Description ------ ----------- --skip-superceded Skip upgrading the superceded_dtm column on stream data tables (Oracle only; only use if advised by PhixFlow support) --help Print this message --match-streams Only streams matching this regexp are upgraded (Oracle only) --pass The database password --test Test the database connection properties --upgrade Upgrade the PhixFlow database schema --url The database url, e.g. jdbc:mysql://hostname/database --user The database username
To upgrade PhixFlow, run the upgrade script with the -upgrade
option, for example.
java -jar bin/upgrader.jar -url="jdbc:mysql://localhost/phixflow" -user=<myuser> -pass=<mypass> -upgrade
After the upgrade script completes, continue with the following configuration steps.
Add a pepper string to the keystore
PhixFlow now requires a pepper string to be added to the keystore. When a local user sets their password, the pepper string is added to it and the combined string is encrypted. This means user passwords are tied to a PhixFlow instance.
- Run the
-importpass
command, specifying the alias:pepperkey
The alias is case-sensitive. If you use a different alias, update phixflow-instance.xml to use the same alias. - When prompted, enter the keystore password.
- When prompted for the password, enter the pepper string you want to add to user passwords.
We recommend this string has the same characteristics as a password. For example it should be a random string containing at least 6 letters, numbers and special characters.
Keep a secure record of the pepper sting.
Merge changes in configuration files
You must create new versions of the following configuration files in $webapp/WEB-INF/classes
:
-
phixflow-instance.xml
- phixflow-datasource.xml
- phixflow-login.xml
- phixflow-secret.xml
To do this we recommend you:
- Rename your existing configuration file, for example by adding a
.bak
suffix. - Follow the Install the PhixFlow Webapp instructions for creating a new file from the
.example
file provided. - 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 files, as you may overwrite a section of the configuration file that PhixFlow needs.
If you choose to merge the changes from the new .example
file into your existing configuration file, the following notes indicate where there are changes.
phixflow-instance.xml
The new section for configuring the pepper alias is required.
<!-- The pepper key is instance specific so extra caution has to be taken when changing the pepper key value in keystore, changing the value in keystore will cause login issue for user's migrated to new password encryption --> <util:properties id="instanceProperties"> <prop key="pepperkey">pepperkey</prop> </util:properties>
The default value is pepperkey
. If you have multiple PhixFlow instances, each instance must have a pepper string and alias; see Considerations for Pepper Strings.
phixflow-datasource.xml
1. You can no longer specify the database username and password directly in phixflow-datasource.xml
.
If you have not already done so, you must add the database username and password to the keystore.
Specify the keys for the username and password in the new bean <bean id="externalCredential"
by replacing demo.
<bean id="externalCredential" class="com.accipia.centerview.util.ExternalCredentialProvider"> <property name="secretService"> <ref bean="secretService"/> </property> <property name="usernameKey"> <value>demo</value> </property> <property name="passwordKey"> <value>demo</value> </property> </bean>
2. In <bean id="dataSource"
- the class name has changed from
class="com.accipia.centerview.util.PhixFlowDataSource">
toclass="org.apache.commons.dbcp2.PhixFlowDataSource">
property name
andref bean
have changed fromsecretService
tocredentialProvider
andexternalCredential
respectively- the following lines have been removed, because they are now in the
<bean id="externalCredential"
:<property name="username">
<value>demo</value>
</property>
<property name="password">
<value>demo</value>
</property>
phixflow-login.xml
1. New <bean id="passwordEncoder"
specifies the encryption method for passwords; see Understanding Password Encryption.
2. New <bean id="securityQuestionEncoder"
specifies the encryption method for security question.
3. New <bean id="sameSiteCookieFilter"
. If you use SAML for login, uncomment this.
4. <bean id="exampleAuthenticationOnlySamlAttributeMap"
has an additional property: <property name="globalLogout" value="false" />
5. <bean id="idpFileMetadataProvider"
has additional property: <property name="requireLogoutResponseSigned" value="true" />
<bean id="passwordEncoder"
specifies the encryption method for passwords. For greater security, you can remove any encoders you do not require; see Removing Old Encoders.
phixflow-secret.xml
- The new
is required.<bean id="keyStoreSecretService"
<bean id="secretService"
has changed.
After restart, configure datasources and email accounts
For all datasource modelling objects and email accounts, upgrading to 8.3.0 will migrate all existing:
- datasource instances to Authorisation Type Local
- email accounts to Authorisation Type None
After the upgrade is complete and PhixFlow has been restarted, review each datasource instance and email account. For those that require a username and password, we recommend these are stored securely; see the release note on Secure Credentials for Datasource and Email Account.
- Save the username and password with their alias to the keystore; see Adding Data to a Keystore.
- In the properties for the datasource instance or email account:
- Set Authorisation Type External.
- Add the aliases to the Username Key and Password Key fields.
Discontinued Features
PhixFlow no longer supports:
- Tomcat 8.5.
- Microsoft Internet Exporer.
Please email support@phixflow.com if you are planning to run PhixFlow 8.3.0 on an unsupported version of a database or Tomcat.
DEV-7988 When accessing a datasource or HTTP datasource, you can no longer configure PhixFlow to pass the username and password of the current user; see Secure Credentials for Datasource and Email Account, below. The following properties have been removed.
- Datasource/HTTP datasource instance:
Use User Credentials on Export
Allow Anonymous Export
- System Configuration Allow anonymous export by default
DEV-7660 In a file collector, you can no longer select a File Type of HTML File. This feature was unused.
Changes to Privileges
- Removed
- Allow Anonymous updates on datasources: all access to datasource instances is now via specified user credentials; see Secure Credentials for Datasource and Email Account, below.
- New; see Restricting Access During System Maintenance.
- Restricted Login Only Usually for administrators. Allows PhixFlow login during system maintenance down-time.
- Restricted Login TaskPlan Processing Usually for administrators. Allows running a task plan during system maintenance down-time.
Features and Improvements
Performance
DEV-7454 After a server restart, PhixFlow automatically re-caches frequently-used models and dashboards in the background. Once re-caching is complete, the first user to access the model or dashboard no longer experiences a delay. The period over which PhixFlow tracks object usage is set in System Configuration Delete DTO Usage Records after Days. Upgrading to version 8.3.0 sets this option to 7 days.
Secure Credentials for Datasource and Email Account
DEV-7988, DEV-7934, DEV-7662, DEV-7988, DEV-7466 When accessing a datasource or HTTP datasource, you can no longer configure PhixFlow to pass the username and password of the current user. You must provide a username and password in the datasource instance. This applies to datasources and HTTP datasources. You now have the option to configure access to a datasource instance or an email account more securely. You can:
- either pass credentials stored in the PhixFlow database, using the properties:
- Authorisation Type Local
- Username
- Password
- or securely pass credentials from a keystore using aliases. Add the details to your keystore; see Adding Data to a Keystore. Then provide the aliases in the properties:
- Authorisation Type External
- Username Key
- Password Key
Email accounts can also have the Authorisation Type No Authorisation.
Improvements to Translation
DEV-7786 You can now configure translation of values displayed in a filter using the Show the list of values button. To translate these values, PhixFlow requires:
- a translation table for the logged-in user's locale and the current application
- the translation table has a translation string for the value
- the stream attribute property Translate Values to be ticked.
DEV-7588 There is a new translateTo function that you can use to translate values according to the application running and the language name supplied.
PDF Conversion
DEV-7930 PhixFlow can now convert exported Excel files into PDFs.
- Administrators must configure LibreOffice to be available: see Configuring PDF Conversion
- Data modellers can specify PDF conversion using the new file exporter options Convert to PDF and PDF Target Path; see File Exporter
- PhixFlow reports on PDF conversion processes on a new console tab called PDF Chore.
Restricting Access During System Maintenance
DEV-7918 In previous versions of PhixFlow, during system mainenance or upgrade, only administrators could access PhixFlow or initiate processes when the following system configuration options were selected:
- Restrict non admin logins only
- Suspend processing for non admin users
These options have been changed so that access can be granted to other roles or user groups. For example a PhixFlow consultant may need access. To support this:
- Restrict non admin logins only has been renamed to Only allow users with the restricted login permission to log in.
You must add the new Restricted Login Only privilege to the Administrators role, and any other role or user group that requires access. - Suspend processing for non admin users has been renamed to Only allow users with the restricted permission to run task plans.
You must add the new Restricted Login TaskPlan Processing privilege to the Administrators role, and any other role or user group that needs to run processes, such as analysis or task plans, during system maintenance.
There are also dto usage and rebuild options in the server.properties configuration file related to database management.
# the dto usage service polling interval in ms dtoUsageService.pollingInterval=60000 # the dto rebuild service polling interval in ms dtoRebuildService.pollingInterval=60000 # the dto rebuild service delay before building the dtos dtoRebuildService.dtoRebuildDelay=300000
For more details, see Restricting Access During System Maintenance.
Improved Security and More Use of Keystore
DEV-7935 phixflow-datasource.xml now requires keystore aliases rather than the PhixFlow database credentials.
DEV-5937, DEV-6604 To improve security, any new or reset user passwords and security answers will be one-way encrypted using BCrypt. In addition, the password encryption uses a pepper string. See the special instruction Add a pepper string to the keystore, above, for details of how to set this.
We recommend users reset their passwords and secure answers as soon as possible; see Understanding Password Encryption.
DEV-7797 Changes to the keystore no longer require PhixFlow to restart to take effect. By default PhixFlow rechecks keystore values every 10 seconds.
Other Changes
DEV-7645 From a file exporter or task plan, you can now send HTML emails. Tick Email as HTML and include HTML tags in Message Expression. This means you can format the email text and include links.
DEV-7579 For grid views, you can now use an expression to determine whether or not an attribute's field is displayed: Grid View → Hide if evaluates to True; see Stream View.
DEV-7585 Styles now have a DateTimeFormat, which is applied to grid columns when triggered by a formatting rule; see Style.
Bug Fixes
DEV-7812 In the user group properties → Users section, the list displayed by the Show Users button now includes mixed and external users, not just local users. For information about user types, see the User page.
DEV-7877 When you change a user account from local to mixed, PhixFlow now deletes the security questions and answers, as they are not required. For information about user types, see the User page.
DEV-8030 You can select the text of error messages even when there is a network error.
DEV-7974 On a layout template, using the Display option no longer occasionally displays a white screen.
DEV-8061 When Tomcat is restarted local users will now remain logged in.
Please let us know if we could improve this page feedback@phixflow.com