Configuration Overview
Oidis uses a layered configuration system based on the JSONP format. Configuration is split into build-time settings (what gets compiled) and runtime settings (how the app behaves).
Pages in This Section
| Page | Purpose |
|---|---|
| JSONP System | The package.conf.jsonp file — project identity, dependencies, build settings, and the extendsConfig/imports composition mechanisms |
| Commons Config | commons.jsonp — runtime configuration for database, authentication, email, and service settings |
| Solutions | Build variants for different platforms and deployment targets — static, shared, app, and more |
| Frontend Configuration | How backend configuration reaches the browser — embedFeatures whitelisting, security boundaries, and runtime distribution |
| Application Settings | DB-backed runtime settings — initialized from JSONP, modifiable at runtime through the Hub GUI |
| DAO Layer | The BaseDAO configuration engine — hierarchical JSONP loading with inheritance, imports, localization, and the InstallationRecipeDAO protocol manager |
Configuration Layers
package.conf.jsonp— Defines what the project is: name, namespace, dependencies, build options. Read by Oidis Builder at build time.commons.jsonp— Defines how the app runs: database connection, auth settings, email transport. Read by the application at startup.- Solutions — Define build variants: which files to include, target platform, output format. Selected at build time via CLI.
- Frontend distribution — The
embedFeaturesmechanism controls which configuration values reach the browser. See Frontend Configuration. - Application Settings — DB-persisted settings initialized from JSONP, modifiable at runtime through the Hub GUI. See Application Settings.
For detailed Builder configuration (tasks, CLI flags, build profiles), see the Builder Configuration page.
Where Should I Put This Setting?
| Setting type | Config file | When it changes |
|---|---|---|
| Project identity, dependencies, build options | package.conf.jsonp | At development time (committed) |
| Database host, SMTP server, session timeout | commons.jsonp | Per deployment (committed) |
| Feature flags, mail engine toggle, default permissions | Application Settings | At runtime via Hub GUI (DB-persisted) |
| API keys, passwords, tokens | private.conf.jsonp | Per deployment (never committed) |
| Values the frontend needs | embedFeatures in Frontend Configuration | At build or restart time |
| Build variant (Docker, ARM, desktop) | Solutions | At build time via CLI flag |
See also: Builder Configuration | Architecture Overview | Frontend Configuration