
conf.xml

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:



<?xml version="1.0"?>
<!-- $Horde: $ -->
<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.


Sections

<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.


Headers

<configheader> puts text to help organize the screen


Strings

<configstring ...> for selecting an item from a list


    name - Second level $conf['configsection']['configstring'] variables
    desc - This is what shows up near the box for information about the entry
    required - will put a red star and make user enter data (true/false)


Booleans

<configboolean ...>value</configboolean>


    name - Second level $conf['configsection']['configboolean'] variables
    desc - This is what shows up near the box for information about the entry
    required - will put a red star and make user enter data (true/false)
    value - could be false or true


Enums (Select From a List)

<configenum ...>default_entry to provide a list of choices


    name - Second level $conf['configsection']['configenum'] variables
    desc - Descriptive text for list

within configenum section use:


 <values>
  <value desc="List entry1">list1</value>
  <value desc="List entry2">list2</value>
 </values>


Multi-Enums (Select Any Number From a List)

<configmultienum ...> for selecting multiple items from a list


    name - Second level $conf['configsection']['configmultienum']
    desc - Descriptive text for multienum entries


Special Values

<configspecial application="horde" name="apps" /> - "values" list of active horde apps


    name - Refers to case entry in Horde_Application::configSpecialValues()

See http://www.ralf-lang.de/2012/02/22/horde-config-how-to-fill-dropdowns-with-application-data-with-configspecial/ for a detailed explanation.


Switches

<configswitch ...> - mechanism for grouping sets of options
Use config entries from above to populate option choices.


    name - Third level $conf['configsection']['configstring']['configswitch']
    desc - Descriptive text for configswitch entries

<case ...> provides value for configswitch statement
Must reside within <configswitch> section


    name - $conf['configsection']['configstring']['configswitch'] = name_value
    desc - List value description

