Settings Editor
The Settings Editor allows you to configure backend and frontend settings for your applications with multi-layer inheritance.
Overview
Configure settings at three levels:
- Project Level - Defaults for all applications in the project
- Tenant Level - Defaults for all projects in the tenant
- Application Level - Specific to one application
Editor Modes
GUI Editor (Default)
User-friendly interface with forms and toggles.
Best for:
- Non-technical users
- Quick changes
- Structured data entry
JSON Editor
Raw JSON editing for advanced users.
Best for:
- Bulk changes
- Copy/paste configurations
- Advanced customization
Toggle between modes using the switch in the top-right corner.
Backend Settings
Configure backend modules and parameters.
Available Modules
View which backend modules can be enabled:
Modules: auth, api, analytics, reporting, webhooksEnabled Modules
Select which modules are active:
- [OK] auth
- [OK] api
- [OK] analytics
- reporting
- webhooks
Key-Value Pairs
Add custom configuration parameters:
| Key | Value |
|---|---|
api_version | v2 |
rate_limit | 1000 |
timeout | 30s |
Adding a Key-Value Pair
- Go to Backend tab
- Scroll to "Key-Value Pairs"
- Click Add Key-Value Pair
- Enter Key and Value
- Click Save
Frontend Settings
Configure frontend modules, themes, and locales.
Frontend Modules
Modules with version support:
dashboard@1.2.0reports@2.0.1settings@1.0.0
Enable/disable modules as needed.
Themes
Manage available themes:
| Theme | Enabled | Default |
|---|---|---|
| Light | [OK] | [Default] Default |
| Dark | [OK] | |
| Auto |
Setting Default Theme
- Ensure theme is enabled (checkbox)
- Click radio button in "Default?" column
- Changes save automatically
TIP
Users can override the default theme in their preferences.
Locales
Manage languages:
| Locale | Enabled | Default |
|---|---|---|
| English | [OK] | [Default] Default |
| Spanish | [OK] | |
| French |
Configuration Layers
Settings inherit from parent layers:
Tenant Settings
↓ (inherited)
Project Settings
↓ (inherited)
Application SettingsViewing Effective Configuration
The Layer Viewer shows:
- Current layer's settings
- Inherited values (in gray)
- Overridden values (highlighted)
- Final effective configuration
How Inheritance Works
Example:
Tenant sets:
{
"theme": "light",
"locale": "en"
}Project sets:
{
"theme": "dark"
}Application sets:
{
"locale": "es"
}Effective configuration for the application:
{
"theme": "dark", // from Project
"locale": "es" // from Application (overrides Tenant)
}Using GUI Mode
Backend Tab
Modules Section
- View available modules
- Toggle enabled/disabled
- Add new modules
Key-Value Pairs Section
- Add custom parameters
- Edit existing pairs
- Delete unused pairs
Frontend Tab
Modules Section
- Manage versioned modules
- Enable/disable
Themes Section
- Enable themes
- Set default
Locales Section
- Enable languages
- Set default language
Key-Value Pairs Section
- Custom frontend parameters
Saving Changes
- Most changes auto-save
- Watch for success notification
- Refresh page to see updates
Using JSON Mode
Backend JSON Example
{
"AvailableModules": ["auth", "api", "analytics"],
"EnabledModules": ["auth", "api"],
"KeyValuePairs": [
{
"Key": "api_version",
"Value": "v2"
},
{
"Key": "rate_limit",
"Value": "1000"
}
]
}Frontend JSON Example
{
"AvailableModules": ["dashboard@1.2.0", "reports@2.0.1"],
"EnabledModules": ["dashboard", "reports"],
"AvailableThemes": ["light", "dark"],
"EnabledThemes": ["light", "dark"],
"DefaultTheme": "light",
"AvailableLocales": ["en", "es"],
"EnabledLocales": ["en", "es"],
"DefaultLocale": "en",
"KeyValuePairs": [
{
"Key": "app_title",
"Value": "My Dashboard"
}
]
}Editing JSON
- Switch to JSON Editor mode
- Select Backend or Frontend tab
- Edit the JSON directly
- Click Save button
- Watch for validation errors
JSON Validation
Invalid JSON will show an error message. Fix syntax before saving.
Common Tasks
Copy Settings Between Layers
- View source layer (e.g., Project)
- Switch to JSON mode
- Copy the JSON
- Navigate to destination layer (e.g., Application)
- Switch to JSON mode
- Paste and modify as needed
- Save
Reset to Defaults
- View the layer you want to reset
- Delete all settings in JSON mode:json
{ "AvailableModules": [], "EnabledModules": [], "KeyValuePairs": [] } - Save
- Configuration will inherit from parent layer
Add Multiple Key-Value Pairs
GUI Mode: Add one at a time
JSON Mode: Add multiple at once:
{
"KeyValuePairs": [
{ "Key": "key1", "Value": "value1" },
{ "Key": "key2", "Value": "value2" },
{ "Key": "key3", "Value": "value3" }
]
}Best Practices
Configuration Strategy
- Set common defaults at tenant level - Apply to all projects and applications
- Override at project level - For project-specific needs
- Customize at application level - Only when necessary
Organizing Settings
- Use clear, descriptive keys
- Group related settings
- Document custom configurations
- Keep JSON formatted and readable
Testing Changes
- Make changes in development/staging first
- Test application behavior
- Apply to production when verified
Troubleshooting
Changes Not Applying
Check:
- Did you click Save?
- Is there a validation error?
- Is application caching settings?
- Are you editing the correct layer?
Cannot See Inherited Values
Solution: Use the Layer Viewer to see full inheritance chain
JSON Validation Error
Common issues:
- Missing comma between items
- Trailing comma after last item
- Unmatched brackets or braces
- Unquoted strings
Fix: Use a JSON validator or switch to GUI mode
Settings Conflict
Issue: Application behaves unexpectedly
Debug:
- View effective configuration
- Check each layer's settings
- Look for unexpected overrides
- Verify module compatibility
See Also
- Configuration Layers - Understand inheritance
- Managing Applications - Application setup
- Managing Projects - Project organization