This document describes the available configuration settings from the `configuration.php` file in more detail.
## Language configuration
This is the core language which will be used. A corresponding language file **must exists** within `core/language/`. Currently are only `en` and `de` supported. If you are a translator, please only use the original `en` language file for your translation and open a pull request on GitHub or send your language file via email to `code@nerdmind.de`!
* `CORE.LANGUAGE`: [string: `'en'`]
## ETag configuration
If this parameter is set to `TRUE`, the system will generate an `ETag` header which includes a hash of the configuration and the timestamps of the last published items and sends them to the client. The client will cache this header and sends them with each further request in the request header to the application. If the hash which the appplication now again creates is not the same as the one from the request header (which means that no new items was published), the application exit and returns the `304 Not Modified` response header.
* `CORE.SEND_304`: [boolean: `TRUE`|`FALSE`]
## Blog informations
Meta informations about your custom blog installation. Note that `BLOGMETA.LANG` is not the system language! It is the language in which **your content** is written and is useful for the `lang` attribute on the `` tag within the template. It depends on the template whether this variable is used or not.
* `BLOGMETA.NAME`: [string: `'My Techblog'`]
* `BLOGMETA.DESC`: [string: `'[a creative description]'`]
* `BLOGMETA.HOME`: [string: `'Welcome'`]
* `BLOGMETA.MAIL`: [string: `'webmaster@example.org'`]
* `BLOGMETA.LANG`: [string: `'en'`]
## Database
Database and hostname with login credentials to authenticate to the MySQL server.
* `DATABASE.HOSTNAME`: [string: `'localhost'`]
* `DATABASE.BASENAME`: [string: `'niceblog'`]
* `DATABASE.USERNAME`: [string: `'john_doe'`]
* `DATABASE.PASSWORD`: [string: `'#passwd#'`]
## Backend
Settings for administration area. A corresponding language file **must exists** within the template directory of the template defined by `ADMIN.TEMPLATE`!
* `ADMIN.TEMPLATE`: [string: `'admin'`]
* `ADMIN.LANGUAGE`: [string: `'en'`]
## Template
Template directory and language (from `template/{template_name}/lang/`) to use.
* `TEMPLATE.NAME`: [string: `'standard'`]
* `TEMPLATE.LANG`: [string: `'en'`]
## Paths
Protocol, hostname and base directory for your installation.
* `PATHINFO.PROT`: [string: `'https'`]
* `PATHINFO.HOST`: [string: `'example.org'`]
* `PATHINFO.BASE`: [string: `'sub/directory/'`]
## List size
Number of items to display per-site on overview sites.
* `PAGE.LIST_SIZE`: [integer: `10`]
* `POST.LIST_SIZE`: [integer: `10`]
* `USER.LIST_SIZE`: [integer: `10`]
## Feed size
Number of items to display within the RSS feed.
* `PAGE.FEED_SIZE`: [integer: `25`]
* `POST.FEED_SIZE`: [integer: `25`]
## Slug URLs
Enable or disable the use of slug URLs for item permalinks. If disabled, the unique primary item ID is used instead.
* `PAGE.SLUG_URLS`: [boolean: `TRUE`|`FALSE`]
* `POST.SLUG_URLS`: [boolean: `TRUE`|`FALSE`]
* `USER.SLUG_URLS`: [boolean: `TRUE`|`FALSE`]
## Directories
Item base directories relative to your base directory where the application is installed.
* `PAGE.DIRECTORY`: [string: `'page/'`]
* `POST.DIRECTORY`: [string: `'post/'`]
* `USER.DIRECTORY`: [string: `'user/'`]
## Emoticons
Enable or disable parsing of emoticons for the body of the item.
* `PAGE.EMOTICONS`: [boolean: `TRUE`|`FALSE`]
* `POST.EMOTICONS`: [boolean: `TRUE`|`FALSE`]
* `USER.EMOTICONS`: [boolean: `TRUE`|`FALSE`]
## `` description
Number of characters from the items content to display within the `` description.
* `PAGE.DESCRIPTION_SIZE`: [integer: `200`]
* `POST.DESCRIPTION_SIZE`: [integer: `200`]
* `USER.DESCRIPTION_SIZE`: [integer: `200`]
## Item overview sorting
The `ORDER BY` clause for item sorting on item overview sites. You can use each column from the database table to sort and you also can combine multiple columns together. See the [MySQL documentation for `ORDER BY`](https://dev.mysql.com/doc/refman/5.5/en/sorting-rows.html) for more information.
* `PAGE.LIST_SORT`: [string: `'time_insert DESC'`]
* `POST.LIST_SORT`: [string: `'time_insert DESC'`]
* `USER.LIST_SORT`: [string: `'time_insert DESC'`]
## Feed sorting
The `ORDER BY` clause for item sorting within the RSS feed. You can use each column from the database table to sort and you also can combine multiple columns together. See the [MySQL documentation for `ORDER BY`](https://dev.mysql.com/doc/refman/5.5/en/sorting-rows.html) for more information.
**Note:** It depends on the RSS reader how the content is sorted. The settings here are only for the sorting of the content in the XML source code, but it is nevertheless a good idea to sort them as they should appear in the RSS reader.
* `PAGE.FEED_SORT`: [string: `'time_insert DESC'`]
* `POST.FEED_SORT`: [string: `'time_insert DESC'`]
## Feed `` hash
Item attributes (database columns) to use to generate the `` value for the RSS feed items.
* `PAGE.FEED_GUID`: [array: `['id', 'time_insert']`]
* `POST.FEED_GUID`: [array: `['id', 'time_insert']`]