[dev] Moving towards packages and Horde 3

Chuck Hagenbuch chuck at horde.org
Tue Sep 16 08:52:51 PDT 2003


One of the major things we need to do before releasing Horde 3.0 is to sort out
how we're going to handle our new packages in terms of where they're installed,
how, and how we reference them in the code.

So, I'm proposing the following steps:

- All applications will use the new horde/lib/core.php file that includes the
very basic framework libraries and sets up the new HORDE_LIBS constant.

- HORDE_LIBS will be used to include all Horde packages. By default, it will be
empty (''), meaning to search the include path. To accomodate this, inclusion
of libraries will now look like this: require_once HORDE_LIBS .
'Horde/Help.php'; See the new core.php file and skeleton/lib/base.php for
examples of how this will work/look.

- In tarball distributions, HORDE_LIBS will be modified to point to horde/lib/
(*with* the trailing slash), to use the tarball distributed libraries.

- Sites will also be able to define HORDE_LIBS (and HORDE_BASE) in an
auto_prepend_file (or other manner) if desired, to use an alternate location of
Horde and its libraries. These constants will *not* be overridden by core.php
and application-level base.php files if they are already present.

- Most of the content of horde/libs (except for core.php, version.php, base.php,
and api.php, possibly a few more) will be moved (cvs repo copied) into a new
module called 'framework'.

- Tarball distributions will have all of the classes in the frameworks module
(and, possibly, all PEAR classes that we rely on) bundled into horde/lib.


I think that's it for this step. Feedback is welcome, especially from the
viewpoint of developers and sites who want to be able to virtualhost many Horde
installations with a single codebase, or to use a custom location for Horde.

Regards,
-chuck

--
Charles Hagenbuch, <chuck at horde.org>
Born right the first time.


More information about the dev mailing list