Skip to content
JTS

Loading advanced system settings…

Configurable fields that survive being renamed

Knowledge article · 23 Jul 2026

Source
GitHub · README
Status
Published

Content

Stable per-field keys and options stored as id=label so an admin can change the configuration without breaking historical data.

The use case

“Let an admin add a new field without a developer touching the schema.” Fields are defined in configuration tables and the values are stored as a versioned JSON blob in a single text column.

The two key decisions

  • A stable key per field (an autonumber column, jts_fieldkey). The JSON stores { fieldKey, definitionId, label, type, value } and matches saved values by that key, not by the label. Renaming a field never loses data.
  • Options as id=label, one per line:
1=Commercial
2=Private
3=Other

The id is saved, not the text. Fixing a typo in a label never invalidates historical data.

Bonus

Every table and column name the control uses is a configurable property, so it can be reused with a different schema without recompiling.

General

Published
23 Jul 2026
Source
GitHub · README
Related project
Dynamic Field Editor