PhixFlow Help

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 12 Next »

PhixFlow

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.


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 12c - edit phixflow-datasource.xml

If you are using Oracle 12c, 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>

Contents



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

The following database versions will not be supported after 31st March 2018:

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:

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 - even if the value on the record is null.

Throw an error if two dashboard elements/streamViewLayoutComponents with the same name

You will now receive an error message when running an update action if two elements on a dashboard have the same name or if an element name clashes with the name of a lookup pipe on the stream being updated.



Other


Charts show spinner while updating

Charts are now showing spinner while updating

Empty menus made larger

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

Superceded flag on pipes

New 'Include Superseded' flag on pipes. If ticked, the result will include superseded records. Otherwise they'll be filtered out.

=============================================================

Previously if you had a stream with superseded records in it then any reads from that stream, e.g. on pipes in analysis models or when refreshing stream views, would include those superseded records by default. To exclude them you would have to add specific filters to do so.

Since in most cases you do not want to see the superseded records (as in most cases they simply represent the audit trail of old versions of the record) these records will now be excluded by default unless you tick the 'Include Audit Records' box.

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 overriden on dashboards by ticking the same option on the dashboard element details (if the streamview is attached directly to the dashboard) or on the stream view layout component (if the stream view is embedded in a form).

Allow custom fields to be referenced in dashboards

Custom fields (not backed by a 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 hovered over. Previously, this just showed on dashboards in the list of dashboards in the repository browser.


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

Submit button is grayed out after submitting a form.

Specify styles for old forms

System Configuration has two new field: Form View Header Style and Form View Content Style. They allow to specify styling of old forms.





Bug Fixes


Text input slowed down while modelling

While modelling, text fields in configuration forms could become slow when a large number of editor windows were open. This has been resolved.



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.


Error when deleting View that is automatically created

Fixed bug with an error while deleting a Stream View created on a dashoard by dragging a stream onto the dashboard

Actions with no context variables defined now have a context

Fixed bug whereby the dashboardToOpen context parameter is always set on the return from an action.

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

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


drop_down_mapping.parent_id is nullable in migration scripts, not nullable in fresh install

Migration not setting ordered_area.layout_type to nullable


_prompt filters causes views to minimise and not close


Fixed problem with calling _prompt filter from a standalone Stream View

Password Reset Link gives 404

Fixed bug with invalid password reset url when app name was not provided




Standard error appears on top of action validation error

If you throw an error in a stream using the "error" function the user now only sees the error message you throw and not the general task plan failure message.

Stream actions not showing errors caused by configuration

Stream Actions correctly show configuration errors



  • No labels