Versions Compared

Key

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

...

  1. Open a Form View to allow the user to provide some parameters for this action.
  2. Open a File Explorer window to allow the user to navigate to a directory and select one or more files.
  3. Evaluate a set of Context Parameter expressions configured on the Context Parameters tab. The Context Parameter expressions can refer to any values entered on the Form View using the notation _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 <View name or alias>.<Attribute name or alias>. Please note that there is no ordering of the context parameters, so you cannot refer to the output value of one context parameter from another context parameter even in the same action 
  4. Evaluate the file upload tag expression. This expression can refer to any values entered on the Form View using the notation _prompt.<Form Field Name>, the values of any Context Parameters using the notation <i>_context</i>.<ContextParameter Name> and any attributes of any records selected on the view or dashboard from which the action was initiated using the notation <View name or alias>.<Attribute name or alias>.
  5. Upload the selected files and mark them with the evaluated tag value so that they can be retrieved later by suitably configured File Collector.
  6. Evaluate the validation expression configured on the Validate Action tab. This expression can reference any values entered on the Form, the values of any Context Parameters (using the notation <i>_context</i>.<ContextParameter Name>) and any attributes of any items selected on the view or dashboard from which the action was initiated. If the validation expression generates any error messages (including by using the Error function) then no further action processing will take place.
  7. Retrieve a set of records from the database for this Stream. The records retrieved will either be based on a filter specified on the Filter tab or, if no filter is specified, the records selected on the view from which the action was initiated. If a filter is specified then any expression on the filter can refer to the Form View fields, Context Parameters or attributes of items selected on the view or dashboard from with the action was initiated. This step will only be carried out if the user has selected either the Update or Delete Action on the Item Updates tab.
  8. Carry out any stream item updates configured on the Item Updates tab. Update and delete actions will be applied to the records retrieved from the database in the previous step. When carrying out Insert or Update actions each Stream Action Attribute expression will be evaluated in turn to calculate the new value for that attribute. These expressions can refer to the Form View values, the Context Parameters, the values of any attributes of items selected on the view or dashboard from with the action was initiated or, for Updates, the values of attributes from the records retrieved from the database. To refer to values of attributes retrieved from the database simply refer to the attribute name without any prefix. Please note, even where a record retrieved from the database is based on a record selected on a view, the values on the record retrieved from the database may differ from those on the view as the record in the database may have been updated by another user since the view was last refreshed. If any attribute expression fails, or an error message is sent using the Error function, then that record will not be Updated, Deleted or Inserted. However, if multiple records are being updated, a failure of one record will not prevent the others from being updated or deleted.
  9. Run the configured task plan. Any Context Parameters can be referenced by any expression run during that task plan.
  10. Open another dashboard. 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.
  11. Close the current dashboard from which the action was initiated.

...

FieldDescription
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 _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 <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 _context.<context parameter name>.

For example, imagine that you have a view called 'customers' which shows a list of customers including the account id, name and other account details and you want to create an action button to open up another dashboard, containing a view called 'invoices', which will show the invoices for the specific customer selected on the 'customers' view. To do this you would add an action button to the 'customers' view and configure it to open the dashboard containing the 'invoices' view. You would then 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 you would then set the filter to only select those invoices whose account_id was 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.

However special attention should be taken when using the error(message) function as this will also STOP the action from being completed.

...

FieldDescription
Validation ExpressionThe validation expression is evaluated at the start of any stream item Insert or Update actions and 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 is the same as a stream attribute expression, and 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.

However special attention should be taken when using the error(message) function as this will also STOP the action from being completed.

e.g To validate that the sum of the selected record amounts equate to zero before allowing the action to be executed.

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

e.g To validate that the user entered comment is at least 10 characters long, else write a warning to the log.

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

Note that you can also reference selected records from other dashboard views by using their view names:- i.e if(sum(ACCTS.amount) == 0, info('OK'), error('Error as ACCTS Sum does not equate to zero'))

...