Read-Only States
Read-only states let information remain visible while preventing users from editing it.
They help protect data when values should be checked, referenced, approved, imported, calculated, or controlled by another process.
Read-Only Rules
Record Values
A component can become read-only based on values stored on the current record.
For example, fields might become read-only after a record is approved, submitted, invoiced, or exported.
Permissions
Read-only states can also depend on user rights.
For example, ordinary users may be allowed to view finance fields while only finance users can edit them. An administrator may be able to override a locked value that other users can only read.
Source of Data
Some information should be visible but not edited because it comes from another process.
Imported values, calculated totals, generated reference numbers, and data owned by another system are common examples.
Configuration Scope
Components
Read-only behaviour can apply to configured components.
It is most common for fields and inputs, but it can also affect larger parts of a screen when a whole section should become locked.
Relationship to Conditional Display
Read-only states are related to Conditional Display, but they are not the same.
Conditional display decides whether something is visible. A read-only state keeps something visible while preventing changes.
Project Decisions
Project teams should clarify:
- which fields users may edit
- which fields should only be displayed
- when editable information should become locked
- who, if anyone, can override a read-only state
- whether read-only information needs explanatory text
Example
A project record might allow users to edit budget fields while the project is in planning.
After approval, those fields may become read-only for most users. Finance users or administrators may still be able to make controlled corrections.
Design Goal
Read-only states should make responsibility clear.
Users should understand whether a value is locked because of permissions, workflow state, source system ownership, or because the value is calculated.