Saves custom configuration settings to the database?

I am creating a fairly large enterprise application, executed in python, which in its first version will require a network connection.

I was thinking about storing some of the user settings stored in the database instead of a file in the users home folder.

Some of the benefits I was thinking about are as follows:

  • the user can change computers while keeping all his settings.
  • the parameters can be copied along with the rest of the system data (not a big problem).

What are some of the caveats to this approach?

+2


source to share


4 answers


It's pretty standard. Go for it.



The caveat is that when you take the database for maintenance, no one can use the application because their profile is not available. You can solve this by doing a 100% -d db solution, or, more simply, by using some form of profile caching locally ("offline" mode of operation). This will allow your application to function regardless of whether the user or db is online.

+8


source


One caveat may depend on where the user is using the app. For example, if they are using two computers with different screen resolutions, and the "selected scale / text size" is one of the things you associate with the user, this may not always be appropriate. It depends on what settings you intend to allow the user to configure. There are still some users in my workplace who find themselves on tiny LCD screens with a maximum resolution of 800x600 and we have to consider them when designing.



+5


source


Do you need a database to run any part of your application? If in this case there is no reason not to store the configuration inside the database. You already mentioned the benefits and there are no downsides.

+3


source


It makes perfect sense to store user preferences in the database if the preferences are specific to the application regardless of the user's location. One of the possible benefits of a file in a user's home folder is that users can send settings to each other. You can of course consider it an advantage or a disadvantage :-)

+3


source







All Articles