Managing important runtime business logic with regard to a codebase
- by Daniel Beardsley
I'm working on a project which will end up have a lot of application information stored in the form of records in a database. In this case, it's the configuration of data views:
which grid columns to show/hide
default filters to apply to each grid view
column titles
sorting
subtotaling
...
This information is a big part of the value of the application and is essential to it's function. The data will be altered by admins a fair amount, so it's not static and it wouldn't be appropriate to have to deploy a new version of the app every time the data changes.
The question is, Where should this data be stored? It will definitely live in the database because that's how it's accessed, but I feel like it needs to also be kept with the version controlled codebase because it's an integral part of functioning of the application. Has anyone dealt with an issue like this before? What did you end up doing?