Skip to main content
Version: 7.9

Scheduling Actions

Scheduling Actions

Actions can be configured to run once the report has generated at the scheduled time. Each action has its own custom configuration interface to make adding and editing Actions simple. The Actions you can perform following report generation are Print, FTP, Save, Email, and Run Script. You can even have multiple actions on the same schedule. So you can save the report to the hard drive, as well as email it out to multiple users.

Before creating any Scheduling Actions, you must first create a schedule.

To create an Action, click the Actions tab, click the plus icon and select an Action. Actions can be deleted using the trash can button , and executed immediately using the double arrow button .

The Print Action is used to send a report to a printer that is accessible from a computer Ignition is installed on. Here are a list of property descriptions for the Print Action.

Property NameDescription
Primary PrinterThe primary method of printing the report
Backup PrinterA backup method of printing the report. Will print using this option if the Primary Printer fails. [Optional]
Print ModeThe mode to print the report in. Can be either Vector or Raster.
  • Vector : Uses math to draw shapes using points, lines, and curves.The most common types of vector graphics are fonts and logos. PDF is a popular vector type. Vector based graphics like SVG image files show images with no pixelation when the size is changed.
  • Raster :Are composed of thousands of pixels or dots. Set the dpi (dots per inch). Common raster file format extensions are jpg, jpeg, png, tiff, bmp, and gif.
CopiesThe number of copies of the report that will print.
Print on both sidesWill attempt to print on both sides of a sheet of paper, if supported by the printer.
CollateOrders the pages so that a complete report prints before the next copy prints, if applicable.
Use AutoLandscape ModeEvaluates the page dimensions and determines portrait or landscape orientation.
Page OrientationThe orientation of the page. Can either be Portrait or Landscape.

FTP Action

The FTP Action can be used to automatically upload your reports to a file server for backups or storage. Here are a list of property descriptions for the FTP Action.

Property NameDescription
Server AddressThe server address where the report file will be transferred.
PortThe port of the file transfer.
Folder PathThe folder path that the report file will be transferred to.
FormatThe file format of the report.
UsernameThe username that will be used to access the FTP server.
PasswordThe password that will be used to access the FTP server.
SSLWill use SSL encryption if True.
FilenameThe name of the report file. The Filename property is constructed using the expression language.

Save File Action

Inductive University

Scheduling Actions - Save

Watch the video

The Save File Action will save a copy of the report to any folder the Ignition server has access to, such as a local folder or network shared drive. Here are a list of property descriptions for the Save File Action.

Property NameDescription
Folder PathThe folder path to save the report files to. This folder path is for the Ignition Gateway server.
FormatThe file format of the report.
FilenameThe name of the report files. The Filename property is constructed using the expression language.

Email Action

Inductive University

Scheduling Actions - Email

Watch the video

The Email Action distributes a report via email when the report is finished executing. There is a Recipients Source property that allows you to send emails using either Email Addresses or User Roles. The 'From Address,' 'Subject', 'Body,' and 'Attachment Filename' are all configurable. The Subject, Filename, and Body editors can utilize Expressions to dynamically add content or change names.

Email Server settings must first be configured on the Gateway webpage under Configure > Networking > Email Settings page, or in Email Actions and clicking the Create new server link. Once you create and save an SMTP profile, you can test your email settings for your mail server on the Gateway webpage under Email Settings.

Creating an email server

Before you setup any reports to be emailed, an email server must be configured. To create an email server if one doesn't exist, use the 'Create new server' link. This link will take you to Configure > Email Settings on the Gateway webpage. There, you will be able to create an SMTP server. For more information, refer to Gateway Settings.

Here are a list of property descriptions for the Email Action.

Property NameDescription
From AddressThe Email address from which the report is sent from.
Mail ServerThe mail server to use to email the report. If one doesn't exist, click on the Create new server link. Refer to Email Settings for more information on that page.
FormatThe file format of the report.
RetriesThe number of retry attempts if the email that was sent failed to be delivered the first time.
Address SourceWill decide how email addresses are collected. Can be either Email Addresses or User Roles. See the source property tables below for more information.

New in 7.9.8
A new ReplyTo Email function was added, allowing you to reply to email actions using the Email Address and User Roles. This simply adds those emails to the "ReplyTo" header of the email sent to the recipient list, so that if recipients choose to reply to that email, their reply is sent to those email addresses as well.
SubjectThe subject of the Email. The Subject property is constructed using the expression language.
Attachment FilenameThe name of the attached report. The Attachment Filename property is constructed using the expression language.
BodyThe body of the email. The Body property is constructed using the expression language.

Email Address Source Properties

Property NameDescription
AddressesA list of email addresses
MethodThe corresponding method of what to do with the email addresses. Options are To, CC, BCC, and ReplyTo.}

User Roles Source Properties

Property NameDescription
Recipient User SourceThe User Source to pull users from that match the Recipient Roles to get an email.
Recipient RolesA list of roles to match with users. Any user that has any of the listed roles will get an email.
ReplyTo User SourceThe User Source to pull users from that match the ReplyTo Roles that will be listed in the reply to of the email.
ReplyTo RolesA list of roles to match with users. Any user that has any of the listed roles will have their email listed in the reply to of the email that gets sent out.

Configuring an Email Action

  1. In the Schedule panel, create a Schedule to automatically email a report by clicking on the plus icon , if you don't already have one.
  2. Next, click on the Actions tab.
  3. Click on the plus icon , and select the New Email Action from the dropdown list.
  4. Enter the sender's email address in the From Address field.
  5. Select the Mail Server from the dropdown list. If one does not exist, click the Create new server link to create one.
  6. Select the Format from the dropdown list.
  7. Enter the number of Retry attempts in the event the email failed to be delivered the first time.
  8. You can send emails to users using either Email Addresses or User Roles. Under Address Source enter either Email Addresses or User Roles. Note, email recipients can choose to reply to the email if they prefer, since the email address is added to the 'Reply To" header of the email.
    1. Email Addresses - enter individual email addresses under in the Recipient and ReplyTo Emails area. To add multiple addresses, click the plus icon on the right side of the window. Next, specify the Method of how to send the email: To, CC, BCC, or ReplyTo.
    2. User Roles - select the User Source from the dropdown in the Recipient User Source field.
      1. In the Recipient Roles field, begin typing a configured role and Ignition will validate it.
      2. In the Reply to User Source, select the User Source from the dropdown. (Optional).
      3. In the RepyTo Roles field, enter the role(s) you want listed in the 'ReplyTo' header of the email. (Optional).
  9. Enter in values for the Subject, Attachment Filename, and Body fields, or use the defaults.

Recipients and ReplyToEmails

Recipients Source - User Roles

Run Script Action

Inductive University

Scheduling Actions - Run Script

Watch the video

The Run Script Action allows you to store your report in a database, provide special email code, or anything else you can think of. Run Script exposes the function handleFinishedReport() which gives you the report name and path, a mapping of the report parameters and datasets, and the bytes in whatever format you want.

Here are a list of property descriptions for the Run Script Action.

Property NameDescription
Run ScriptAn area where a script can be created to do something at the scheduled time.
FormatThe file format that the reportBytes parameter should be.

Arguments

The handleFinishedReport method has the following arguments:

Argument NameData TypeDescription
reportNameStringThe name of the report for which this script should run.
reportPathStringThe path to the report in your project
dataMapPyDictionaryThe Python Dictionary containing the Parameters and Data Sources that were supplied to the report. This argument allows you to directly access Parameters and Data Sources in the report. Note that once handleFinishedReport() has been called, the report has already been generated, so changing the parameters from this function will not alter the resulting report. Instead, parameters should be altered from the Parameters tab.
reportBytesbyte[]The report, presented in a byte array. The format of the report depends on the format specified in the Format dropdown list.

DataMap

The dataMap argument contains the raw data that was used to generate a report. Below is a demonstration using dataMap.

# The dataMap argument is simply a Python Dictionary with the name of each Parameter and Data Source 
# acting as a key.

# Assuming a Report Parameter named 'shift', the value of 'shift' may be accessed with the following
dataMap['shift']

# Similar syntax may be used to extract the value from a Data Source.
data = dataMap['myDataSource']

# Rows objects, while similar in nature to a dictionary, are different objects.

# Individual rows in the Data Source may be accessed by index.
firstRow = data[0]

# getKeys() may be called on a row to list all of the column headers in the row.
firstHeader = firstRow.getKeys()[0]

# getKeyValue() may be used to access the value of a column in the row.
firstColumnInRow = firstRow.getKeyValue(firstHeader)