Concepts and Terminology

DbfScript is an optional part of a WorkflowFirst application. The critical part of the application is the data model, and from this the system is able to generate a full application with user interface, navigation, and everything you need to have a fully functional application that supports viewing, creating, updating and deleting records.

DbfScript comes into play when you need to make your application more intelligent. Adding calculated fields is one example where you will use DbfScript expressions (which exclude any kind of program control). Other areas where you can use DbfScript is in actions and events.

Actions are buttons or 'What Next' links that can appear at any location in the database you choose, and act on the record that is in focus, or any other record it so chooses. Actions are initiated by the user.

Events trigger when a specific change occurs in the database. You are guaranteed that when that type of record changes, your DbfScript event handling code will be invoked. It can then add fields to the update, change other bits of data, or even communicate with an external device.

In all cases, the DbfScript is free to access and update any part of the database.

The following terminology is useful to remember when reading the reference guide and using DbfScript:

Node : A node is the same as a record in the database.

Path : The path refers to a string that represents the location in the database.

File object : this is the value of a field that is set to 'File' data type that contains file data, normally uploaded through the web browser. This data is stored in something called a File Object that can only be accessed using the functions defined in the File Functions section. These files can be downloaded using the getfile.aspx page of your application.

Sequence : This is a variable that contains a list of records.

Event Handler: An event handler is a piece of code that occurs on a specific event, such as a record updating or being inserted.

Action: An action is a piece of code that is invoked by the user by clicking a link in the What Next list, or a button.

The documentation may sometimes refer to report ID or an action ID.

The report ID is usually the title of the report with spaces removed. For global reports, just that report name alone will suffice. For reports under a specific type, the name of the type should precede the name of the report, separated by an underscore.

For example, a report that has the title "Daily Transactions" would have a report name of DailyTransactions (space removed). If this was under the type called Accounts, then the report ID would be Accounts_DailyTransactions. If it's in a sub-type under Accounts, perhaps called Files then the type will be AccountsFiles and the report ID would be AccountsFiles_DailyTransactions.

Action IDs are always just the title of the action with spaces removed.

Please post all questions on the support forum. Thank you.