Skip to content

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.