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