Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 84 Next »

Introduction

PhixFlow is pleased to announce the release of PhixFlow Version 9. This page describes the improvements and fixes in this version. This major release includes some important changes.

Major New Features

Full details of the major new features introduced into the product provided on our website with an accompanying video. This can be found here:

Major Changes

Several changes have been introduced as part of the Version 9.0 improvements, these will affect both PhixFlow Designers and those using PhixFlow Application Users. Full details can be found on our website, along with supporting material to help inform your users of the changes. See here

Terminology Changes

The following terminology has been changed in PhixFlow to make everything easier to understand.

Previous TermNew Term
DashboardScreen
StreamTable
Stream AttributesAttributes
Stream ItemRecord
Stream SetRecordset
Stream ViewView
Stream ActionTable-Action
Stream Item ActionRecord-Action
Driver ClassDatabase Driver

Installing or Upgrading to PhixFlow Version 9.0.0

To install a new PhixFlow instance:

  1. Check System Requirements and Compatibility for details of the PhixFlow system requirements and update any dependencies. 
    1. Please email support@phixflow.com if you are planning to run PhixFlow 9.0.0 on an unsupported database version.
  2. Follow the instructions in Installing PhixFlow.

To upgrade an existing PhixFlow instance: 

  1. 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.
    1. Please email support@phixflow.com if you are planning to run PhixFlow 9.0.0 on an unsupported database version.
  2. Ensure you have a backup of the database before upgrading PhixFlow.
  3. 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.

  4. 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

Upgrading Step 8: Special Upgrade Instructions

Create new PhixFlow configuration files:

You must create new versions of the following configuration files in your ../webapp/WEB-INF/classes directory:

  1. logback.xml

  2. phixflow-datasource.xml

  3. phixflow-instance.xml

  4. phixflow-logging.xml

  5. phixflow-login.xml

  6. phixflow-secret.xml

     To do this:

  7. Rename your existing configuration files, for example by adding a .bak suffix.

  8. Follow the Install the PhixFlow Webapp instructions for creating a new file from the ".example" files provided. 

  9. Copy the individual values from your existing configuration files and paste them into the new files.

    1. Avoid copying entire XML blocks into your new configuration files, as you may overwrite a section of the configuration file that PhixFlow requires.

Discontinued Features

The following features are going Out of support:

The following are now deprecated/out of support:

  • Splitting Screens into separate elemets.

Changes to Privileges

New Privileges

Users

Logging

Styles

Other

Add and Delete Users from a User Group

Enable System Logging

Create Style

Create Applications

Create Users

View System Logging Configuration

View Style

Download Unlimited Data

Modify Users

Modify System Logging Configuration

List Style

Edit configuration

Delete Users


Modify Style

Cancel Tasks



Delete Style


Add these to administration roles

Add these to administration roles

Add these to application designer roles

Add these to application designer roles and administration roles

Privilege Changes

DEV-10901 Run Stream Actions has been renamed to Run Actions. Users require this privilege to run both stream actions (now called table-actions and record-actions) as well as the new actionflows.

DEV-10126 The existing View System Console privilege provides access to the system console and to rolling back a task. However, you now need the new Cancel Tasks privilege to see the option for stopping a running task. During upgrade, the new Cancel Tasks privilege is automatically added to any user who already has the View System Console and Run Analysis privileges.

If you have created an application user role, make sure you update it with any privileges they need; see Controlling User Access to Applications - HELPTRUNKR - Confluence (atlassian.net)
todo-fiona update the doc page - does phixflow make the app user now. Migration?I can't see any privileges the app user would need.

Improvements and New Features

Performance

DEV-7454 After a server restart, PhixFlow automatically re-caches frequently-used models and dashboards in the background. This means the first user to access the model or dashboard no longer experiences a delay as it is cached. The period over which PhixFlow tracks object usage is set in System Configuration Delete DTO Usage Records after Days.

Applications

Dashboards, layouts and layout components, styles, palettes, actions and context parameters.

DEV-9087 The user can now select attributes from the table and from related tables while creating a view on a form by dragging a Stream. *TODO Revise wording

DEV-7756  There is a new repository category, Layout Categories. You can configure areas to belong to a layout category then use it to set a Preferred Parent; see Component Categories and Preferred Parents. Where preferred parent areas have been configured, when you drag a component from the palette, PhixFlow can highlight the appropriate drop-areas on the screen. AG - I feel the sentence should be reordered to give some context to what Layout Categories are for, before explaining how they work.

DEV-7487 For a locked dashboard in design mode, no toolbar is displayed. Right-click either unlock or to see options to show information, such as properties and attributes. 

DEV-7313 For drop-down components in an application, when the user types into the drop-down list, PhixFlow automatically filters the possible options. The filtering-as-you-type has changed from being case-sensitive to case-insensitive. 

DEV-9605 Data views, form fields and card components can no longer have spaces in their names.

DEV-7907 Grid view components now have a Basic Settings → Default Page Size to set how many records are displayed in the grid.

DEV-9361 For data views, the attribute properties now include a Grid Settings → Minimum Width option. When PhixFlow adjusts grid column widths to make use of available space, the attribute's column will not become narrower than the specified minimum width.

DEV-8178 When dragging cards on a kanban board, PhixFlow displays the cards as you are moving them.

DEV-8273 In the Screen properties there are new Basic Settings options to specify a position and size for the screen. By default, new dashboards are set to Position: Floating. Alternatively, you can pin a screen to one of the window edges and specify the size using Width and Height options. Use the Pinned options to create a permanently visible screen. This is useful for a navigation area or toolbar that you want to be visible for all other screens. Floating screens do not overlap with pinned screens. When the user maximises a Floating screen, it expands only to the remaining space. 

DEV-9364 You can now use formatting rules with different background images to create true/false field components that look different to the default ticked/unticked box; see Making a True-False Component.

DEV-7386 To provide more control when you want to divide a dashboard, the pop-up menu options  Add Vertical Bar  Add Horizontal Bar have been replace with the options:

  •  Add area above

  •  Add area below

  •  Add area on right

  •  Add area on left

Styles

DEV-7698 If there is an error when PhixFlow evaluates a CSS Property expression on a layout component, the error message now includes the component name.

DEV-9364 You can now create a true-false (boolean) field with an image other than a tick box. Making a True-False Component explains how to use formatting rules and styles to do this.

DEV-7304 Palettes can now have grouped components, for example, the Theme 2 - App Builder palette, shown below. To organise your palette components into groups, use the palette properties → Palette Groups options.
              

DEV-10395 The Style properties → Justify now has the Space Evenly option for responsive sizing and positioning of components.

Actions

DEV-9554 Use the new button component option → Actions tab → Action Type → Maximise/Minimise Dashboard to toggle whether or not a dashboard is maximised; see ComponentIn a formatting rule, use the associated new  _screen internal variable to match the button icon to the current maximised state of the dashboard.

DEV-7591 You can now add drop-targets to individual area components. There is also a new variable, _dropPosition, which provides co-ordinates of the dropped item relative to the component on which it is dropped; see _dropPosition for details.

DEV-804 You can now configure event handlers for some components. This means an application can run a table-action or actionflow when the user mouse-clicks or presses the Enter key.

  • You can configure the following events on data field components:

    • OnEnter: the user presses the Enter key in a data field.

    • OnBlur: the user mouse-clicks out of a data field.
      The event is triggered whether or not the field has changed.

    • OnChange: the user mouse-clicks out of a data field in which they have changed data.

      Notice that this event is not triggered by the user typing into a field.

  • You can configure the following events:

    • OnClick: the user mouse clicks in an area or grid views

    • OnChange: any change to data in an area component

Analysis Models

DEV-10160 PhixFlow now requires all tables to have data retention configured. If no data retention option is set, PhixFlow records an error in the table's Error properties. If you do not want to specify the criteria for keeping data in the Keep... properties, set Data Retention > Retain All Data. However, table data will accumulate, which can lead to performance issues; see table Data Retention properties.

DEV-8272 PhixFlow now checks tables and view-attributes to ensure their properties are correct. If you need to correct the configuration, PhixFlow reports the issue in the Errors list. Application and package properties also have an Errors section, which lists issues with any table or attribute that they contain.
Note: The Errors section reports issues that do not affect processing. For example, the analysis process can run on tables that have no Data Retention property set. However, retaining all data can lead to performance issues, so PhixFlow records this as an error in the table configuration.

DEV-8297 Attributes from multiple tables can now be included in views. Often, the primary key attribute that links related tables has a unhelpful name, such as UID. You can now assign a different attribute to use as the Display Name. This acts as a label for the primary key when it appears in view components; see Attribute.

DEV-10617 In table properties (was stream properties) the Multipliers and Filters has been renamed to Analysis Options. The following options have been moved from the Basic Settings section into the Analysis Options section:

  • Enabled

  • Static Data

  • Period

  • Default Date Range

  • Stream Type

  • Supersede Items on Pipe

DEV-7738 In datasource properties, the Database Driver option now links to the driver properties.

DEV-7741 You can now add driver classes to an application or package.

DEV-1870 Pipes from transactional tables now always allow incomplete recordsets.

DEV-8783 In database collectors, the properties menu option  Run Query and See Result is now only present when the database collector is enabled.

DEV-10937 DEV-11115 As an alternative to using a keystore, PhixFlow can now record key/value pairs using a Secret Key and Local Secret. The value, for example a password, is stored encoded. You can refer to the secret key name using ${_datasource.secret-key-namein an HTTP Header → Value, or a HTTP Collector/HTTP Exporter → Statement Expression to provide a password to an external site. 

DEV-10938, DEV10943 To support secure storage of datasource details, both datasource and HTTP datasource modelling objects now have an Advanced → Internal ID property. You can copy the ID to use in a local secret. todo-fiona - Waiting on Gary for the options for doing this with a java keystore, or even where you would paste the ID

DEV-10944, DEV-10945 HTTP collector and HTTP exporter properties have been reorganised so that the commonly-used properties easy to access.

DEV-7870 HTTP collectors and exporters can now use the PATCH HTTP method.

DEV-10936 HTTP collectors now include JSON as a response type and JsonPath to enter an expression to process data from the JSON block.

DEV-11014, DEV-11131 To support data import from JSON, embedded expressions in HTTP collectors/exporters and headers must be enclosed in ${...}. For embedded expressions in other contexts, we recommend changing to ${...}, although {...} is still supported; see Embedded Expressions. As PhixFlow cannot include newlines in an attribute value it automatically replaces newlines in the returned JSON with a space. If you want the data to indicate where the newlines were, in the JsonPath expression, specify the escape character \n.

DEV-7601 In analysis models, new objects added using the pop-up toolbar are assigned to the same container as the analysis model.

DEV-9361 For grid views, PhixFlow determines grid and column width based on the available space. For grids that flex with window size, do not specify the Grid Default Width. Instead specify a minimum default width for view attributes. When PhixFlow adjusts the grid as a window is resized, columns will narrow to the minimum value specified. 

DEV-7039 Tables now have a Basic Settings → Default Data Range option in which you can select:

  • Latest: records from the latest recordset only

  • All: records from all recordsets. 

If a view does not have the default data range set, it defaults to using the setting in its backing table.

DEV-10388 The pipe property → Maximum Number of records per Group is no longer available on a pipe connected to a calculate table.



Common Features

DEV-8278 When you save a table or view attribute, PhixFlow now checks that their properties are correct and reports it in the Model Validation Status property. You can see a list of the checks and any corrections required in the Errors section of the Table or View Attribute properties. The Model Validation Status property in an application or package also indicates whether or not the contained tables and view attributes are OK. AG - Not sure I understand this? Todo-fiona: I've redrafted but need to go back to dev to fully understand this.

DEV-7359 You can mouse-over an expression in a property tab grids to see the full expression.

DEV-10019 There is a new text function, hash, which hash-encodes a string using the specified algorithm. It can optionally include a salt-string.

Administration

Users, permissions, security, configuration, installation

DEV-7539 PhixFlow now checks that a user account has a password when you enable it from the repository context menu, as well as from the properties tab.

DEV-7840 When you delete a user, their account no longer appears in the repository or in the user list. To display a list of deleted users, in the repository, right-click Users and select Show deleted Users

DEV-7644 The Administration menu option Other Options → Publish Streams now attempts to publish tables that have previously failed to publish, as well as publishing all other data to the PhixFlow database.

DEV-7561 The system console now shows progress messages when a table-action deletes items.

DEV-7524 There is a new option for administrators who need to perform system maintenance without PhixFlow running task plans. You can disable scheduled task plans:

DEV-7454 There is a new option, System Configuration → System Tuning → DTO Building Thread Pool Size. If there are issues with rebuilding the recently-used object cache (DTOs) on restart, PhixFlow support may advise you on how to tune this option.

DEV-8807 Setting a value for System Configuration File Download Expiry is now required. If you have not set a time, upgrading to version 9.0.0 will automatically show the default value of 24 hours.

DEV-7739 For driver classes, the Connector Jar File Location is now relative to the Database Driver File DirectoryYou can specify a specific jar file, or a sub-directory containing multiple jar files; see Database Driver.

DEV-7410 Driver classes now have and AdvancedDatasource Profile property. This can take the values:

  • default - for most drivers

  •  bigQuery - for Google BigQuery.

DEV-7354 When you add an application to the export window, PhixFlow prompts you to also add all of the application's packages.

DEV-6977 In an external user template, you can now specify a default Export Password Policy.

DEV-7663 Email accounts now have a Protect On Import tick box. With this option selected, the email account will not be changed or deleted when a different version of the account is imported from another PhixFlow instance.

DEV-7749 To prevent specific properties being overwritten by an import from another PhixFlow instance, the Protect on Import is now available for:

  • File exporter → Recipient ExpressionsTO, CC and BCC

  • Task Plans → Basic settingsEnabled, Scheduled, Suspend on Failure, Suspended and Schedule.

DEV-7329 The process of moving items between instances (export - import) can result in items referring to something that is not present in the target system. PhixFlow checks to make sure all references go to an item that will exist in the target system once the import is complete. If it finds that an item is missing, the import will fail. There are two ways to resolve this:
Use the console messages related to the import to identify which items are missing. The error messages include the field name of the item in the form object.field, for example UserGroup.users.
  - Either, in the source instance, redo the export, ensuring all the items are included.
  - Or, to force PhixFlow to complete an import that has an item missing, use the 
System Configuration → Allow Missing on Import option to specify the field name (object.field) of the missing items, then rerun the import.
TODO-Fiona Check with Eleanor 
You need to do more in the doc to help users figure this stuff out - How to

DEV-7086 Logging for emails records the date and time when they were sent or when sending failed.

DEV-10946 In previous versions, HTTP connection log files were truncated. Full details will now be logged, up to the System Logging ConfigurationMaximum HTTP Log Length.

DEV-5605 The Tomcat webapps folder now includes a readme file containing the PhixFlow product and package versions.

DEV-10937 (DEV-11115) As an alternative to using a keystore, PhixFlow can now record key/value pairs using a Secret Key and Local Secret. The value, for example a password, is stored and encoded. You can refer to the secret key name using ${_datasource.secret-key-name} in a HTTP Header → Value, or a HTTP Collector/HTTP Exporter → Statement Expression, to provide a password to an external site.Secret Key and Local Secret: re-copy the example phixflow-secret.xml and phixflo-datasource.xml files and copy the relevant values across - which values ? AG - There are changes to the configuration files for handling secrets in an encrypted manor, I believe this impacts phixflow-datasource.xml and phixflow-secret.xml. Gary Parden sent an email on the 17/03/2022 with details.Speak to ankur about cancel task permission on console.


Bug Fixes

The following issues have been fixed in this release:

Applications

DEV-7378 On a kanban board, a dragged card is no longer duplicated until the board is redrawn.

DEV-7489 Deleting layout components from the repository no longer times out.

DEV-7506 You cannot type into input fields until the form data has loaded. This prevents attempts to enter data that will be lost when the field is populated.

DEV-7509 For layout components, changes to CSS Properties are now listed in the Audit Summary.

DEV-7531 In a layout component, the default values will no longer be overwritten by an empty record.

DEV-7531 Layout component default values will no longer be overwritten if there is an empty record in the backing table.

DEV-7573 Formatting rules now refresh when you you select a date from a calendar.

DEV-7619 When a card component on a dashboard becomes hidden and then visible once more, as a result of changing context parameters, the correct number of cards will now be displayed.

DEV-7689 When working on a dashboard in Design Mode, right-clicking to open the context menu no longer starts dragging layout components.

DEV-7706 When a card container is nested within another card container, a double-click action on the nested card container now correctly calculates _form values.

DEV-8145 Adding an event-handler to a screen will update the screen automatically. For example, a double-click action added to a grid will work without needing to manually refresh the screen.

DEV-8367 Cached dashboards now keep the focus when they are reopened in the design mode.

DEV-8792 Fixed multiple problems with the Page Number field on a grid's paging bar including only allowing positive numbers.

DEV-9152 Palettes now automatically refresh when an item is removed.

DEV-9263 Screens now refresh any CSS transform property that relies on context parameters.

DEV-9268 Cards placed on Forms backed by Streams/Tables now correctly refresh all records.

DEV-9345 Palettes now correctly refresh after making any changes to them directly or to their elements.

DEV-9369 The need to close and re-open a screen after dragging a component with formatting rules using _field.value has been resolved. The formatting rule accepts the value immediately.

DEV-9569 The 'skip-to-last-page' feature is now working as expected on grid components.

DEV-9741 Pivot view menu options only appear on the right-click for pivot views. Previously these were displayed for all view types.

DEV-9800 Styles applied through formatting rules now correctly apply to selected states.

DEV-9825 Refresh actions now automatically refresh a view after an auto-save action.

DEV-9833 Columns in a grid that are unhidden will automatically display and no longer require a refresh.

DEV-9884 Show in Repository button removed from the application detailed list view.

DEV-9972 Card areas no longer have the Style → Auto Size property, as cards in a card area cannot be auto-sized.

DEV-10151 The case-sensitive flag has been removed from filter editors for PhixFlow instances running on SQL Server, as those filters are always case insensitive.

DEV-10162 Fixed the problem of entering a number larger than the number of pages in a grid, into the paging bar.

DEV-10167 Tabs now support having content dragged directly onto them, including tables and views.

DEV-10169 The help link provided in a Palette's header is now always displayed where a URL value is provided.

DEV-10176 Table view attribute formatting rule expressions will now treat a null value as true and the style will be applied.

DEV-10313 Improved the paging bar for grids and card containers to ensure the correct number of records is displayed in the count.

DEV-10331 Formatting rules now apply correctly to grid cells.

DEV-10441 Editing form fields will now drive other screen content, such as grids, to refresh.

DEV-10475 For a column backed by a view, if the view is renamed, the values in the column filter can now be selected and applied.

DEV-10524 Fixed problem with Grid Header button style not being applied using a grid style.

DEV-10876 The selection highlight is now correctly displayed around layout components that are on the edge of the screen.

DEV-11434 Fixed issues with creating Grid Menus through the Table View Editor.

DEV-11483 Read-only checkboxes in property editors will now have a different mouse cursor.

DEV-11554 The read only CSS property will now be correctly applied to Boolean fields on forms.

DEV-11566 Decimal places are no longer permitted in integer fields.

DEV-11603 Filters added from a Stream View's list are now correctly added to the Stream View.

DEV-12125 Field Containers can now only have Attribute names which start with a letter an only contain alpha-numeric characters or an underscore.

DEV-12410 When creating background filters (by dragging a grid header onto another grid) the user will be asked which attribute to use when the target view is backed by a Query.


Analysis Models

DEV-2354 Using a database reserved name as a view attribute name no longer causes an error.

DEV-4503 Renaming a attribute now properly refactors output multiplier expressions in a different table that is linked by a pipe.

DEV-7409 Using a positive offset push pipe to force an analysis run to repeat, now correctly creates recordsets up to the pipe's Max Stream Sets value on every analysis run, not only the first run.

DEV-7727 Lookup pipes can now be used in datasource instance expressions.

DEV-7728 For a datasource with Protect during import ticked, PhixFlow no longer incorrectly renames datasource instances.

DEV-7729 For non-transactional recordsets, the Rollback All Data option for a log file now runs rollback on all recordsets, not just the recordset related to the log.

DEV-10161 Improved error handling when importing a file and the data in a column exceeds the maximum length specified by the PhixFlow attribute. The target attribute's expected length is now stated in the error message.

DEV-10192 Fixed problem with table icons not refreshing on Analysis Models after the Stream's type is changed.


Common Features

DEV-7642 View properties have been corrected so that Show Paging Bar is only available for grid views.

DEV-7765  Adding a sort order via a view no longer causes an error.

DEV-8656 The issue of NaN showing in the Page Number field on grids has been resolved.

DEV-10201 The date-time column in the console log can now be resized.

DEV-10850 The Sequence editor now shows the parent container.

DEV-11746 Updating the logged-in user no longer requires a logout and back in to apply the updated properties.

DEV-118877 When a large number of warnings or errors are displayed the count will now display correctly with all numbers being clearly visible.

DEV-12153 Error messages produced by PhixFlow have been updated to use the latest terminology.


Administration

DEV-6944 When import deletes a sequence, all references to the sequence are now correctly deleted from memory.

DEV-6951 If an import size exceeds a limit on the server, PhixFlow now reports an "upload too large" error.

DEV-7270 In the console, a system task now shows as failed if it fails to archive log files.

DEV-7932 The export policy set in the system configuration is inherited by all users. Previously it was incorrectly using the standard password policy.

DEV-11557 In the user properties, the security questions are now removed for external users and those in mixed mode as they are irrelevant for their configuration.

DEV-11746 Updating the logged-in user no longer requires a logout and back in to apply the updated properties.



  • No labels