PhixFlow Help

Release 7.4.0

Introduction

PhixFlow version 7.4.0 introduces exporting to multiple tabs in excel, along with performance improvements in the design component on the new GUI.

At this version of PhixFlow, the old flash-based GUI is still available.



Contents



Installation and Upgrade

To install a new PhixFlow instance, follow the standard installation instructions.

To upgrade an existing PhixFlow instance (called CenterView before version 7.0):

  1. First review Compatibility Guide and Upgrade Planning to check any changing requirements for database versions etc.
  2. Follow the Standard Upgrade Instructions plus any special instructions for all intermediate releases listed in Compatibility Guide and Upgrade Planning.

Special notes

Excel File Collector

Excel File Collectors that specify the worksheet to read in the Excel Data Range Expression must now quote the worksheet name if it contains spaces and/or single quotes. This is not handled automatically by the upgrade process. See here for details.

Oracle - edit phixflow-datasource.xml

If you are using Oracle, configuration imports can sometimes fail with this error:

ORA-22275: invalid LOB locator specified

To resolve this, you will need to edit your phixflow-datasource.xml file. This only affects upgraded instances, if you are creating a new installation, no changes are necessary.

The update required is to set the property hibernate.jdbc.batch_size to 1. To do this:

  • Find your phixflow-datasource.xml file; this will be at: [tomcat home]/webapps/phixflow/WEB-INF/classes/phixflow-datasource.xml
  • Find the line
<prop key="hibernate.jdbc.batch_size">1000</prop>

and update this to

<prop key="hibernate.jdbc.batch_size">1</prop>     

This will leave you with:

	<bean id="hibernateProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
	 	<property name="properties">
			<props>
				<prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
				<prop key="hibernate.order_updates">true</prop>
				<prop key="hibernate.jdbc.batch_size">1</prop>			
			</props>
	 	</property>
	</bean>



Deprecated Features

Graphical User Interface

The current Graphical User Interface (GUI) is supported in this release, but will be removed in a future release.

The following features are not supported in the new GUI, and will be removed when the current GUI is removed.

Alarms & Alarm Generators

WorkFlows

We recommend that users do not use these features for new work, and plan to replace them in existing configurations.

Database

We are planning not to support the following old database versions in releases after 31st March 2018. Please contact the support desk if you are currently using any of these versions and are not planning to change by then. We'll plan continued support if needed with your input.

Oracle 11g

SQL Server 2012

MariaDB 10.0



Features and Improvements

Export Excel File with data from multiple sources

File Exporters now provide a new file type: Excel Spreadsheet (Multiple Inputs). This supports exporting data from multiple input pipes to a single Excel spreadsheet. The export must still be triggered by a push pipe, but can now read data from other input pipes. The exporter must have an Excel template which is annotated to define which pipe data is written into each region of the template.

The Excel Template field is now an expression with access to the Input Multiplier value, which allows the exporter to use different templates for different exported files in a single exporter run.

Easier configuration for simple edit forms (CRUD)

A set of changes now make it simple to create CRUD (Create - Read - Update - Delete) forms to enter and maintain data.

Add types to form buttons

Buttons added to forms can now have one of five predefined types:

  • INSERT
  • UPDATE
  • DELETE
  • CLEAR
  • GENERAL

The INSERT, DELETE and UPDATE types will cause the buttons to behave as if they had a predefined action attached with the same stream update action and, in the case of insert and update, the Copy Values by Name (see below) option ticked without actually having to configure and attach such an action. The stream to which this will be applied is the stream associated with the outermost area of the form.

You can define a button as INSERT, DELETE or UPDATE and then also attach an action. This might be needed, for example, if you want to carry out some validation logic, display confirmation messages, completion actions or to calculate some specific values for fields. In this case, the button will run the action but the type of the button (i.e. insert, delete or update) will override the corresponding setting on the action and the stream associated with the outer area of the form will override the stream specified on the action. The value of the Copy Values by Name field will be taken from the attached action.

Setting the button type to CLEAR means that the button will clear all of the values from the form fields. This can be useful if you want to use the same form for updates and insert and allows you to clear any values from the form prior to the next insert.

Setting the type to GENERAL means that the button will only perform the action that has been attached to the button.

Auto increment UID on CRUD actions

If you add an integer attribute called UID to your stream then any insert stream actions (i.e. inserts initiated manually by menu items on grids or buttons on forms - NOT by analysis models) will automatically assign a unique number to the UID field.

Auto view refresh after simple edits - Auto refresh after CRUD updates

After performing an INSERT, UPDATE or DELETE action (see above), forms and grids will now auto update according to the following rules:

  • The form on which the button was pressed will:
    • clear itself for a DELETE
    • refresh itself with an up-to-date copy of the record for an INSERT or UPDATE
  • Any grid showing data from the same stream as the record updated will refresh itself, and the grid selection will change to the newly inserted or updated record

Note that form and grid refreshes for GENERAL actions will be same as before.

Automatically audit CRUD changes

In previous releases any stream item updates carried out by stream actions were carried out directly on the stream item. Any deletes completely removed the record, updates changed the record in its current stream set and inserts would be placed directly into the most recent stream set. No audit trail of these changes was kept.

For transactional streams, you can now tick a box on the stream called Audit Changes which modifies this behaviour. If this option is selected, updates and deletes initiated by stream actions (not those carried out by analysis runs) will then automatically mark the existing record as superceded and create a new stream set; the new versions of the updated records will be placed in the new stream set.

Inserts will simply create a new stream set, and add the inserted record into that stream set.

If you tick the Audit Changes box then your stream MUST contain a string field of at least length 10 called UpdateAction (with exactly this capitalization). This field will be set to indicate the type of action taken i.e. INSERT, UPDATE or DELETE.

For a DELETE, the new version of the record will also be marked as superceded.

You can also add some optional attributes to the stream which will then also be automatically maintained during updates. These are show below (and again the exact capitalization is important):

  • UpdatedByName: the name of the user that performed the update
  • UpdatedByID: the internal id of the user that performed the update
  • UpdatedTime: the date and time the update was made

Improvements to performance of modelling in new GUI

A number of changes have been made to improvement performance in the new GUI while modelling.

Easier application development

In addition to the introduction of quick configuration for CRUD forms, a number of changes have been made to make creation of applications quicker and easier:

Stream view styling

You can now specify styles which will be used for displaying data grids. Those styles can be set on:

  • System Configuration
  • Application
  • Stream View

Styles available:

  • Grid Header Style
  • Grid Header Button Style (applies to action buttons)
  • Grid Header Icon Style (applies to standard PhixFlow buttons, e.g. filter, sort order
  • Grid Header Dropdown Button Style (buttons that open menu lists)
  • Grid Header Dropdown Pane Style (menu lists)
  • Grid Paging Style (the paging bar)
  • Grid Row Style
  • Grid Column Header Style

Drag column headers onto buttons to create a context parameters

You can now drag a column header onto a button to create a context parameter with the same name, and the value of the attribute from a selected record, in the underlying action.

Quick create for dashboard open button

You can create a button to open a dashboard in any of the following ways:

  • Drag a dashboard onto a view header
  • Drag a dashboard onto a form
  • Drag a dashboard onto a button; this will add a rule to the action behind the button, which opens the dashboard
  • Drag a dashboard onto an area

Quick create for drop-down

You can now drag a stream view onto an Input Field or a Field Container. This will convert the field/ container to a Drop Down showing the view.

Copy by value option on stream actions

There is a new option on stream actions that update stream items called Copy Values by Name. If this option is ticked, if the action is performed from a form, any values on the form will be copied onto the stream items being updated. This is unless there is a specific stream action attribute for that field, in which case the value calculated by this attribute will be used instead.

This means that if you drag a new stream attribute onto your form, then the values entered into that field will automatically be copied to the underlying stream item by insert or update actions. You do not have to create specific stream action attribute expressions for the new field on each stream action.

Automatically pass through previous context variables

There is a new tick box in the Context Parameters section of the stream action editor called include previous context parameters. If this is ticked, any action on a dashboard will automatically pass on any context parameters sent to the dashboard when it was opened. This is unless the action also specifies a new context parameter of the same name.

Reference new form data using _form

When creating stream action expressions or formatting rule expressions you can now refer the fields on a form using the internal variable _form. This allows you to refer to fields on a form that includes a button for this action, rather than specifying the name of the dashboard element.

New views/forms for transactional streams show all data

When you drop a transactional stream onto a dashboard area to create a view, the dashboard element is set to show all stream sets.

Similarly, when you drop stream attribute from a transactional stream onto a form on a dashboard, the dashboard element is set to show all stream sets.

Use context variables if no backing record

When you pass context variables to a dashboard that contains a form, the context values will be used as default values for any form field with the same name. If a record is also retrieved from the server then the values of those attributes on the record that match the field names on the form will override the default values taken from the context variables - even if the value on the record is null.

Miscellaneous

Empty menus made larger

Added minimum width and height for drop-downs, so they are visible even if the user does not have privileges to see any of the items in the drop-down.

Exclude superceded records by default

New configuration flags have been included to make it easier to manage the flow and display of superceded records from self-updating streams.

Previously, if you had a stream with superceded records, any reads from that stream - through output pipes or in views - would include those superceded records by default. To exclude them you would have to add a filter.

In most cases you do not want to see the superceded records - generally, they represent the audit trail of old versions of records. These records will now be excluded by default unless you tick the Include History Records flag.

In analysis models this tick box is found on the pipe. For stream views, the tick box is found on the stream view itself, but can be overridden on dashboards by:

  • ticking the same option on the dashboard element details (if the stream view is attached directly to the dashboard) or,
  • on the stream view layout component (if the stream view is embedded in a form)

Custom fields can be referenced in dashboards

Custom fields (not backed by stream attributes) can be referenced on dashboards, i.e. used in filters, actions.

Display dashboard description from icon in open dashboard

Dashboard icons in open dashboards now show the dashboard description when the mouse pointer is over the icon. Previously, this just showed when a dashboard was hovered over in the list of dashboards in the repository browser.

Show click immediately on submit buttons in old forms in new GUI

Submit button is greyed out immediately in old forms, in the new GUI, after being pressed.

Specify styles for old forms

System Configuration has two new fields:

  • Form View Header Style
  • Form View Content Style

These allow styling of old forms.


Bug Fixes

Filter conditions now draggable

Filter conditions were not draggable in the filter builder. This has been fixed.

CSS Properties are now ordered

CSS properties were not ordered.

Can delete stream views created by dragging streams onto dashboards

An error was generated while deleting a stream view created on a dashboard by dragging a stream onto the dashboard. This has been fixed.

Can now refactor with dangling input pipe

If a stream had a pipe with nothing on the other end - i.e. no input stream or collector - it was not possible to change the names of other pipes or stream attributes. This has been fixed.

No unfriendly error message on drop-down after multiple select

An unfriendly error message was thrown when the user selected multiple records in a driving view, opened a form then tried to open a drop-down. This error will no longer be thrown.

Fixed historic migration issues

In particular:

  • DROP_DOWN_MAPPING.PARENT_ID should be nullable; in some upgraded instances this was not correct
  • ORDERED_AREA.LAYOUT_TYPE should be nullable; in some upgraded instances this was not correct.

_prompt filters no longer causes views to minimise and not close

Fixed problem when calling _prompt filter could cause view to minimise, and not be closable.

Password reset link no longer gives 404

Fixed bug with invalid password reset URL when application name was not provided.

Standard error no longer appears on top of action validation error

If you throw an error in a stream action, using the error() function in action validation, the user now only sees the error message you throw, and not the general task plan failure message.

Stream actions now show errors caused by configuration

Stream actions now correctly show configuration errors.



Please let us know if we could improve this page feedback@phixflow.com