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:

Normally, the configuration files have distributed examples with a .dist suffix appended to the file names. The prefs.php file for example comes distributed as prefs.php.dist. Applications are configured by copying e.g. prefs.php.dist to prefs.php and editing the configuration files with any text editor.

The only exception is currently the conf.php file, which no longer comes as a conf.php.dist file, but 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 will be extended over other configuration files in the future.