Skip to main content

The Application Dictionary

The Application Dictionary is a set of sys_* tables, generated from the model, that describes the application to itself: which tables exist, their columns, and the windows, tabs and fields that present them.

TableDescribes
sys_table, sys_columnEvery business table and column, with types, references and value lists
sys_windowA screen. One per entity, plus the administration windows
sys_tabA tab on a window. A child entity's tab sits on its parent's window
sys_fieldA field on a tab: order, grouping, visibility and help

Change without a release​

Administrators rearrange, hide and group fields in the running application. Every dictionary write refreshes the cached copy, so the change takes effect on the next request, with no rebuild and no redeploy.

Adding a table or column at run time provisions its screen too: a new table gets a window and a tab, and a new column gets a field.

Parents and children​

An entity declared with parent: Invoice has no window of its own. Its tab is placed on the parent's window, linked by the reference it already declares, so opening an invoice shows its lines underneath.

Lookups and labels​

A reference field shows the record it points to by a readable label, not an id. The label comes from the target entity's identifying columns, chosen in a fixed order: a name or title, a first and last name, a code or number, descriptive text, and finally the first plain text column. A unique code beside a name shows both, such as "USD · US Dollar".

A reference can be narrowed by other values on the record. Choosing a country limits the states offered, and the backend refuses a write naming a state outside that country.