[dev] Starting out with the code, need tips

Jon Parise jon@csh.rit.edu
Mon, 14 May 2001 22:18:50 -0400


On Sat, May 12, 2001 at 11:44:34PM +0800, Federico Sevilla III wrote:

Sorry for the late reply.  A lot of us are very busy at the
moment with non-Horde responsibilities.

> I've been using IMP for quite awhile now, and I'm pretty happy with it.
> I've been tasked by the company I work with to develop some projects that
> will be database-backed, and I'm thinking of using PHP for these. I'm also
> thinking of using the Horde framework on top of PHP, with the objective of
> being able to develop modules that will allow users to have a web-based
> application suite at their command, enabling them to switch between
> modules seamlessly. My employer has no problem with releasing the code as
> GPL, as long as it gets done.

It sounds like you're off to a good start.
 
> Using CVS, I've obtained a copy of the HEAD branch of Horde and IMP, and
> copies of some other modules like turba, kronolith, skeleton and babel. I
> intend to learn about the classes available in the Horde framework, and
> how a number of these existing modules have been designed to work with
> each other using the common Horde framework.

That's the kind of development we're hoping to promote on an even
larger scale.
 
> My first order of business is to work out an authentication system (login
> page, session management). I'm thinking of authenticating using an IMAP
> server, so it's probably best to reuse existing IMP code. Is it possible
> to delegate the authorization to IMP?

There is already a fairly capable authentication system in Horde.
The best source of information on it is either the mailing list
archives or the actual source code (see horde/lib/Auth.php, for
starters).
 
> The database will be on a PostgreSQL server in the same machine, and I
> intend to make users have identical passwords for their IMAP accounts and
> PostgreSQL (which unfortunately can't seem to use PAM for its own user
> database). Does authenticating using an IMAP server and reusing IMP code
> sound like a good idea?

You can authenticate against an IMAP server without touching the
IMP code at all using the current authentication framework I just
mentioned.
 
> Can anyone point me to particular files in the Horde and IMP trees to
> check out to help me out getting started? As of yet there doesn't seem to
> be any documentation on the Horde classes, but I'm sure with a little help
> on where to look I can slowly learn by reading the code.

For authentication:

    horde/config/conf.php
    horde/lib/Auth.php
    horde/lib/Auth/*.php

For inter-application interaction:

    horde/config/registry.php
    horde/lib/Registry.php

For Horde API documentation:

    http://chuck.bitgroup.com/api/

Most topics have also been discussed some time in the past on
this mailing list.  Archives are available in two locations:

    http://marc.theaimsgroup.com/?l=horde-dev&r=1&w=2
    http://lists.horde.org/cgi-bin/ezmlm-cgi/3

And, as always, feel free to task specific questions here on the
development list.
 
-- 
Jon Parise (jon@csh.rit.edu)  .  Rochester Inst. of Technology
http://www.csh.rit.edu/~jon/  :  Computer Science House Member