Editorials

What Belongs in an Application Configuration File?


What Belongs in an Application Configuration File?

Primarily working from a software development perspective I have found the saving configuration data in a file to be a great technique for modifying application behavior without having to re-compile the application. For example, configuration settings such as the Level of Logging can allow you to increase or reduce the detail of logging allowing you to see detail log information during debugging, or reducing the number of log entries so that you are not overwhelmed by the noise necessary when debugging.

Recently I have been reading complaints from System Administrators regarding what they consider abuse of a configuration file. Some applications put so much information in the configuration file requiring intimate understanding of how the application works in order to use it effectively. As a result, the entries in the Configuration file which would normally be used by a System Administrator are lost in the noise.

So, who is right? What really belongs in the Configuration file? Should it be restricted to only those entries which would/could be tweaked by an trained operations person, or should application logic be included as well? If application logic is not included in configuration data, are there other software patterns better serving the needs?

I think this would be a great topic for you to contribute your thoughts. It will be great to hear from System Administrators and Software Developers alike to provide a balanced perspective on the question.

Share your thoughts with us online, or drop an email to me at btaylor@sswug.org.

Cheers,

Ben