Configuration files

All applications' configuration files are inside the applications' config/ directories. All configuration files are valid PHP files. This has the drawback that they are more difficult to edit, and that administrators might create invalid PHP code, leading to parsing errors and breaking the applications.

But there are several good reasons for making configuration files PHP code:

There is a set of default configuration files that are mandatory for an application, or optional but consistently used across all applications:

Applications are configured by creating *.local.php files e.g. prefs.local.php to customize prefs.php and changing individual settings by adding them to those .local.php configuration files with any text editor.

The only exception is currently the conf.php file, which comes as a conf.xml file containing the available options and their default values as XML markup (see ConfXML). A graphical setup interface is created from this XML data that administrators can open and edit in their browsers. If they submit the configuration form, the PHP configuration files are created automatically, they no longer need to edited manually. This approach solves most of the drawbacks with PHP configuration files while keeping the good things:

This approach may be extended over other configuration files in the future.