Versions Compared

Key

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

 

These release notes are for PhixFlow 56.90.0.

This release is for Oracle, SQL Server andMySQLand MySQL.

 

...

Contents

Table of Contents
maxLevel3

...

To upgrade an existing PhixFlow instance, follow the Standard Upgrade Instructions plus the special instructions for all intermediate releases.

This release includes these has no special instructions.

Prerequisites

This PhixFlow release requires:

...

  • Oracle 11g or 12c (preferred)
  • SQL Server 2008R2 or later
  • MariaDB (MySQL) 10.0.14 or later

 

...

Features / Improvements

Applications

The user can now set up multiple applications. 

Every application can have its own set of menus which can be displayed at the top of the screen. Menu can be set as a default for desktop devices and for mobile devices. The appropriate menu will be displayed according to the user's device. If only one menu is specified, it will be the default for desktop and mobile. 

Users can also choose any other menu from the new list of Applications and Menus available through the new icon at the top left corner of the screen. The list allows launching Applications using the same window, new window or new tab (available through the context menu - right-click).

Another way of launching selected Application and Menu is typing its name at the end of the URL and prefixing them with the '#' character. The Menu name should be separated by the '/' character. An example URL would look like: 

As there are new functionalities which can be accessed by manipulating the application URL it is important to remember about the sequence of using new URL attributes:

  1. design=true and design=false must be typed right after the default PhixFlow URL and be prefixed by the ‘?’ character.
  2. #ApplicationName/MenuName must be typed at the end of the full PhixFlow URL.

 E.g.

Assume in these examples that the default PhixFlow URL is  www.phixflowexample.com

Design / App Mode

A new button is available under the User menu (top right corner). It allows switching between a Design and App mode. 

Design mode allows the user to see design functions of PhixFlow, the toolbar on the left in particular. 

App mode hides configuration features of PhixFlow. 

The default mode of the user can be set through the user editor. 

Users need to have a permission in order to use the design mode. If the user has no permission to use the design mode, the app mode is launched. 

The selected mode can be specified also through the URL, by adding a "design=true/false" attribute. A list of attributes should be prefixed with a '?' character. For example: 

Dashboards

Resizing Dashboards

Dashboards can now be set up so that their content automatically resizes as the Dashboard resizes. This means that Dashboards can be configured so that end users can adjust the size of the Dashboard for their screen and the contents will adjust their widths and height automatically.

The new options are available through the context menus on the Dashboard background pane and on Dashboard contents. The options allow the user to divide the Dashboard up into multiple resizing or fixed width/fixed height panes and then specify whether items placed inside the panes should be maximized or should have absolute positions and dimensions. 

Context Menu options are:

  • Add Vertical Bar: Splits the pane left and right
  • Add Horizontal Bar: Splits the pane top and bottom
  • Delete Pane
  • Layout Options: Opens a form allowing the user to specify
    • Maximize the pane content
    • Fix the pane width
    • Fix the pane height

Maximizing Dashboards

Dashboards can now be set to open in a maximized state by default. The option is available through the Dashboard editor.

Views

Pivot Views

It is now possible to configure a 'pivot table' stream view in which values in a nominated value attribute are broken out into one of many view columns based on the value in a nominated pivot attribute. 

The pivot view columns can be

  • all values in the view data
  • the result of an expression (which can in turn refer to a lookup pipe on the source stream)

The latter method allows more control over the order of columns and the ability to present columns even if no data values are present.

Pivot column headers can be derived automatically from data values using date/time and number formats on the view attributes, or from label attributes.

Grid Views

The "Grid" Stream View definition form now shows all properties of the view attribute (not just its name).

The Stream View Attribute definition form now shows a box indicating the size of the field on a form i.e. there is now a visual indicator of the meaning of a width of (say) 100 pixels.

Selection Views

Selection Views now use the selected attribute instead of first attribute of the view. 

There is a new 'Show Attributes' option in the Stream Views list context menu which shows Attributes of the selected Stream View.

Streams

Stream Index Scheme

It is now possible to change the stream index scheme while the stream contains data. Changing the index scheme optimises the stream for reading from individual steam sets or from all stream sets.

Changing Stream Settings

The restrictions on changing the properties and/or attributes of existing streams are now based on whether the stream actually contains data records rather than whether the stream has any stream sets. This means that it is now possible to roll back a stream without deleting stream sets, then change any stream property or attribute property.

Collectors / Exporters

Excel File Exporter

DATE and DATETIME columns are now exported to Excel in the same format as they appear on the Stream View.

Scripting

Internal Variables

General Variables

Instance name is now accessible in all expressions as _system.instance

File Collector Variables

Internal variables are now available also from normal File Collectors: 

  • _fileName
  • _modifiedDate 
  • _path 
  • _rootDirectory 
  • _subDirectory 
  • _size 
  • _lineNumber - not available in 'File Details Only' File Collectors 

See here for details.

Functions

curValue() and nextValue() now take expressions, not just literal values.

System Administration

Email Account Configuration

It is now possible to manage email accounts through the graphical user interface. These accounts are used by PhixFlow to send and receive emails.

To administer email account, select 'Manage Email Accounts' under the 'Admin' menu; this opens a list of Email Accounts which allows the administrator to add, update, test and delete Email Accounts.

Outbound Accounts

Outbound accounts are used to send emails from PhixFlow. There can be only one enabled outbound account at any one time.

Inbound Accounts

Inbound accounts are used to fetch emails. There can be more than one active inbound account.

Upgrade

...

Cleanup Configuration

The 'Repair Configuration' admin function has been renamed to 'Cleanup Configuration'.

Privileges

The list of Privileges is now sorted alphabetically.

System Indexes

Indexes and primary keys on core tables have been reviewed and deleted / added where appropriate.

 

Bug Fixes

Graphical User Interface

Fixed bug with possible GUI locking while having some configuration windows opened.

Dashboards

Correction to 5.5 to 5.6 migration script for Oracle based instances. Default Dashboard filters are now being restored during the upgrade.

Dashboard object background filters now set driving-driven links correctly.

Views

Fixed bug with the not populated filter list on the view configuration screen.

Filters

Fixed bug with a stream filter with an 'is in' condition generating invalid sql if the list of values on the right-hand side of the condition is zero-length.

Streams

Stream Publishing always checks for existing data before applying changes.

Stream Publishing no longer incorrectly identifies all integer stream attributes as changed and if the stream is marked as having no data.

Corrected possible issue with the handling of failed streamsets generated by a different instance of PhixFlow.

Fixed bug with rollback on self-updating stream selecting all streamsets.

Collectors & Exporters

Fixed bug with CSV and Excel file collectors failing if there were more columns in a file than expected.

Fixed bug with exporting floating point numbers to Excel.

Actions

Fixed a floating digit issue during the update action.

Refresh on Completion

Whether a stream action caused its invoking view to refresh on completion or not was changed at release 5.6.0. In earlier releases it was implicit, and from 5.6.0 onwards a refresh had to be explicitly requested by adding the action to the list of view refresh actions.

The migration scripts from 5.5.1 to 5.6.0 attempted to create the necessary view refresh actions, but failed in the case where a view referenced the same action more than once. This problem is fixed in the 5.6.0 migration scripts in this release.

Export / Import

Fixed bug with failing model import.

Scripting

Fixed bug with ifNull function not returning list properly.

concatenateList now correctly casts single values to lists.

Logging

The System Logging Configuration window shows the 'Log Exporter Statements' tick box correctly.

User Administration

Fixed bug with the user updating error while the user has some passwords archived more than a year ago.

Fixed bug with the visible password length of other users

Other

Fixed bug with the alphabetic lists sorting on the Oracle database.

...

Installation

The Java installer has been extended to create and populate the database tables, and to set the customer name (needed to match the licence key which is installed through the graphical user interface).

It is still necessary to use sqlplus / sqlcmd / mysql (or other tools) to create the database or schema.

See Installation and Upgrade for details.

Actions

Stream Action Lists will show the Action full name (with a parent Stream name included) when they come from different Streams.

The 'Result Includes Warnings' and 'Result Includes Error' check boxes are now ticked by default while creating a new Stream Action. 

Forms

Fields on user-configured forms can now be explicitly set up as multi-line or single line.

Pressing the Enter key when entering data into a multi-line field inserts a carriage return character.

Pressing the Enter key when entering data into a single-line field is equivalent to pressing the OK button.

Previously all fields on user-configured forms were multiline.

Views

Views can now contain local attributes.

Pipes

Lookup Pipe Result Caching

Lookup pipes cache their results read in memory in order to reduce the number of database reads.

These cached results are subject to a limit on the number of records cached, but in previous releases

  1. this limit was only applied to previous cached results, never to the result just read, and
  2. if the pipe Cache Size was blank, no limit was applied.

This could result in reading too many records into memory, resulting in excessive garbage collection and loss of service.

At this release,

  1. there is always an effective pipe Cache Size; if the Cache Size on the pipe is blank, the System Configuration Default Pipe Cache Size is used.
  2. The pipe Cache Size limit is applied as the result records are being read into memory.
  3. There is an overall Maximum Pipe Cache Size in System Configuration; setting the pipe Cache Size greater than the maximum will cause the lookup to fail with an error.
  4. There is an Enforce Pipe Cache Size check box in System Configuration. If checked, pipes that exceed their cache sizes will fail with errors; if not, they will generate warnings.
Warning

If you have migrated from an earlier version of PhixFlow,  Enforce Pipe Cache Size is set to unchecked so that incorrect pipe Cache Size settings do not cause existing models to fail.

We recommend that you correct the pipe Cache Size settings using the generated progress and warning messages as a guide and set Enforce Pipe Cache Size to checked at the earliest opportunity.

Directed Pipe Strategy

The constraints on the use of the Directed Pipe Strategy have been relaxed.

It is no longer necessary for a Merge Stream to have at least one Mandatory Non-Directed Pipe. Instead, a Merge Stream that has any Directed pipes must have at least one non-Directed pipe.

Note that the Mandatory flag on a Directed pipe has no effect.

Connectivity

Database Exporters

Cancelling a database export now stops the export rather than allwing it to run to completion.

It is now possible to set a limit on the number or error messages that a Database Exporter can generate. See System Configuration for details.

Email Accounts

An inbound Email Account can be configured to delete messages from the mailbox after they are downloaded. Messages can be deleted immediately or after selected number of days.

File Collectors

File Collectors now respond more quickly to Task Cancellation.

Scripting

"_outputMultiplier" has been added as the supported and recommended way to refer to attributes created by setting  an output multiplier (instead of "_type", which still can be used).

System Administration

Diagnostics

Changes to the server logging settings in log4j.properties now take effect automatically (after a few seconds) without having to restart the Tomcat server.

Processing Statistics

PhixFlow generates processing statstics which are saved to the database. These statics are for use by administrators and designers who are tuning for performance.

The following stats are recorded:

Activity Stats for Taskplans started and actions triggered and also stream write.

See Processing Statistics for more information.

Reset Configuration

In order to reset the system configuration, you must now

  1. Open the System Configuration form (Advanced tab) and click on Allow Reset Configuration, then (within 5 minutes)
  2. Click Admin->Reset Configuration.

See Reset Configuration for more information.

Performance

Improved performance while doing analysis which generates lot of log messages (>1000).

 

...

Bug Fixes

Graphical User Interface

Fixed: using the date picker form to select the 31st day of the month actually selected the 1st day of the month.

Various minor fixes / improvements.

Views

Aggregate views with only one attribute (e.g. summation of an amount on an attribute) now work for PhixFlow instances installed on SQL Server.

It was previously possible to attempt to 'Edit' a Stream's Default View, even though this Edit generally failed because the View doesn't actually exist in the database.

Streams

Values saved to 'Date' type stream attributes now have their time parts set to 00:00:00.

When creating a Stream directly from a File Collector, missing Attribute sizes are set to suitable default values.

Publishing a stream failed on SQL Server if the stream table existed but had no primary key constraint.

Publishing on MySQL always failed.

Analysis

Re-booting Tomcat during Analysis, the re-running Analysis to recover sometimes caused a pipe to read the wrong data.

Collectors & Exporters

Database Collectors & Exporters

SQL Comments now only apply to the current line the comment is on, not to the remained of SQL after the comment line.

If an Excel File Collector range expression is invalid, the file collector now reports the error and stops; previously the failed range expression was ignored and data was collected as though no range expression had been set at all.

Excel File Collector : improved handling of error conditions and exception values.

Fixed: Exporting the data visible in a Stream View caused all stream sets in the Stream to be exported.

Internal variables _worksheet and _range, which are set when reading from an Excel File Collector, are now correctly validated in Stream Attribute expressions.

Email Accounts

The Email Account Test button didn't work for imap/imaps accounts.

Scripting

Functions

listToString

The interpretation of 'ignoreNullsFlag' was reversed. 'ignoreNullsFlag' now behaves as documented: 0 means treat embedded null values as empty strings, 1 means treat embedded nulls as though they were not in the list at all.

dateAdd, dateSet, getDayOfWeek, getDayOfYear, getMonth, getYear, timeBucket, timeSlots

Improved handling of null values.

Logging

Cancelled tasks are no longer logged as errors to the server log file.