Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
This page is

This page is for application designers. It explains the properties you can set for actions.

Overview

Insert excerpt
_action_concepts
_action_concepts
nopaneltrue

Creating Actions

To You can create an action :

  • Expand the repository branch for your application
  • Right-click

    that is not associated with any stream. This is useful for actions that do not operate on stream data. For example you may want a button-click to open a different dashboard.

    1. Expand the repository branch for your application
    2. Right-click on Actions and select 
      Insert excerpt
      _add
      _add
      nopaneltrue
      .

    Actions created this way appear in the repository in under Actions. You can also export this type of action.

    Optionally, you You can also create an action that belongs to a stream. This option is available for backwards compatibility with applications designed with earlier versions of PhixFlow, that did not have micro-actions.You can create actions on layout components, such as buttons. stream item actions.

    1. Expand the repository branch for your application.
    2. Expand the stream on which the action will operate.
    3. Right-click on Actions and select 
      Insert excerpt
      _add
      _add
      nopaneltrue
       to open a new action properties tab.

    You can create actions on layout components, such as buttons. You can also create actions in grid cells that contain:

    • strings
    • numbers
    • dates or date-times
    • boolean true/false.

    ?? Once configured, You can drag an action can be dragged onto stream views associated with the Stream on which the Action is configured to create stream view to create a set of Action Buttons which appear on the top of the Stream Viewstream view. Actions can also be dragged into the menus belonging to an Application.

    See See also Configuring Actions for related pages. Insert excerpt_standard_settings_standard_settingsnopaneltrue

    The following fields are configured for actions:




    Panel
    borderColor#7da054
    titleColorwhite
    titleBGColor#7da054
    borderStylesolid
    titleSections on this page

    Table of Contents
    maxLevel3
    indent12px
    stylenone


    Basic Settings

    FieldDescriptionNameEnter

    Action Properties

    Insert excerpt
    _standard_settings
    _standard_settings
    nopaneltrue

    Basic Settings

    FieldDescription
    NameEnter the name of the action.
    Display Name

    Enter the name that will be used to display this action on a Stream View ??Where and why does a stream view display an action??

    A stream view can have a default action set against itWhen action configured. PhixFlow runs the action when the user double-clicks on a record in the stream view, PhixFlow runs the default action.You can configure the action behaviour based on the data in the record. 

    Enter the name for the default action. PhixFlow displays this action name on a Stream View.

    Progress Indicator Settings

    FieldDescription
    Show progress indicator after (ms)Enter the number of milliseconds which need to pass after the action is submitted before PhixFlow displays a progress indicator.
    In Progress MessageEnter a message that you want the user to see with the progress indicator. If not specified, PhixFlow displays a default progress message.
    In Progress Popup MessageEnter a message to display in a pop-up window. Use the toolbar to format the message text. You can provide additional information to the user to explain what the action is doing.

    Context Parameters

    Use context parameters to specify conditions that apply to the action

    An expression that sets the value of the tag for the file. You can use this tag in a file collector to read into PhixFlow files that the action has uploaded.

    The tag expression can refer to:

    • any values entered on the Form View using:
    Code Block
    _prompt.<Form Field Name>
    • the values of any Context Parameters using:
    Code Block
    _context.<ContextParameter Name>
    • any attributes of any records selected on the view or dashboard from which the action was initiated using:
    Code Block
    <View name or alias>.<Attribute name or alias>

    List of names of uploaded files can be accessed through _files variable.

    Action Validation

    FieldDescriptionValidation Expression

    The validation expression is evaluated at the start of any Insert or Update actions. If the validation expression generates any error messages (using the error function) then the action is abandoned. The validation expression is not used to decide whether or not to run the selected task plan.

    The validation expression can include multiple statements by wrapping them in a do() clause. A number of internal variables are available in these expressions:

    • _this: A reference to all the selected records within the view to perform the action on.
    • _prompt: A reference to all the user prompted action attributes.

    The usual message functions debug(message), info(message), warning(message), and error(message) are all available to be used in these expressions and will result in messages being written to the system console logs.

    Be careful when using the error(message) function - this will stop the action from being completed.

    Example 1

    Validate that the sum of the selected record amounts equate to zero before allowing the action to be executed.

    Code Blockif(sum(_this
    FieldDescription
    Include Previous Context Parameters

    Insert excerpt
    _check_box_untick
    _check_box_untick
    nopaneltrue
     ignore any context parameter that were sent to the dashboard when it was opened.

    Insert excerpt
    _check_box_ticked
    _check_box_ticked
    nopaneltrue
     to include the context parameters that were sent to the dashboard when it was opened. If the action specifies a new context parameter of the same name, the new context parameter will supersede the previous one.

    Update Parent Context

    Insert excerpt
    _check_box_untick
    _check_box_untick
    nopaneltrue
     to not send any context parameter values to the dashboard that initiated the action.

    Insert excerpt
    _check_box_ticked
    _check_box_ticked
    nopaneltrue
     to send context parameter values to the dashboard that initiated the action.

    Context parameters

    A grid listing the context parameters. Double-click to open the properties for a context parameter

    Confirmation Message

    FieldDescriptionAsk for Confirmation

    If this flag is ticked, a message will pop up asking the user if they want to proceed with the action. By default, the message is:

    Please confirm that you want to apply action Action Name

    To provide a customised confirmation message, use the next field.

    Confirmation MessageOptionally, enter your own text to display as the confirmation message. Use the toolbar to format the message. The maximum length for a message string is determined by System Configuration → System Tuning → Maximum Bigstring Size.

    File Upload

    FieldDescriptionFile Upload

    If this flag is ticked, users will be prompted to browse to a file and select it for upload when they run this action.

    Tag Expr.

    This property has a toolbar with standard buttons. The grid contains a list of context parameters that affect whether or not the action runs. 

    To edit the properties of a context parameter, double-click its name. To add a stream item action to the list, click  

    Insert excerpt
    _add
    _add
    nopaneltrue
    . PhixFlow opens the Context Parameter properties tab.

    To remove a context parameter from the action, select it and click 

    Insert excerpt
    _delete
    _delete
    nopaneltrue
     in the toolbar.

    Confirmation Message

    FieldDescription
    Ask for Confirmation

    Insert excerpt
    _check_box_untick
    _check_box_untick
    nopaneltrue
     to run an action without requesting user confirmation.

    Insert excerpt
    _check_box_ticked
    _check_box_ticked
    nopaneltrue
     when a user triggers an action, PhixFlow displays a pop-up message asking them to confirm. By default, the message is:

    Please confirm that you want to apply action Action Name

    To provide a customised confirmation message, use the Confirmation Message property.

    Confirmation MessageOptionally, enter your own text to display as the confirmation message. Use the text formatting toolbar to format the message. The maximum length for a message string is determined by System Configuration → System Tuning → Maximum Bigstring Size.

    File Upload

    FieldDescription
    File Upload

    Use this property for an action that will upload a file.

    Insert excerpt
    _check_box_ticked
    _check_box_ticked
    nopaneltrue
     to prompt the user to browse to and select the file they want to upload.

    Tag Expr.

    Enter an expression that sets the value of the tag for the file. You can use this tag in a file collector to read into PhixFlow files that the action has uploaded.

    The tag expression can refer to:

    • any values entered on the Form View using: _prompt.<Form Field Name>
    • the values of any Context Parameters using: _context.<ContextParameter Name>
    • any attributes of any records selected on the view or dashboard from which the action was initiated using: <View name or alias>.<Attribute name or alias>

    You can return a list of the names of uploaded files using the _files variable.

    Action Validation

    FieldDescription
    Validation Expression

    Enter a validation expression. This expression is evaluated at the start of any Insert or Update actions. If the validation expression generates any error messages (using the error function) then the action is abandoned. The validation expression is not used to decide whether or not to run the selected task plan.

    The validation expression can include multiple statements by wrapping them in a do() clause. A number of internal variables are available in these expressions:

    • _this: a reference to all the selected records within the view to perform the action on.
    • _prompt: a reference to all the user prompted action attributes.

    The usual message functions debug(message), info(message), warning(message), and error(message) are all available to be used in these expressions and will result in messages being written to the system console logs.

    Note

    Be careful when using the error(message) function. When the action generates an error message it stops running, so does not complete.

    Example 1

    Validate that the sum of the selected record amounts equate to zero before allowing the action to be executed.

    Code Block
    if(sum(_this.amount) == 0, info('OK'), error('Not performing Action as the Sum does not equate to zero'))

    Example 2

    Validate that the user entered comment is at least 10 characters long, else write a warning to the log.

    Code Block
    if(stringLength(_prompt.UserComment) >= 10, info('OK'), warning('Comment should be at least 10 characters'))

    Using values from other views

    You can also refer to records selected in other dashboard views by using their dashboard element names. E.g. if the dashboard also contains a view with database element name ACCTS, you could use the following in your validation expression:

    Code Block
    if(sum(ACCTS.amount) == 0, info('OK'), error('Not performing ActionError as theACCTS Sum does not equate to zero'))

    Example 2

    Validate that the user entered comment is at least 10 characters long, else write a warning to the log.

    Code Block
    if(stringLength(_prompt.UserComment) >= 10, info('OK'), warning('Comment should be at least 10 characters'))

    Using values from other views

    You can also refer to records selected in other dashboard views by using their dashboard element names. E.g. if the dashboard also contains a view with database element name ACCTS, you could use the following in your validation expression:

    Code Block
    if(sum(ACCTS.amount) == 0, info('OK'), error('Error as ACCTS Sum does not equate to zero'))
    Action Rules


    Stream Item Action Rules

    This property has a toolbar with standard buttons. The grid contains a list of rules that determine whether or not a stream item action runs. 

    To edit the properties of a context parameter, double-click its name. To add a stream item action to the list, click  

    Insert excerpt
    _add
    _add
    nopaneltrue
    . PhixFlow opens the Context Parameter properties tab.

    To remove a context parameter from the action, select it and click 

    Insert excerpt
    _delete
    _delete
    nopaneltrue
     in the toolbar.

    A stream item action is the CRUD action that can operate on a data record. The rules listed here determine whether or not a stream item action runs.

    When the action runs, PhixFlow A uses this list of rules that to determine which of the listed Stream Item Actions will run.

    Double-click a rule to open its properties and specify rule details and attributes: see Stream Item Action Rule. This grid displays:

    • Order: The order in which the rules are evaluated.
    • Stream: The backing stream.
    • Name: The rule name.
    • Expression: If this expression evaluates to true, this action will be run. A blank (null) expression counts as true.

    When the action runs, PhixFlow evaluates the action rules in order. For each action rule that evaluates to true, PhixFlow will run that action. 

    Note

    The action type of the first action rule is overwritten if the button that initiates the action has both an Action Type and an Action; see Layout.

    Insert excerpt
    Layout
    Layout
    nopaneltrue

    Run Task Plan 
    Anchor
    task_plan
    task_plan

    FieldDescription
    Run Selected Task Plan

    Insert excerpt
    _check_box_ticked
    _check_box_ticked
    nopaneltrue
     to run a task plan as part of the action.  Any expression evaluated during this task plan can reference any context parameter.

    Task Plan Rules

    This section has a toolbar with standard buttons and 

    Insert excerpt
    _taskplan_show
    _taskplan_show
    nopaneltrue

    The grid contains a list of task plans and their associated expression. The expression is the rule to determine whether the task plan runs.

    To add a task plan to the list:

    1. Click 
      Insert excerpt
      _taskplan_show
      _taskplan_show
      nopaneltrue
       to list all the task plans in the repository.
    2. Drag task plans into this list.  

    To remove a task plan, use the toolbar button 

    Insert excerpt
    _delete
    _delete
    nopaneltrue
    .

    To add an expression, double-click the task plan in the grid to open a task plan rule property tab.

    The first task plan whose expression evaluates to true will be run. Only this task plan will be run. If none of the expressions evaluates to true, no task plan will be run.

    Double-click a task plan rule to specify:

    • Order: The order in which the rules are evaluated.
    • Task Plan: The task plan that will be run if the accompanying expression evaluates to true.
    • Expression: If this expression evaluates to true, this task plan will be run. A blank (null) expression counts as true.

    See Task Plans for details.

    Action Completion

    FieldDescription
    Close Parent DashboardIf you tick this flag, the initiating dashboard will be closed once the action has completed.
    Open Post Dashboard

    If you tick this flag, a separate dashboard will be opened once the action has completed. The dashboard to open is determines by the Dashboard Rules. These are only available if you have ticked this flag.

    Any filter of any view on the post dashboard can reference any Context Parameters set on this action. If the specified dashboard is already open it will be brought to the front and refreshed, rather than a second instance of the dashboard opening.

    URL ExpressionA URL which will be opened when the Action has completed. This may be provided as a fixed URL or as an expression evaluating to a plain text string. The expression can reference the Form fields, Context Parameters or attributes of Records selected on the view or dashboard from which the action was initiated.
    Dashboard Rules available if Open Post Dashboard

    This field is only available if the Open Post Dashboard is ticked.

    A list of dashboards that can be opened after this action, for each one a rule to determine whether this is the dashboard that will be opened.

    The first dashboard whose expression evaluates to true will be opened. Only this dashboard will be opened. If none of the expressions evaluates to true, no dashboard will be opened.

    For each dashboard rule define the following fields:

    • Order: The order in which the rules are evaluated.
    • Dashboard: The dashboard that will be opened if the accompanying expression evaluates to true.
    • Expression: If this expression evaluates to true, this dashboard will be opened once the action has completed. A blank (null) expression counts as true.

    Result

    FieldDescription
    Result includes Warnings

    Insert excerpt
    _check_box_untick
    _check_box_untick
    nopaneltrue
     to report the result in a message without any information about warnings. You can view the warnings in the console.

    Insert excerpt
    _check_box_ticked
    _check_box_ticked
    nopaneltrue
     to include warning messages generated by the action to be listed in the result message.

    Result includes Errors

    Insert excerpt
    _check_box_untick
    _check_box_untick
    nopaneltrue
     to report the result in a message without including any information about errors. You can view error messages in the console.

    Insert excerpt
    _check_box_ticked
    _check_box_ticked
    nopaneltrue
     to include error messages generated by the action to be listed in the result message.

    Result Message Timeout (s)Optionally, specify the number of seconds that the result message is displayed to the user.
    Anchor
    result_message
    result_message
    Result Message

    Enter the text for a message that PhixFlow will display when the action has completed. Use the toolbar to format the message. You can use the message to notify the user of a summary of the action, or the to provide information about the completed state.

    You can include expressions within the message by enclosing each expression in curly brackets { } . PhixFlow evaluates each expression in turn before displaying the message.

    For result messages that report on the status of the action, you can use the following internal variables in the expressions:

    • _error: Details of the error messages generated.
    • _errors: The number of error messages generated.
    • _warning: Details of the warning messages generated.
    • _warnings: The number of warning messages generated.
    • _messages: The number of warning messages generated.
    • _taskPlan: The name of the Task Plan that the Action ran (may be null)
    • _runId: The runId of any Stream data generated by this Action (may be null).
    • _action: The name of the Action.
    • _file: Details of files processed (imported or exported) by the Action.
    • _fileCount: The number of files processed by the Action.


    Code Block
    titleExample message showing the number of errors and warnings
    Action {_action} failed with {_errors} errors and {_warnings} warnings.

    You can also use context parameters and values to report different messages. For example if you have a context parameter (called balance) that calculates the outstanding balance, you can use an expression that reports different messages depending on the calculated value.

    Code Block
    titleExample of different messages around a threshold value
    {if(_context.balance < 0,"Money still owed", "Balance paid")}


    Access Permissions

    For details about how to control access to an action, see Common Properties → Access Permissions.

    Advanced

    FieldDescription
    Prevent Parallel Processing

    Insert excerpt
    _check_box_untick
    _check_box_untick
    nopaneltrue
     so that a user can run this action multiple times, even if the previous run has not completed.

    Insert excerpt
    _check_box_ticked
    _check_box_ticked
    nopaneltrue
     so that a single user cannot run this action more than once at the same time. For example, if a user has started this action, they will not be able to start it again until the first action has finished.

    Wait for Selection

    Insert excerpt
    _check_box_untick
    _check_box_untick
    nopaneltrue
     so that the action can run immediately. Only untick this check box if your action does not depend on any data or context parameters from the dashboard.

    Insert excerpt
    _check_box_ticked
    _check_box_ticked
    nopaneltrue
     so that PhixFlow runs the action after completing any outstanding dashboard refresh. This check box is ticked by default to make sure that the action uses the data or context parameters related to the data record selected by the application user.

    Target viewEnter the name of the stream view to which this action will apply.
    Form View

    You can specify a form view to appear when the user starts the action. They will be able to enter values on this form view, and the values can be used to update selected records for an update action, or populate fields for an insert action.

    Select a form view

    either from the drop-down list of all forms views in PhixFlow

    or click

    Insert excerpt
    _stream_show
    _stream_show
    nopaneltrue
     to open the repository showing all the streams. From the repository, drag a form view from the stream into this field.

    Values entered in the form view are referenced in expressions in the action with the form.

    Code Block
    _prompt.<form field name>

    For example, if there is a field on the form with the label Name, then the value entered in that field by the user can be referenced in subsequent expressions as

    Code Block
    _prompt.Name

    If this is an update action, then the form will be pre-populated with the values from the selected record. Where multiple records are selected, then only those values which are common to all the selected records will be displayed. For insert action, when the form pops up all fields will be blank.

    Additional Properties for Update or Delete Actions

    FieldDescription

    Maximum Items Expr.

    This field appears if the update action selected is Update or Delete. The expressions entered here must evaluate to a positive whole number. The expression can reference any fields entered on the Form View associated with this action, any attributes of any records selected on the view or dashboard from which the action was initiated and any of the Context Parameters configured for this action.

    If the number of items selected on the view from which this action is initiated, or retrieved by the filter configured on this action, is greater than this number then an error message will be generated and no updates or deletes will take place.

    Minimum Items Expr.

    This field appears if the update action selected is Update or Delete. The expression entered here must evaluate to a positive whole number. The expression can reference any fields entered on the Form View associated with this action, any attributes of any records selected on the view or dashboard from which the action was initiated and any of the Context Parameters configured for this action.

    If the number of items selected on the view from which this action is initiated, or retrieved by the filter configured on this action, is less than this number then an error message will be generated and no updates or deletes will take place.


    Using Variables in Expressions

    In actions, the _form, _grid and _gridRow act on a specific record. The record depends on the structure of layout components on the dashboard.

    Action expression variableWhere
    Stream view directly on a dashboardform on a dashboardstream view on a formform on a cardgrid on a card
    _form   acts on the record


    currently selected in the view


    currently displayed on the form

    currently displayed on the formcurrently displayed on the card

    backing the card
    _grid  acts on the recordcurrently selected in the viewcurrently selected in the view
    _gridRow  acts on the recordcurrent record