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:
Application Settings
unified
unified
context
sidebyside
is the start of the config file.
Sections
produces first level $conf['wicked'] variables.
Multiple configsection names produces multiple levels.
...
produces $conf['level1']['level2'] variables.
Headers
puts text to help organize the screen
Descriptions
Standalone informational text which does not affect the generated configuration.
This might be helpful at the top of a configsection, configswitch or configtab
Strings
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)
Passwords
for allowing masked input (show only stars)
name - The Variable Key
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)
Secrets
Autogenerates a random ID if empty and no default provided
name - The Variable Key
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)
Verbatim PHP
Allows administrators to convey arbitrary PHP code. Use with care and provide a sane default.
Supported attributes
name - The variable key $conf['anysections']['custom'] 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)
default - Predefined value
Booleans
value
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)
default_entry to provide a list of choices
name - Second level $conf['configsection']['configenum'] variables
desc - Descriptive text for list
within configenum section use:
list1
list2
Multi-Enums (Select Any Number From a List)
for selecting multiple items from a list
name - Second level $conf['configsection']['configmultienum']
desc - Descriptive text for multienum entries
Special Values
- "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.
Predefined Specials
TODO: More detail on usage. For now, just a heads up so users don't reinvent the wheel
for configuring an SQL backend or using the default defined in the horde base app
for configuring a NoSQL (Mongo etc) backend or using the default defined in the horde base app
for configuring an LDAP backend or using the default defined in the horde base app
for configuring Virtual Filesystem Storage or using the default defined in the horde base app
Organize your config screen into tabs
Switches
- 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
provides value for configswitch statement
Must reside within section
name - $conf['configsection']['configstring']['configswitch'] = name_value
desc - List value description