📄 Overview
To support instance-level default UI preferences, the application allows selective overriding of user settings via the config.json file. These overrides apply only if the user has not explicitly set a value through the UI settings panel.
This mechanism ensures that:
-
Users retain control over their preferences
-
Instances can enforce sensible defaults for new or unconfigured users
⚙️ How It Works
-
The system tracks which settings a user has explicitly configured.
-
During initialization, any setting defined in
userUiSettingsDefaultswill be applied only if the user has not set it themselves. -
This is a non-destructive override — user-defined values always take precedence.
-
Settings are applied in the api’s public/config.json
🧪 Example
{
"userUiSettingsDefaults": {
"searchCountEnabled": true,
"sortResultsArchivesByResultsCount": false,
"alwaysOpenNewTab": false
}
}
If the user has previously set alwaysOpenNewTab to true, that value will remain unchanged. The other two settings will be applied from the defaults.
🧾 Supported Settings
The following properties can be included in userUiSettingsDefaults. All are optional and must match the expected type:
|
Setting |
Type |
Description |
|---|---|---|
|
|
|
Always open documents in a new tab |
|
|
|
Default background color for note annotations |
|
|
|
Default font name for note annotations |
|
|
|
Default font size for note annotations |
|
|
|
Results per page in archive history |
|
|
|
Results per page in archive view |
|
|
|
UI language preference |
|
|
|
User-defined stamp annotations |
|
|
|
Sets the default document zoom in the viewer. |
|
|
|
Delete inbox document after insert |
|
|
|
Delete search documents after insert |
|
|
|
Double-click opens document |
|
|
|
Results in a dropdown list before converting to type ahead |
|
|
|
Append matched values to multivalues |
|
|
|
Include system fields in DXC lookups |
|
|
|
List of enabled GlobalAction tasks |
|
|
|
Hide empty archives |
|
|
|
Reload fields after save |
|
|
|
Keep base document after insert |
|
|
|
Use local OCR for keyfree |
|
|
|
Auto-enable OCR when no text layer is found |
|
|
|
Persist import data across sessions |
|
|
|
Refresh results when closing tabs (requires |
|
|
|
Load search counts in archive menu |
|
|
|
Show domain in history results |
|
|
|
Show favorite searches in sidebar |
|
|
|
Show GlobalAction tasks in sidebar |
|
|
|
Show buttons to edit cells in a table field |
|
|
|
Show table field columns in grid view |
|
|
|
Show versions archive |
|
|
|
Sort multi-archive search by result count |
|
|
|
UI theme mode ( |
|
|
|
Enable Compact Mode by default |
|
|
|
Use previous criteria in related search |
|
|
|
Autosave changes in internal viewer |
|
|
|
Use internal document viewer |
|
|
|
Use internal viewer for imports |
|
|
|
Automatically resize text areas to fit content on focus |
🧠 Best Practices
-
Use
userUiSettingsDefaultssparingly to avoid overriding user intent.