[cvs] [Wiki] created: FAQ/Developer/General

Ben Klang ben at alkaloid.net
Fri Aug 15 03:07:13 UTC 2008


bklang  Thu, 14 Aug 2008 23:07:13 -0400

Created page: http://wiki.horde.org/FAQ/Developer/General

+ Horde Developer's FAQ

++ General Information

[[toc]]

+++ What is Horde?
This question is partially covered in the ((FAQ/User/General|User's  
FAQ)) but it bears some clarification here.  In the largest scope  
Horde is the name of the project that shepherds a number of web  
applications, most famously the core groupware applications such as  
IMP and Kronolith.  From a technical standpoint the released Horde  
packages is made up of two sub-packages: "Horde" and "Framework."  The  
"Horde" subpackage provides the portal view that is seen upon login,  
the administrative screens that configure the installed applications  
and it generally provides the user interface glue between applications  
and the backend libraries and data sources.  The "Framework"  
subpackage is comprised almost entirely of library code.  These  
libraries are shared among all Horde applications and provide many  
functions that are commonly necessary.  Examples of the functionality  
found in framework libraries include caching, user preferences,  
locking, Web-based multi-protocol remote procedure calls (RPC), form  
generation and validation, authentication, etc.  For convenience the  
two sub-packages, Horde and Framework, are bundled together for  
release.  However in CVS they are kept as separate modules.

+++ What can Horde do for me?
If you are writing a new web application Horde provides a graphical  
framework for integrating with other applications.  Horde provides  
space in a portal view on login where applications can display summary  
information such as the number of open tickets, unread email, latest  
stock prices and more.  In addition to the portal screens Horde is  
responsible for generating the main navigation menu that unifies all  
installed applications into a browse-able tree.  Finally Horde  
provides the user interface to do most of the system-wide  
configuration your application will need to function after installation.

+++ What can Framework do for me?
The Framework provides hundreds of libraries for all manner of  
functionality necessary for creating web applications.  In some cases  
there are further dependencies on data storage backends such as an SQL  
database or on PEAR libraries, but the majority of the Framework  
libraries only depend on each other if at all.  In some cases other  
projects have made use of Framework code within projects, notably the  
web browser detection and management class ("Horde_Browser").

An excellent resource for the capabilities of the Framework packages  
is the Framework PHPdoc pages found at  
http://dev.horde.org/api/framework.  In case you are looking for a  
class that does not appear to be listed in the main class list (for  
example Util or Registry) take a look at the Horde_Framework and  
Horde_Util pages.


More information about the cvs mailing list