An ‘App’ consists of processes, which have forms and data types inside them. It may also have reports. You can see this structure in the ‘App Viewer’ tile (in Advanced mode). Processes, Reports, Forms and Data Types are nested inside each other – a bit like an onion:
A ‘Data Type’ is a collection of Excel-like objects that store the information collected from processes and forms. For example, The Data Type in the Expense Claims App will contain two such objects – an ‘Expense Claim’ and a ‘Currency’. Imagine an Excel Book that contains two sheets – one called ‘Expense Claim’ and the other ‘Currency’.
As you add a currency , or a user raises an expense claims, all the fields from the form get stored in a single row of this sheet.
Data Objects aren’t really sheets. They get stored in a relational database in ‘tables’. The ‘Data Type Designer’ (An advanced designer) creates these tables for you.
Here’s how the two Data Objects we’ve mentioned will appear inside the Data Designer:
A process is connected to a form and also to a Data Object. When a process starts, a new ‘row’ in inserted in that Data Object’s sheet, alongside a unique id for that process instance, which we call a ‘Track ID’. Each Track ID identifies a Process Instance
When a user fills out the form associated with that process instance – the cells in that row store the values.
A process is a flow diagram, and contains Tasks. As the process instance progresses through Tasks, we also record which Task that process instance was in – how long it took and who worked on it. So the complete picture for a process looks something like this:
Both forms and processes can contain rules.
Rules change the way the form behaves – for example, doing calculations and putting up messages when a field value in incorrect. Process rules can make decisions about which task to perform next, store calculated values in the Data Object, send emails etc.
Here is a rule from the Expense Claims form.
When you change the ‘expense amount’ or the ‘currency rate’, the total field is updated as currencyRate X expAmount.
Reports are a way to examine and make sense of all the data we collect in Data Types,
Summary Reports create Pivot tables and Charts – much like Excel. List Reports show the row-by-row data.
Here’s A Summary Report from Expense Claims – The designer on the left shows all the fields for all process instances of Expense Claims.