For a CMS product / platform, what would be a convenient and understandable approach for editing and saving settings?
I'm not talking about technical parameters (connstring, nh config, ...), but about settings that change the behavior of the product:
These settings, for example,
- Online Payment Settings
- Available Parts and Modules
- Default behavior of the application (showing details of the default list item, default landing page after certain actions)
- ...
At the moment, we do not have an approach, so the result is that all the settings end in the web.config file.
This is probably not the best approach since it just ends with an endless list of obscure key value pairs ...
In this case, we also cannot predict types (without codegen), so settings with flags or predefined parameters ... are difficult to manage.
Another option would be to create the necessary tables for each parameter (type) and use it as a basic configuration system, but it will be more difficult to deploy and manage each client.
I have many answers to this question, but in reality this is not a top-down solution.
What I mean from top to bottom:
- Editing Settings (Admin Screen)
- Where to save settings
- Download settings without much hassle, but still supported way
- Save / Deploy Client-specific Settings
So, the options are:
- (web) .config
- .settings files
- Db
But these are all key value based approaches ... Any other suggestions?
source share