Info: This article is work in progress and subject to change.
A disabled component is one the user can see but cannot interact with — a Field that shows a value but cannot be edited, a button that is greyed out and does not respond to clicks. Disabling is the right tool when the component should remain visible to inform the user but should not be acted on.
The Workflow Assistant Configurator gives you two ways to disable a component: a hard override called Disabled, and a Lucene-driven Disable condition. This article covers both, the message options that go with them, and the patterns and pitfalls of writing disable conditions that read well.
For the conceptual introduction to Lucene, see 02d — How conditions work. For the visibility checklist (which hides rather than disables), see 06a.
Disabled versus Disable condition
| Setting | Behaviour | Use when |
|---|---|---|
| Disabled | When on, the component is non-editable regardless of any condition | The component should be permanently non-editable for everyone — for example, a system-managed field like file size |
| Disable condition | A Lucene query against the selected asset’s metadata. When the query is true, the component is non-editable | The component is sometimes editable and sometimes not, depending on the state of the asset |
If both are set, Disabled wins. The condition is only consulted if Disabled is off.
| Field-only options | Button-only options |
|---|---|
| Disable condition • Disabled overlay message • Disabled | Disable condition • Disabled message |
A small but important difference: Fields support both Disabled as a hard override and Disable condition; buttons support only Disable condition plus the visible Disabled message.
Always pair a condition with a message
Silent disable is the most common bug in panel design. The user sees a greyed-out field or button, has no idea why, and opens a support ticket.
Every disable condition you write should be paired with a clear, specific message:
- Disabled overlay message for Fields — shown as an overlay when the user hovers a non-editable field
- Disabled message for buttons — shown as a sentence under the button when it is disabled
The message should answer the user’s two questions in one sentence: why is this disabled, and what should I do?
| Bad message | Good message |
|---|---|
Not editable |
Locked while the asset is in Final review |
Disabled |
Select an asset before clicking this button |
Cannot run |
Add a credit in the field above before publishing |
Action unavailable |
This action only applies to assets in /Projects/WIP and Final |
Note: A disable without a message is treated by support as a documentation bug. If you write a condition, write the message at the same time. The two are not optional in combination.
How a disable condition is evaluated
The condition runs every time the user changes their selection or edits a metadata value the condition depends on. The Workflow Assistant evaluates the Lucene query against the metadata of the currently selected asset:
- If the query returns true, the component is disabled
- If the query returns false, the component is editable
- If the query has a syntax error, the Workflow Assistant treats the condition as false — the component remains editable. The error appears in the developer console; it does not block the panel
This last behaviour is important: a misspelled condition disables nothing. Test every condition before publish to confirm it actually fires when you expect it to.
Tip: To verify a condition is firing, open the panel as a test user with assets that should and should not match. For each one, the field’s editability should change. If the condition seems to do nothing, the most likely cause is a typo in the field name — Lucene treats assetdomain:image and assetDomain:image as different queries against different (and often non-existent) fields.
Patterns
Lock during review
Lock a field while the asset is being reviewed.
| Setting | Value |
|---|---|
| Disable condition | status:"Awaiting review" |
| Disabled overlay message | This field is locked while the asset is in review. |
Block until a parent value is set
Disable a button until a precondition is satisfied.
| Setting | Value |
|---|---|
| Disable condition (on a Reject button) | NOT status:"Approved" |
| Disabled message | Approval required first — only approved assets can be rejected by the next reviewer. |
Restrict to a folder
Limit a button to assets in a particular Assets folder.
| Setting | Value |
|---|---|
| Disable condition | NOT ancestorPaths:"/Projects/WIP and Final" |
| Disabled message | This action only applies to files in WIP and Final. |
Lock a system-managed field permanently
A read-only Formatted field for file size.
| Setting | Value |
|---|---|
| Disabled | On (a hard override; no condition needed) |
| Disabled overlay message | File size is calculated by Assets and cannot be edited. |
Disable when the field above is empty
Use the absence of a value as the condition.
| Setting | Value |
|---|---|
| Disable condition (on a Publish button) | NOT credit:* |
| Disabled message | Add a credit before publishing. |
Writing readable conditions
A few habits make conditions easier to read at review time.
| Habit | Why |
|---|---|
| Use parentheses to group multi-clause conditions |
(status:"Final" AND NOT cf_archived:true) OR cf_overrideLock:true reads more clearly than the same expression unparenthesised |
| Quote multi-word values |
status:"Awaiting review" works; status:Awaiting review parses as status:Awaiting AND review, almost certainly wrong |
| Match the field’s case exactly | The Field name is case-sensitive. Use the autocomplete in the Configurator to confirm the exact name |
| Keep conditions to one line where possible | A condition longer than 100 characters often hides a nested logic problem. Refactor it before publishing |
Diagnostic: why is my component disabled when it should not be?
| Symptom | Likely cause | Fix |
|---|---|---|
| The field is disabled for every selection | Disabled is on (the hard override), or Disable condition is always true | Turn off Disabled. If using a condition, test it in Assets directly to see what it returns |
| The button is disabled with no message | The Disabled message is empty | Set the Disabled message. Always |
| The condition seems to do nothing | The Lucene query has a typo — most often a wrong field-name case | Re-type the field name from the autocomplete; replace the existing value |
| The user reports the disabled state but you cannot reproduce it | The user is signed in to Assets in a different group, or against a different asset state | Reproduce in a test-user browser window with the same selection |
Cross-references
- 02d — How conditions work — Lucene primer
- 05a — Fields reference — every Field’s disable options
- 05b — Actions and buttons reference — every Action’s disable options, including Always on
- 06a — Showing components for the right asset kinds — for hide-versus-disable decisions
- 06c — Requiring values and validating input — the required-condition counterpart
- 12a — Lucene query quick reference — the full Lucene vocabulary
Revisions
- 8 May 2026: First publication of the manual
Comments
0 comments
Please sign in to leave a comment.