Filesystem structure of a Horde application This information is valid for Horde 4 and later only. See Doc/Dev/FilesystemH3 for Horde 3. 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| +-------------------------+----------------------------------------------------------------+ |app/ |Views and controllers for MVC style apps | +-------------------------+----------------------------------------------------------------+ |bin/ |Binary and other standalone CLI scripts | +-------------------------+----------------------------------------------------------------+ |config/ |Configuration files | +-------------------------+----------------------------------------------------------------+ |docs/ |Administrator documentation | +-------------------------+----------------------------------------------------------------+ |js/ |Javascript files | +-------------------------+----------------------------------------------------------------+ |lib/ |Application-specific library files | +-------------------------+----------------------------------------------------------------+ |locale/ |Original and compiled translations; application help files | +-------------------------+----------------------------------------------------------------+ |migration/ |Setup and migration files | +-------------------------+----------------------------------------------------------------+ |templates/ |Template files | +-------------------------+----------------------------------------------------------------+ |themes/ |Themes directories | +-------------------------+----------------------------------------------------------------+ |themes/default/ |Base theme | +-------------------------+----------------------------------------------------------------+ |themes/defaults/graphics/|Base theme 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 for details. The locale/ directory has a subdirectory for each locale, e.g. locale/de/ or locale/zh_TW/ if locale has multiple regions. These subdirectories contain the translated help file help.xml and the directory LC_MESSAGES/ which contains the actual, compiled translation, e.g. imp.mo and original source file, e.g. imp.po. 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/.