============================================= Filesystem structure of a Horde application ============================================= **This information is valid for Horde 3 only. See `Doc/Dev/Filesystem`_ for Horde 4 and later.** .. _`Doc/Dev/Filesystem`: https://wiki.horde.org/Doc/Dev/Filesystem?referrer=Doc%2FDev%2FFilesystemH3 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/.