Processes in Architect

The Architect uses processes to model what an application should do. Processes are in that regard different from expressions. Expressions focus on handling values and data, whereas processes focus on the behavior of an application and streamlining interaction with the user. In this post we tell about process editor and name the types of Novulo processes. You can check them in the separate posts:

Types of processes:

process menu

The process editor

The concepts in the Process editor work similar to the Expression editor as processes are also modeled as a node graph. In this case, the structure is not tree-based but rather a flow chart. A process should be “read” from top to bottom. The process starts with the green “Start” button at the top > walks the flow chart downwards by initiating actions along the way > and (usually) ends with “Return”.

process

Actions

A process always begins with a trigger. This trigger might be a click on a button / an interaction with an element in the user interface / a loading page, etc. That trigger will initiate an action.

An action works like this:

  • it gets parameters as input (“Start”),
  • it does something,
  • then it outputs return values.

Parameters and return values can pass information from one action into another. In other words, an action can start another action or branch the flow chart to start different further actions and subsequently different return values. Aside from flow control, actions are also particularly relevant in error handling as messages can be shown to display what error happened in the action.

Decisions

A decision contains a conditional expression inside that will return a true/false value. It branches the process into two flows (true or false). Click on the yellow diamond to access the conditional expression. It will prompt the Expression editor to model that expression.

For Each

A For Each automates subsequent actions by creating a loop. A For Each is particularly useful for batch operations on a selection of data. For example, when one designs a grid with a list of all products that are sold in a shop, the user can select several products and press a “Set out of stock”-button. This button will trigger the data manipulation for every selected product.

Process control

Processes can get a Continue, Break, or Return command:

  • Continue tells the process to iterate (often used in For Each so the actions inside one loop are completed and the next loop can start),
  • Break will immediately stop the process. Even when more actions are supposed to happen, they will not be executed,
  • Return tells that the process is finished and tells the application to return to what it was doing.

User Interaction

The Show Dialog or Show Message actions can notify the user with a pop-up message.

Particularly for error handling these messages can be useful. Actions like Edit record have a small “Error handling” tab docked with them, that when pressed will automatically expand a flow for an error message in case something went wrong with the action.

Tip: Be very reserved with these popup messages. They can quickly become annoying for users and also can block processes from being fully automatable (if, for example, a process will wait for a user interaction).