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

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


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

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

+ Horde Developer's FAQ

++ Creating New Applications

[[toc]]

+++ Why would I want to create a new Horde application?
If you are reading this you have probably already decided that you  
need to create a web application.  You may have come here thinking  
"What benefits would I get from integrating with Horde?" One of the  
great strengths of Horde's architecture is its modular design.  This  
design allows plugging in any number of applications into a single  
graphically cohesive, centrally authenticated and permissioned, high  
performance platform.  For example, by taking advantage of the  
Framework libraries such as Horde_Cache it is simple to create an  
application that can use any of the supported cache backends using a  
single, well-documented and consistent API.  Perhaps today you use  
simple SQL-based object caching, but down the road you want to expand  
scalability by deploying memcached.  Instead of refactoring all of  
your cache management code all that is necessary is a simple  
reconfiguration of Horde.

In addition to the numerous Framework libraries there is a wealth of  
functionality exposed by existing Horde applications.  Perhaps you  
want to create a social networking engine.  Social networking relies  
heavily on functions such as contact lists, photo galleries, calendar  
events and blogging or journaling.  Instead of reinventing those  
wheels it is possible to use Horde's built-in application API to pull  
in the necessary functionality.  In the previous hypothetical example,  
the application you need to create becomes less about each of the  
functions listed and more about creating a unique user interface  
taking advantage of the existing functionality within the Turba,  
Ansel, Kronolith and Jonah Horde applications.

+++ How do I get started?
If you are starting from scratch the best thing to do is to check out  
the "skeleton" module from Horde's CVS repository.  Instructions on  
how to do this can be found on the  
[http://www.horde.org/source/using.php Horde website]. This module was  
created to illustrate how a Horde module is laid out.  At the top  
level of each Horde module reside some or all of the pages that  
generate user interface content.  Within the lib/ directory reside the  
core of the application's logic, including communication with data  
storage backends and form generation/validation.  Under templates/ you  
will find the included HTML snippets that define the users' experience.


More information about the cvs mailing list