The XML file is layed out using several sections. These sections relate to variables that are used within horde. Here is an example XML snippet and the resulting configuration file entries:
<configuration> <configsection name="wicked"> <configheader>Application Settings</configheader> <configstring name="notify_address" desc="The email address to which changes on pages should be mailed. Leave empty if you don't want notification messages to be sent." required="false" /> <configenum name="diff_format" desc="The diff format that should be used when sending notifications.">unified <values> <value desc="Unified context">unified</value> <value desc="Copied context">context</value> <value desc="Side by side">sidebyside</value> </values> </configenum> </configsection> </configuration>
<configuration> is the start of the config file.
<configsection name="wicked"> produces first level $conf['wicked'] variables.
Multiple configsection names produces multiple levels.
<configsection name="level1"> <configsection name="level2"> ... </configsection> <configsection>
produces $conf['level1']['level2'] variables.
<configheader> puts text to help organize the screen
<configstring ...> for selecting an item from a list
<configenum ...>default_entry to provide a list of choices
within configenum section use:
<values> <value desc="List entry1">list1</value> <value desc="List entry2">list2</value> </values>
<configmultienum ...> for selecting multiple items from a list
<configspecial name="list-horde-apps" /> - "values" list of active horde apps
<configswitch ...> - mechanism for grouping sets of options
Use config entries from above to populate option choices.
<case ...> provides value for configswitch statement
Must reside within <configswitch> section