6.0.0-beta13
4/11/26

Filesystem structure of a Horde application

This information is valid for Horde 3 only. See Doc/Dev/Filesystem for Horde 4 and later.

Each Horde application has a common filesystem structure. This helps organizing the several components of the application and simplifies working with unknown applications.

These are the directories available in every Horde application:
| Directory | Content |
| --- | --- |
| / | Base directory with the controller scripts called by the browser |
| config/ | Configuration files |
| docs/ | Administrator documentation |
| lib/ | Application-specific library files |
| locale/ | Compiled translations and help files |
| po/ | Translations |
| scripts/ | CLI scripts for setup and maintenance |
| scripts/sql/ | SQL scripts for setup |
| scripts/upgrades/ | CLI and SQL scripts for upgrades |
| templates/ | Template files |
| themes/ | Base stylesheet and theme directories |
| themes/graphics/ | Icons |

Usually there are more directories, depending on the application:

  • If there are many controller scripts for an application, they may be grouped into directories under the base directory.
  • The lib/ directory has many levels of subdirectories. See Doc/Dev/FrameworkH3 for details.
  • The locale/ directory has a subdirectory for each locale, e.g. locale/de_DE/. These subdirectories contain the translated help file help.xml and the directory LC_MESSAGES/ which contains the actual, compiled translation, e.g. imp.mo.
  • The scripts/ directory may contain other directories for special purposes, e.g. ldap/.
  • The templates/ directory groups all templates for a single controller script into one subdirectory. All templates for a script called list.php are inside templates/list/ for example.
  • Each theme has a subdirectory, e.g. themes/bluewhite/; if a theme provides its own icon set, the icons are inside a graphics/ subdirectory, e.g. themes/bluewhite/graphics/.
  • Some applications have sub-sets of their icons grouped into subdirectories, e.g. themes/graphics/flags/.