====== Configuration XML Reference ======
Bedrock application settings are stored in XML files located in the application's //cfg// directory. Config files follow a simple structure that can easily be extended by adding custom tags directly into the document. The basic structure of a config file and the initial tags already understood by Bedrock are outlined below.
===== XML Heirarchy =====
===== Configuration Definition =====
These tags represent configuration options already understood by Bedrock. Additional tags can be defined for use within your application or plugin/extension.
//Note: //Any attributes marked in **''bold''** are required.
^ ''CONFIG'' ^ Description ^^^^
| | The main container for a configuration definition file. All other tags should be defined within this tag. ||||
| ^ Subtags ^^^^
| | ''[[configuration#config|config]]'' ||||
| |||||
^ ''MAIN'' ^ Description ^^^^
| | An arbitrary name for a configuration environment. Environments are collections of settings to use together. ||||
| ^ Subtags ^^^^
| | ''[[configuration#meta|meta]]'', ''[[configuration#root|root]]'', ''[[configuration#database|database]]'', ''[[configuration#cookie|cookie]]'', ''[[configuration#env|env]]'' ||||
| ^ Attribute ^ Type ^ Possible Values ^ Description |
| | ''extends'' | string | * | The name of another configuration environment that the current one extends. |
| |||||
^ ''META'' ^ Description ^^^^
| | A container for related meta information about the application. ||||
| ^ Subtags ^^^^
| | ''[[configuration#title|title]]'', ''[[configuration#version|version]]'', ''[[configuration#namespace|namespace]]'' ||||
| |||||
^ ''TITLE'' ^ Description ^^^^
| | A title for the application. ||||
| |||||
^ ''VERSION'' ^ Description ^^^^
| | The applilcation's current version. ||||
| |||||
^ ''NAMESPACE'' ^ Description ^^^^
| | The applilcation's root namespace in the class hierarchy (under the //lib// directory). ||||
| |||||
^ ''VERSION'' ^ Description ^^^^
| | The applilcation's current version. ||||
| |||||
^ ''ENV'' ^ Description ^^^^
| | A container for server environment values. ||||
| ^ Subtags ^^^^
| | ''[[configuration#os|os]]'' ||||
| |||||
^ ''OS'' ^ Description ^^^^
| | A container for the application's cookie settings. ||||
| |||||
^ ''NAME'' ^ Description ^^^^
| | The application's cookie name. ||||
| |||||
^ ''LIFE'' ^ Description ^^^^
| | The application's cookie lifetime. ||||
===== Root Directory Settings =====
These settings allow for defining custom locations for root directories for various parts of an application. If omitted, the default settings will be used (as defined in the [[docs:introduction#getting_started|getting started]] section).
^ ''ROOT'' ^ Description ^^^^
| | A container for root directory settings. ||||
| ^ Subtags ^^^^
| | ''[[configuration#system|system]]'', ''[[configuration#cfg|cfg]]'', ''[[configuration#lib|lib]]'', ''[[configuration#log|log]]'', ''[[configuration#pub|pub]]'' ||||
| |||||
^ ''SYSTEM'' ^ Description ^^^^
| | The absolute path to the application's main root directory. ||||
| |||||
^ ''CFG'' ^ Description ^^^^
| | The location of the configuration file directory. ||||
| |||||
^ ''LIB'' ^ Description ^^^^
| | The library directory, containing all external libraries used in an application (including the Bedrock codebase). ||||
| |||||
^ ''LOG'' ^ Description ^^^^
| | The log file directory. ||||
| |||||
^ ''PUB'' ^ Description ^^^^
| | The public directory containing all browser-accessible files, as well as the main index script ("index.php"). ||||
===== Database Settings =====
Currently only [[http://www.mysql.com/|MySQL]] databases are supported, though the type setting is still required. Wider database support is expected in future releases.
^ ''DATABASE'' ^ Description ^^^^
| | A container for database configuration settings. ||||
| ^ Subtags ^^^^
| | ''[[configuration#type|type]]'', ''[[configuration#host|host]]'', ''[[configuration#dbname|dbname]]'', ''[[configuration#username|username]]'', ''[[configuration#password|password]]'', ''[[configuration#port|port]]'' ||||
| |||||
^ ''TYPE'' ^ Description ^^^^
| | The type of databse system (i.e. "mysql"). ||||
| |||||
^ ''HOST'' ^ Description ^^^^
| | The hostname or IP address of the database server. ||||
| |||||
^ ''PORT'' ^ Description ^^^^
| | The port on which the database is hosted (omitting this tag will use the default for the specified type). ||||
| |||||
^ ''DBNAME'' ^ Description ^^^^
| | The name of the database to use. ||||
| |||||
^ ''USERNAME'' ^ Description ^^^^
| | A valid username for the database. ||||
| |||||
^ ''PASSWORD'' ^ Description ^^^^
| | A valid password for the database. ||||