application-development/configuration-model.md
On this page
— title: Configuration model description: Lux makes a component’s behavior configurable at three levels: code, admin policy, and individual preference without three separate systems to learn. You add one decorator, @config, to a class field to opt a property into all of it. locale: en-US canonical_url: www.servicenow.com/docs/r/australia/application-development/configuration-model.html release: australia topic_type: concept last_updated: “2026-10-03” reading_time_minutes: 2 keywords: [Configuration model, Three players, Default value, Promotion and upgrade safety, What this chapter covers]
breadcrumb: [Configure experiences, Lux Development, Building pro-code applications, Developing your application, Building applications]
Configuration model
Lux makes a component’s behavior configurable at three levels: code, admin policy, and individual preference without three separate systems to learn. You add one decorator, @config, to a class field to opt a property into all of it.
Configuration is stored as metadata override layers rather than as a code fork, so an admin’s changes reapply cleanly across upgrades.
Three players
Every configurable value passes through the same three parties:
-
Declare: developer
Tags which properties are configurable, sets the code-level default, and defines the choices, types, and labels that drive the generated config UI. Nothing is editable until it is declared.
-
Configure: customer admin
Configures shipped pages and widgets directly on the live page, in non-production, then promotes the change through an update set.
-
Personalize: end user
Adjusts their own view within admin-defined bounds.
As the developer you only need to read this.propertyName in your component. The framework resolves the value that getter returns.
Configuration is not a replacement for UI Builder, a tool for building widgets or pages, or a standalone no-code builder. This is a pro-code workflow: a developer writes the declaration, and an admin configures what the developer declared.
Default value
A @config property resolves to its developer default, the value assigned in your code.
Promotion and upgrade safety
sys_aix_configuration extends sys_metadata, so admin configuration participates in update sets exactly like a business rule or a UI policy; no special export or import path.
Related topics
Configurable properties for Lux experiences
[admin-experience]
Keep exploring.
Find another answer, or bring this documentation into your own tools.