Global-fields schema
The YAML keys that define site-wide global fields, the schema root, the two write tools, and the flat runtime read path.
Global fields hold values shared across the whole site, the brand name, a baseline, contact details, an analytics tag. The schema mirrors a page-type's tabsets, but at runtime every value is read flat under globals. Schema and data are written by two distinct tools.
Schema root
The schema root is tabsets:, not a groups: wrapper. Each tabset is tabsets.<key>.{name, fields}, the same shape as content-type and page-type tabsets. A tabset groups fields into an editing tab in the backoffice; the tabset key never appears in the runtime path.
| Key | Type | Notes |
|---|---|---|
tabsets |
object | Schema root. tabsets.<key>.{name, fields}. |
tabsets.<key>.name |
string | Backoffice tab label. |
tabsets.<key>.fields |
object | camelCase field map; each field is a {type, label, …} descriptor. |
Each field is a standard typed field. See Custom fields for the field-type catalogue and per-type config.
tabsets:
infos:
name: Infos
fields:
brandName:
type: text
label: Nom de la revue
translatable: false
baseline:
type: text
label: Baseline
translatable: true
email:
type: text
label: Email de la rédaction
translatable: false
publicationRhythm:
type: text
label: Publication rhythm
translatable: true
social:
type: textarea
label: Réseaux sociaux
translatable: false
copyright:
type: text
label: Mention de copyright
translatable: false
site:
name: Paramètres du site
fields:
GA:
type: text
label: Tag Google Analytics
translatable: false
Runtime read is flat
At render time, global fields are read as globals.<field>, with the tabset key dropped. The schema path tabsets.infos.fields.copyright becomes the template path globals.copyright, never globals.infos.copyright.
{{ globals.brandName }}
{{ globals.baseline }}
{{ globals.copyright }}
See Template variables for the full globals context object.
Write paths
The schema and the data are written by two different tools.
| Target | Tool | Notes |
|---|---|---|
| Schema | update-settings-partial |
setting_type: 'global-fields', target: <tabsetKey>. yaml_content MUST start with <tabsetKey>:. |
| Data (values) | update-global-fields-data |
data and translations are both JSON-stringified strings. Partial, omitted fields are preserved. Read back with get-global-fields-data. |
The schema tool defines what fields exist; the data tool fills their values per locale. See MCP tools for the wrapper and translation rules.
Related
Last updated September 6, 2026.