[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