File Exporter

Overview

Use a file exporter to create files with a format that matches that of the input table and optionally send an email.

To add a new file exporter object to an analysis model:

  1. Go to the model's toolbar → Create group.
  2. Click  File to expand the menu.
  3. Drag a  File Exporter onto the analysis model.

To add an existing file exporter object to an analysis model:

  1. Go to the model toolbar → List group.
  2. Click  File to expand the menu.
  3. Click  File Exporter to open the list of available file exporters.
  4. Drag an file exporter into the analysis model.

To open a file exporter's settings tab, double-click on:

  • the file exporter name in the repository
  • the file exporter icon in a model.


Property Pane Toolbar

For information about the toolbar options, see the Common Properties page, Toolbars and Controls section.

 Properties Tab

Parent Details

If this item is within or belongs to another, its parent name is shown here. See the Parent Details section on the Common Properties page for more details.

Basic Settings

FieldDescription
NameEnter a name for this file exporter.
Enabled Tick to indicate you have completed the settings and the file exporter is ready to use.
File Name (Expr)Enter an expression to generate the name of the file being exported. It must evaluate to a plain text string. It can include text expressions. You can use the internal variables:
  • _fromDate: the start date of the period of the table being processed.
  • _toDate: the end date of the period of the the table being processed.
  • _inputMultiplier: the value returned by the input multiplier, if one is being used.
Output Directory (Expr)

Optionally, enter an expression to generate the name of the directory into which generated files should be written. It must evaluate to a plain text string

If you have configured a restricted directory for the PhixFlow server, the file exporter creates the output directory there; see System Configuration > Restricted Directory. 

As this is an expression field, you must surround plain text paths with quotes.

Directory separators must always be a forward slash /, for example "C:/data/address/export/". Never use a backslash \ even if the output file will be written to a directory on a Windows operating system.

You can use the internal variables:

  • _fromDate: the start date of the period of the table being processed.
  • _toDate: the end date of the period of the the table being processed.
  • _inputMultiplier: the value returned by the input multiplier, if one is being used.

If you do not enter an expression or if the expression evaluates to blank, when you run the analysis model:

  • PhixFlow does not save the generated file to disk
  • PhixFlow checks that you have completed the options in the Send By Email section.
FTP Site

Select an FTP site to which the generated file will be moved. For details about how to add sites to this list, see FTP Site. FTP directory paths must be the full path to the file because PhixFlow ignores the local machine's base directory specified in System Configuration.

If you do not select a site, PhixFlow assumes the output file will be saved on the local machine.

Ignore Base Directory 

The base directory is set in System Configuration → System Directories → Output Directory.

 Untick to automatically prepend the Output Directory path to the directories specified in the file exporter properties.

 Tick so that PhixFlow reads directories specified in the file exporter properties as the full path to the file.

For improved security, your administrator can set a System Configuration → System Directories → Restricted Directory. If it is set, PhixFlow will only write files to the Restricted Directory or a sub-directory of it. Even if you tick Ignore base directory, all directories specified in the file exporter properties must be within the Restricted Directory

Export File As

You can export files in the following formats:

Comma Separated Values: Data will be read from a single push pipe and written to CSV files.

Excel Spreadsheet: Data will be read from a single push pipe and written to Excel Spreadsheet files.

If the push pipe has a drill-down view with an Excel template specified, this will be used to export the data. Optionally, use the Excel Template field for this file exporter. Specify an Excel template, which will supersede any template specified on the push pipe drill-down view.

If you specify an Excel Template, each output file is generated by copying the Excel template file and overwriting the values in the first worksheet. In this case, the type of file generated is the same as that of the template.

If you do not specify an Excel Template, each output file is generated by creating a new, empty Excel file and writing values to the first and only worksheet. In this case, the file type is the extension generated by the File Name Expression field.

.xls will generate a file in Microsoft Office 2003 Excel format.

.xlsx or .xlsm will generate a file in Microsoft Office 2007 Excel format.

Any other extension will generate a file in the format configured in System Configuration → Default Export Excel Version..

Excel Spreadsheet (Multiple Inputs): Data will be read from all input pipes and written to Excel spreadsheet files. At least one input pipe must be a push pipe.

The Excel Template Expression must evaluate to the name of an Excel template file. The Excel template must be annotated with instructions to the exporter to insert data from any of the input pipes into specific ranges of cells. See Excel Template.

HTML File: Data will be read from a single push pipe and written to HTML files.

If the push pipe has a drill-down view with an Excel template specified, this will be used to export the data. Optionally, use the Excel Template field for this file exporter. Specify an Excel template, which will supersede any template specified on the push pipe drill-down view.

If you specify an Excel Template, each output file is generated by copying the Excel template file and overwriting the values in the first worksheet. In this case, the type of file generated is the same as that of the template.

If you do not specify an Excel Template, each output file is generated by creating a new, empty Excel file and writing values to the first and only worksheet, then writing that worksheet out as HTML.

Overwrite existing fileThe file exporter overwrites existing files with the same name as the file to be generated. This can be useful where you want PhixFlow to replace a file at regular intervals, for example to update the content of an HTML page on an intranet.
Maximum Records per FileEnter the maximum number of records that will be written to each file.
Header Tick to include a header line in the exported files. The header row contains the name of each field.
Character SetSelect the character encoding to be used:
  • utf-8
  • utf-16
  • ascii
  • other - see Other Character Set, below
  • cp1252
  • iso-8859-1
Other Character SetAvailable when Character Set is Other. Enter a different character set. For the full list of available character sets, see the Oracle Java documentation about encoding; you can use the canonical names from either column.
Line Separator Style

When PhixFlow generates the file, it uses the line separator configured in System ConfigurationAdvanced section → Line Separator Style. If this is not set, Phixflow uses the default for the operating system on which the PhixFlow server is running.

You may want to generate an export file that uses a different line separator, for example if PhixFlow runs on Linux, but the file will be sent to Windows users. To set a different line separator, select:

  • Windows
  • Unix
  • Other - see Line Separator Chars, below
Line Separator Chars

Available when Line Separator Style is Other. Enter either a single character or multiple characters to use as a new line separator. The characters may be the literal characters or a sequence from the table below. These sequences are useful if the required separator character is not valid to be stored in the database.

SequenceDescription
\ttab
\nnewline
\rcarriage return
\fform feed
\u + hexadecimal codeunicode character specified by the hexadecimal code
Column SeparatorSelect a value from the drop-down list.
  • Comma
  • Space
  • Tab
  • Other -  see Separator Character, below
Separator CharacterAvailable when Column Separator is Other. Enter a custom column separator or a sequence of multiple characters.
Excel Template

Available when Export File As is one of following:

  • Excel Spreadsheet (Multiple Inputs): enter an expression that evaluates to an Excel template; see Excel Template.
  • Excel Spreadsheet or HTML File: enter the name of the Excel template.
Convert To PDF

Available when the Export File As is Excel Spreadsheet.

 Tick to convert the Excel file to a PDF. PhixFlow saves the PDF to the location set in:

  • either the Output Directory,
  • or the PDF Target Path.

PhixFlow reports on the PDF conversion in the console's PDF Chore tab.

PhixFlow needs access to LibreOffice to convert Excel files to PDFs; see Configuring PDF Conversion.

PDF Target Path (Expr)

Available when the Export File As is Excel Spreadsheet.

Enter an expression that evaluates to a path where PhixFlow will save the PDF file.

Evaluate Formulae Before Saving File Tick to generate the export file and then to evaluate any formula in the spreadsheet before saving the file. When a user opens the file in Excel, the calculations have already been done.
Quote StyleSelect a value from the drop-down list.
  • Double Quote
  • Single Quote
  • Back Tick
  • Other - see Quote Character below
  • None
Quote CharacterAvailable when Quote Style is Other. Enter a custom quote style character.

Input Multiplier

FieldDescription
Input MultiplierThe input multiplier expression should evaluate to a list of one or more values. For each value in the list, the internal variable _inputMultiplier will be set to that value and the file export process will be repeated i.e. the pull pipes will be read and the data from those pipes processed to generate file output data, and a new export file will be written.
Log Input Multiplier Messages

You can set this option when system logging → Allow Logging is ticked; see System Logging Configuration.

  • Log Input Multiplier Messages: when ticked, PhixFlow writes a message to the log every time the input multiplier value changes during an analysis run, whatever is set here.

To change this property, you must have the Modify System Logging Configuration privilege.

 Untick to prevent logging. Ticking this box has no effect when the system logging option is ticked.

 Tick to log details of communication. Ticking this box has no effect when the system configuration option Allow Logging is not ticked.

 

Inputs

A list of pipes into the file exporter.

Send by Email 

In this section you can set up an automated email to be sent when a file is exported, optionally with the exported file attached. Create the list of recipients in the User Recipients section.

Emails are generated in an outbound queue and actually sent by a separate email demon process. If the email demon cannot send emails immediately, for example because the email server is down, the email demon process will try to re-send periodically until either it succeeds or the 10s timeout period has passed.

If you specified an Input Multiplier for this file exporter, several export files may be generated, as each record in the input multiplier will send a separate email. Each file can be assigned to several recipients. The subject and body expressions may also evaluate to different values each time (for example if _inputMultiplier is included in the expression). In this case PhixFlow will try to generate as few emails as possible by applying the following rules:

  • For each recipient identify the files to be sent to that recipient.
  • If the subject and body message calculated for each file is the same, generate a single email and attach all files to that email.
  • If the subject and body messages for each file are different, generate one email for each subject and body message pair. Attach to each email all the files for which the subject and body expression evaluated to the same subject and body message.
FieldDescription
Email FromEnter the email address from which the generated email will appear to be sent. An expression that must evaluate to a plain text string.
Subject ExpressionEnter an expression to create the email subject. The expression must evaluate to a plain text string.
Attach FileSpecify whether or not the exported file should be attached to the email sent.
Future Attachments Expression

Enter an expression that evaluates to a list of external files that should be be attached to the email.

These files are created outside PhixFlow, and may or may not exist when the file exporter runs. If the files don't exist, the generated email will be held in the output queue until either they are created by some external process, or a timeout period has passed.

Zip File

Available when Attach File is selected or Future Attachments Expression is set.

Specify whether or not the attached file(s) will be zipped.

Email as HTML

 Untick  to send the body of the email as plain text. If Message Expression contains any HTML tags, they will appear as text in the email.

 Tick to send the body of the email as HTML. If Message Expression contains HTML tags, they will be used to format the email text.

Message Expression

Enter a PhixFlow expression to create the message body of the email. Email messages can have unlimited characters.When Email as HTML:

  • is not ticked the expression must evaluate to a plain text string
  • is ticked, the string can include HTML tags, for example to format text or provide links.

Encryption

Available when Send By Email section → Zip File is selected. Set whether exported zip attachments are encrypted, along with the encryption parameters and the password which must then be used to open the files.

FieldDescription
Encryption Type

The following encryption types are supported:

  • leave blank: If the Encryption Type is blank, then the file will not be encrypted.
  • Standard Zip: Standard ZIP 2.0 encryption is the encryption type that is accepted by most applications, and is the weakest supported encryption type.
  • AES 128-bit: All variants of AES encryption are stronger than Standard Zip encryption, but AES encryption is the weakest type of AES encryption supported and is accepted by fewer applications.
  • AES 256-bit: AES 256-bit is the strongest type of AES encryption supported.
Password

Email recipients must enter this password in order to open any exported zipped files.

When setting the password, you should make a note of the password used and communicate it separately to the recipients of the emails to be sent out. It is not possible to display the current password.

Confirm PasswordThis must match the main Password.

User Recipients

FieldDescription
Notification

This table has the standard toolbar plus the extra button  Users.

To add users to this table, click  Users to display a list of users. Select users and drag them into the table. 

  • Name: The user name.
  • Email As: The email send-type.
  • Expression: A PhixFlow expression.

 To change any of the data, double-click on the row to open the User Notification Rule tab.

Recipient Expressions

FieldDescription
Protect during import

 Untickto allow the recipient expressions to be updated by during import.

 Tick to retain the current TO, CC and BCC expressions if this file exporter is imported from another PhixFlow instance.

 More...

When you have several instances of PhixFlow, for example development and production instances, you may want some item properties to be different for each instance. Usually, when you export from a source instance, then import to a target instance, PhixFlow overwrites item properties with those from the source instance. In the target instance, tick this box to prevent the current setting being overwritten by the source item.

TO Expression

Enter a PhixFlow expression to calculate the recipients for the email. The recipients returned by this expression will be added to the list of recipients returned by the individual User Notification Rule on the Email Recipients section.

For example to simply enter a list of email addresses, you can enter an expression such as: ["john.smith@acme.com","jane.doe@corp.com"]
The result of the expression must be:

  • either a single plain text string that should be a valid email address
  • or a list object that contains one or more strings, each of which must be a valid email address.
CC ExpressionAs in the TO Expression, the list of users returned by this expression will be included on the CC line on the email.
BCC ExpressionAs in the TO Expression, the list of users returned by this expression will be included in the BCC line on the email.


Analysis Models

If this item is used by an analysis model, its name is listed here. See the Common Properties page, Analysis Model section for more details.

Description

We recommend that you always enter a description to explain the purpose of this item.

 Audit Tab

Audit Summary

See the Common Properties page, Audit Summary section.

Sections on this page


Learn More

For links to all pages in this topic, see Analysis Models for Batch Processing Data.


Terminology changes in progress

As part of the redesign of PhixFlow, we are changing the following terms:

dashboard → screen   
stream → table
stream attributes → attributes
stream item → record
stream set → recordset
stream view → view
stream item action → record-action 
stream action → table-action
driver class → database driver