6.0.0-git
2024-04-25

Diff for Doc/Dev/FilesystemH3 between 7 and 8

+ Filesystem structure of a Horde application

**##red|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/Framework))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 ((Doc/Dev/ThemesH3|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/}}.