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 tenants and applications in the project
- Tenant Level - Defaults for all applications 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 editor mode selector at the top of the settings page.
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 the theme is enabled
- Select it as the default
- Save the changes
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:
Project Settings
↓ (inherited)
Tenant 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:
Project sets:
{
"theme": "light",
"locale": "en"
}Tenant sets:
{
"theme": "dark"
}Application sets:
{
"locale": "es"
}Effective configuration for the application:
{
"theme": "dark", // from Tenant
"locale": "es" // from Application (overrides Project)
}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
- Click Save in each editor section to persist changes
- Watch for the success notification
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 project level - Apply to all tenants and applications
- Override at tenant level - For environment-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