\documentclass{article}
\usepackage{ulem}
\usepackage{graphicx}
\usepackage{hyperref}
\pagestyle{headings}
\begin{document}
\part{Filesystem structure of a Horde application}
\textbf{This information is valid for Horde 4 and later only. See <a href="https://wiki.horde.org/Doc/Dev/FilesystemH3">Doc/Dev/FilesystemH3</a> 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:<br />
| Directory | Content |<br />
| --- | --- |<br />
| / | Base directory with the controller scripts called by the browser |<br />
| app/ | Views and controllers for MVC style apps |<br />
| bin/ | Binary and other standalone CLI scripts |<br />
| config/ | Configuration files |<br />
| docs/ | Administrator documentation |<br />
| js/ | Javascript files |<br />
| lib/ | Application-specific library files |<br />
| locale/ | Original and compiled translations; application help files |<br />
| migration/ | Setup and migration files |<br />
| templates/ | Template files |<br />
| themes/ | Themes directories |<br />
| themes/default/ | Base theme |<br />
| themes/defaults/graphics/ | Base theme icons |

Usually there are more directories, depending on the application:

\begin{itemize}
\item If there are many controller scripts for an application, they may be grouped into directories under the base directory.


\item The \texttt{lib/} directory has many levels of subdirectories. See <a href="https://wiki.horde.org/Doc/Dev/Framework">Doc/Dev/Framework</a> for details.


\item The \texttt{locale/} directory has a subdirectory for each locale, e.g. \texttt{locale/de/} or \texttt{locale/zh\_TW/} if locale has multiple regions. These subdirectories contain the translated help file \texttt{help.xml} and the directory \texttt{LC\_MESSAGES/} which contains the actual, compiled translation, e.g. \texttt{imp.mo} and original source file, e.g. \texttt{imp.po}.


\item The \texttt{templates/} directory groups all templates for a single controller script into one subdirectory. All templates for a script called \texttt{list.php} are inside \texttt{templates/list/} for example.


\item Each <a href="https://wiki.horde.org/Doc/Dev/Themes">theme</a> has a subdirectory, e.g. \texttt{themes/bluewhite/}; if a theme provides its own icon set, the icons are inside a \texttt{graphics/} subdirectory, e.g. \texttt{themes/bluewhite/graphics/}.


\item Some applications have sub-sets of their icons grouped into subdirectories, e.g. \texttt{themes/graphics/flags/}.


\end{itemize}
\end{document}
