poetsma.com - Poetsma

Example domain paragraphs

A lot of AppStore modules, and probably your own modules too, require configuration to run properly in your application. A simple example is the AppStore SMTP Email module which needs to know how to access your SMTP server otherwise it cannot do what it is supposed to do. In this module and many other modules this is solved by allowing you to store that configuration data in the database and you can adjust these settings while the application runs.

As the data is stored in the database and it requires an administrator or developer to configure the modules it is a manual process that can introduce errors. And when the deployment documentation is not properly maintained it is hard to know what the desired configuration looks like. It becomes hard to deploy or recover an instance and have it up and running with little effort in configuration.

There are many cases but to illustrate my best practice I will use the AppStore module SMTP Email module as an example here. I prefer to use a mail server for the production instance and another one for all other environments. Consider this case: I have a copy of the production data on the acceptance server and I did not know that I had to make certain configuration adjustments. Due to testing the application, emails are sent to users. Real users! So my real production users receive emails from the acceptan