MaXXsettings is a dynamic configuration management subsystem designed from the ground up with simplicity in mind while not sacrificing flexibility and extensibility. MaXXsettings comes with its own CLI interface allowing simple management, automation via scripting, inline-query and easy application integration. MaXXsettings also provides Java and C++ binding making it super easy to integrate within most modern applications. MaXXsettings allow the definition of System wide setting, we call them Instruments, and user’s overridables called User Preferences.
MaXXsettings source code and build instruction can be accessed on our public GitLab repository.
- Retrieve information as fast as possible (flat lookup speed curve).
- Provide different levels of verbosity (admin vs normal user).
- Software design based on current/modern technologies while future proofing the code with a component/modular approach.
- Use SOLID Principles (most): Single responsibility, open-close, interface segregation and dependency inversion.
- Favour simplicity over complexity.
- Support multiple OS.
- Provide a Command Line Interface (CLI) to administer, query and set data.
- Be human friendly with its interfaces.
- Provide an API for C++ and Java clients.
- Provide user based authentication.
- Support UTF-16 for its internal String encoding.
- Support hierarchical data structure suited for a dynamic typed configuration management system for Desktop, Application and FileType instrumentation.
- MaXXsettings Architecture [online]
- MaXXsettings Instrumentation Guide [online]
- MaXXdesktop Software Patterns Document [online]
No current plan (in the short term) to implement the C++ or Java MaXXsettings API. Application integration should be done via MaXXsettings CLI command-line mechanism.