Versions Compared

Key

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

...

This dropdown list shows all Form Views associated with this stream. If a Form View is selected then it will be presented prior to this action being run to allow the user to enter values to be used in Context Parameter, Validation, Filter or Action Attribute expressions. These values are referenced in those expressions by preceding the field name from the form with '_prompt'. 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 _prompt.Name.
If the Stream Action selected on the Item Updates tab is 'Update' 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. If any other Stream Action is selected then the form fields will initially be blank.A Check box to determine whether the Parent Dashboard should be closed after the Action is finished
FieldDescription
Basic Settings
NameThe name of the Stream Action.
Display NameThe name that will be used to display this action on a Stream View
Stream NameThe name of the parent Stream that this action belongs to
Show progress indicator after (ms)A number of milliseconds which need to pass after the Action is submitted before the progress indicator is shown .
Context Parameters
A list of the context parameters for this action. For each context parameter, define the following fields:
NameThe name of the context parameter
Expression

An expression for the context parameter. The Context Parameter expressions can refer to any values entered on the Form View using the notation

Code Block
_prompt.<Form Field Name>

The Context Parameters can also refer to any attributes of any records selected on the view or dashboard from which the action was initiated using the notation

Code Block
<View name or alias>.<Attribute name or alias>

It is not possible to refer to one context parameter from another.

The values returned by the context parameter expressions can be referenced by the Validation expression, the Filter, the Maximum and Minimum Items expressions, any Stream Action Attribute expressions and any dashboard opened by this action.

The context values are referenced using the syntax

Code Block
_context.<context parameter name>

Example

  • For example, you have a view called 'customers' which shows a list of customers including the account id, name and other account details.
  • You want to create an action button to open up another dashboard, containing a view called 'invoices', which will show the invoices for the customer selected on the 'customers' view.
  • To do this:
    • Add an action button to the 'customers' view, and configure it to open the dashboard containing the 'invoices' view
    • Add a context parameter called 'account' to the action, with the context parameter expression set to customers.account_id
    • On the background filter of the 'invoices' view, set the filter to only select those invoices whose account_id is equal to _context.account

Unlike stream action attribute expressions, context parameter expressions can evaluate to a list of values as well as single values.

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.

Confirmation Message
Ask 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 (i.e. if you do not enter a value in the field Confirmation Message), the message will have the format:

HELPDEVTODO - what is default message format?

Confirmation MessageThe message you want to display to users when asking them to confirm whether they want to complete the action.
File Upload
File 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.

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
Validation Expression

The validation expression is evaluated at the start of any stream item 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 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('Error as ACCTS Sum does not equate to zero'))

 

Update StreamItems
Stream Item ActionThis drop down has four options:
  • None
  • Insert
  • Delete
  • Update

Please be aware that deleting records with an action is non-reversible. In some circumstances it may therefore be better to select an Update action to simply mark the records as 'deleted' and then configure an Archive Task to remove records marked as deleted after a certain period of time. This will provide a window of opportunity for these 'deletions' to be reversed manually if they are made by mistake. If you don't want your users to see these deleted records, simply filter them from any views.

Filter TypeThis drop down has three options:
  • Selected Items - Action will only apply to the records selected on the view from which the action was initiated.
  • View Filter - Action will only apply to the records shown on the view from which the action was initiated.
  • Action Filter - Action will only apply to the records retrieved by the filter defined in the action.
Condition

This is only available if you have selected Filter Type = Action Filter.

Create a filter to specify the records that an Update or Delete will apply to. Any expressions on this filter can reference the Form View fields, Context Parameters and any attributes from any record selected on the view or dashboard from which this action was initiated. Configure this filter in the same way that you would a pipe filter.

Form View
Run Selected TaskPlanA Check box to determine whether a combo box is displayed which is then used to allow the user to choose a task plan to be run. Any expression evaluated during this task plan can reference any Context Parameter.
Open Post DashboardA Check box to determine whether a combo box is displayed which is then used to allow the user to choose a dashboard to be opened once the action has completed. Any filter of any view on that 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.
Close Parent DashboardAction Attributes
The list of attributes that will be populated by the action - whether an action or insert. For each attribute, configure the following fields:
OrderThe order in which the action attributes are evaluated. 
AttributeThe name of the stream attribute that will be populated.
Expression

The expression used to generate the new attribute value. This is written as a PhixFlow Expression.

You can reference selected records from other dashboard views by using their dashboard element names within the expression. E.g.

Code Block
sum(ACCTS.amount)

will sum up all values in amount from the records select in the view with dashboard element name ACCTS.

If you want to refer to the current values of the record you are about to update, then simply refer to the attribute name with no prefix.

You can reference fields from any user input form associated with this action by referencing the form field name prefixed by _prompt.

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 for the current stream item. However, it will not stop the action from updating/ inserting other stream items.

Run Task Plan
Run Selected TaskPlanTick this flag if you want 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

A list of task plans that can be run for this action, for each one a rule to determine whether the task plan is actually run.

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.

For each task plan rule define the following fields:

OrderThe order in which the rules are evaluated.
Task PlanThe 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.

Action Completion

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

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:

OrderThe order in which the rules are evaluated.
DashboardThe dashboard that will be opened if the accompanying expression evaluates to true.
ExpressionIf this expression evaluates to true, this dashboard will be opened once the action has completed. A blank (null) expression counts as true.




Form View

This dropdown list shows all Form Views associated with this stream. If a Form View is selected then it will be presented prior to this action being run to allow the user to enter values to be used in Context Parameter, Validation, Filter or Action Attribute expressions. These values are referenced in those expressions by preceding the field name from the form with '_prompt'. 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 _prompt.Name.

If the Stream Action selected on the Item Updates tab is 'Update' 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. If any other Stream Action is selected then the form fields will initially be blank.







Prevent Parallel ProcessingA Check box to determine whether the Action can be submitted again before the previous run is finished.


All Users Can Run ActionIf checked, this specifies that all users can run this Action provided they have the basic privilege to run stream actions. If this field is not checked, then access to the stream action is controlled by adding user groups onto the stream's "User Groups" tab.URL ExpressionA URL which will be open 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.









The following field is configured on the Result tab:

...