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/.