On this page
Data view configuration
Control how Trazadera Golden names, lists, summarizes, and lays out records without changing their dataset or stored values.
A data-view resource customizes record presentation for one dataset. It can
set the record title, list columns and summaries, and record-form layout. It
does not change stored data, validation, matching, or merge behavior.
Select the view through the entity’s
view for a root-only selection, or datasetViews for a map keyed by dataset
identifier, including nested datasets. When datasetViews is present, it is
the complete selection and view is ignored. Each selected view must describe
the corresponding dataset.
Without a selected view, records display all dataset columns in dataset order.
Resource structure
This is sample-customer-view from the
Aurelia Utilities sample, shortened:
{
"_id": "sample-customer-view",
"type": "data-view",
"description": "Aurelia Utilities - how a residential customer is presented",
"dataset": "sample-customer",
"title": "{{fullName}}{{#taxId}} · {{taxId}}{{/taxId}}",
"list": {
"columns": [
{
"column": "fullName",
"label": "Customer",
"widthPercent": 20
},
{
"column": "taxId",
"label": "Tax ID",
"widthPercent": 10,
"format": "MONO"
},
{
"column": "email",
"label": "Email",
"widthPercent": 14,
"truncate": 32
},
{
"column": "city",
"label": "City",
"widthPercent": 8
},
{
"column": "province",
"label": "Province",
"widthPercent": 8
},
{
"column": "_source",
"widthPercent": 14,
"truncate": 32
},
{
"expression": "https://origen.aurelia-utilities.example/{{_id}}",
"label": "Go to system",
"widthPercent": 18,
"format": "LINK"
},
{
"column": "_quality",
"widthPercent": 8,
"align": "RIGHT"
}
],
"summaries": []
},
"form": {
"sections": [
{
"label": "Identity",
"frame": "NONE",
"width": 6,
"columns": [
{
"column": "fullName",
"width": 12
},
{
"column": "firstName",
"width": 6
},
{
"column": "lastName",
"width": 6
},
{
"column": "taxId",
"width": 6
}
]
},
{
"label": "Contact",
"frame": "NONE",
"width": 6,
"columns": [
{
"column": "email",
"width": 12
},
{
"column": "phone",
"width": 6
}
]
}
],
"render": []
}
}
The example omits localized labels and the remaining form sections. _source
and _quality are supported presentation fields, not ordinary dataset columns.
Their labels and rendering belong to Golden; configure placement and width
rather than substituting a business field called sourceSystem. _quality
in a view resolves the quality metadata and does not imply a top-level writable
record member.
Title and column templates
Templates use Mustache. Use {{column}} for a field and
{{#column}}…{{/column}} for text that depends on a non-empty field.
{{fullName}}{{#taxId}} · {{taxId}}{{/taxId}}
A record with no tax identifier renders as the name alone, with no trailing separator. Written as plain concatenation it would read “Ana Garcia Munoz ·”.
Literal text stays literal, and an empty or absent field renders nothing. Templates compose text from field values. They do not support arithmetic, comparisons, or counting expressions.
A view whose title comes out blank — every column it names is empty on that
record — falls back to the record identifier, when the resulting title contains no usable value. When no title template is configured and the dataset uses COLUMN identity,
Golden builds a title from its identity columns. This differs from a configured
template that produces an empty result for a particular record.
The same language works in a list column’s expression, as a template over the
whole row. Set either column or expression on a list column.
widthPercent on a list column and width on a form column are different
scales. The first is a percentage of the table, 1 to 100; the second is a
share of the twelve-column form grid. They are not interchangeable.
Test expressions with representative records, including missing values, to verify conditional text and separators.
Configure record lists
Each list.columns entry names a dataset column or provides an expression
for a composed display value. It can also override:
- header label;
- width from 1 to 100 percent;
LEFT,RIGHT, orCENTERalignment;- character truncation; and
LINK,BADGE,MONO, orTEXTformat.
For arrays and nested datasets, list.summaries can render COUNT, TEMPLATE,
or LIST. LIST also supports a separator and a maximum displayed item count.
A TEMPLATE summary uses Mustache in the context of each nested item.
Reference a field as {{street}}. Legacy {field} definitions are converted
when read and exported in the current format.
{ "column": "addresses", "mode": "TEMPLATE", "template": "{{street}}, {{city}}" }
A bare string remains accepted as shorthand for a simple list column. For
example, "email" is equivalent to {"column": "email"}. Older title
definitions expressed as lists of column keys remain readable; use an
expression for new views.
Configure the record form
Form sections and fields use a 12-column layout. Sections can define a label, width, new-row behavior, collapsed state, and ordered fields. Fields can override label, width, row break, and nested-field order.
Array-editor overrides belong in the separate form.render list. Each entry
names column and a render mode: DEFAULT, TABLE, TABS, TABS_TOP, or
GRID. Choose based on the number and complexity of fields, then test narrow
and wide screens used by the intended workflow.
Test without saving
In the resource editor, use Test with representative records before saving.
The API equivalent is POST /api/resources/view/resolve, which resolves a draft
definition without storing it. The normal resource-save operation is still
required to persist the view, and the entity must select it before record
responses use it.
Table record responses include the resolved view when the owning entity selects one, so
API clients can apply the same presentation metadata.