[horde] Comments and thoughts on Horde Framework

Francisco Reyes francisco at natserv.net
Mon Apr 22 19:14:25 PDT 2002


On Mon, 22 Apr 2002 10:31:10 -0400, Chuck Hagenbuch wrote:

>> After all those experiences I must say that I am frustrated with what I
>> have seen.
>
>It sounds like you want to re-do everything that we have done, yourself, 
>because you don't like our documentation and aren't willing to help us 
>improve it.

It is a bit more complex than that.
Every open source project has goals. While trying to achieve those goals some decisions are made which 
have direct implications. I have not seem a statement of Horde's goals so I don't really know what they 
were. What I do see is that there have been certain things that intentionally or not, have turned out 
in a certain way.

For instance in "my ideal" framework there would be a series of requirements a package/module would 
need to meet to be considered an "official" package/module. This would give consistency to the apps, it 
would make it easier for newcomers to install applications, it would simplify making documentation 
because one could have the basic instructions on the horde application and just read each 
package/module individual INSTALL file for any special notes.

Even better the basic Horde framework could have a "installer". Modules would have to adhere to a 
certain format so this installer would be able to just get from the user a directory and it would look 
for certain files and know what to do.

This is likely A LOT more work for developers, but it would increase the usability of the framework and 
it's applications

That again was my "ideal framework".


>> Some suggestions for Horde:
>> -Documentation needs to be improved to indicate that one pretty much
>> can't do a thing with just the base.
>
>What do we imply that you can do? I guess we can do this; suggestions on 
>how you'd actually go about that?

Sure.

On /horde/README
---------
What is Horde?
The Horde Project is a group of developers who write Web applications
using the Horde Application Framework, itself a product of the
Project.

The Horde Application Framework is written in PHP, and provides the
common tools a Web application requires: classes for dealing with
preferences, compression, browser detection, connection tracking,
MIME, and more.

Unless you are a developer interested in developing applications with the framework, once you have 
downloaded an installed the framework you will want to download and install different modules that you 
believe will be of use to you. The framework by itself does not have any capabilities or usefull 
features 
that an end user could take advantage of.
---------

On /horde/docs/INSTALL
---------
INSTALLING THE HORDE 2.0 FRAMEWORK
==================================

This document contains instructions for installing the Horde
Framework on your system.

This framework by itself does not have any functionality which could be usefull to an end user. If you 
are a developer who wishes to use the Horde Framework read up on the API at http://www.horde.org.

For those wishing to use Horde applications see the list of applications at http:
//www.horde.org/projects.php

For information on the capabilities and features of Horde, see
the file README in the top-level directory of the Horde
distribution.
---------



>> -The FTP should only have the latest usefull code or a complete snapshot
>> of all modules at a point in time. I installed horde from FTP and nag 
>> from CVS. Nag is NOT listed on the registry.php of the horde I installed.
>
>We provide multiple versions of our applications so that people aren't 
>always forced to upgrade other components. And sometimes applications 
>aren't ready for a release when other components are. I agree that this is 
>somewhat confusing, but neither of your suggestions are workable. Any 
>other ideas?

I am confused.. why do you say none of my other suggestions would work?
Why couldn't you have daily "snapshots" of horde with all it's apps on the FTP server?
A whole lot easier than having to read-up on CVS.


>> -Both the horde framework and the documentation for each project should
>> mention that registry.php should be modified. As a just in case scenario 
>> the module should have in it's own Install file the code 
>> needed in registry.php. As an example the listed requirements for nag is
>> Horde 1.3 CVS, but I installed 2.XX (don't recall exact number) from 
>> FTP, yet nag was not listed on the registry.php I got from the FTP 
>> download.
>
>This sounds like a really good suggestions. I'll put it on my todo list, 
>but I don't know when I'll get to it; if you, or someone else, would 
>submit a documentation patch, that would be wonderful.

This is something else I don't understand.
Is there one team doing all the apps or is there a team doing the framework and another doing the apps?
If there is such division then this would go to the "apps" team.


>> -Installation from modules should be easier. If this is a "framework"
>> why can't there be a convention by which all modules would be installed. 
>
>First of all, I'm trying to address your points and not grouse about the 
>fact that you clearly state, several times, that you haven't really done 
>your reasearch and are just making generalizations.

I wouldn't say that not finding info qualifies as not doing research. I Looked at the FAQs, looked at 
the INSTALL files for both the framework and the app, looked at groups.google.com for hints/questions 
that may be of help. I just didn't find anything that helped on the documentation. I made my statements 
partly  to indicate that perhaps I missed something somewhere, but if the info I need is in some doc 
then it wasn't on a place that was obvious for me.

>An installation script would be great. Unfortunately, it takes a lot of 
>time to do well and to debug it,

How about then just creating a set of rules of how all apps should be installed and putting that in the 
main horde/INSTALL. Basically a blue print of how programs are installed.

Also creating a set of rules that apps should follow. For instace on the main horde/INSTALL it reads:
---
Documentation on the format of those files can be found in each
file. You must at least complete the "Preferences System Settings"
section of horde.php and provide paths to helper applications in
mime_drivers.php. Configuration of applications in registry.php is
documented in the INSTALL file of each application.
---

There is nothing in the nag INSTALL about registry.php
The only place I found registry.php in the nag docs directory was on CHANGES and ROADMAP.

>and to make it consistent across all of 
>the apps. The core team members haven't had time for it yet; there's a lot 
>of other things we want to get done.

Do you have a docs team/person?
Do you have a release engineer?
Do you have a methodology/plan/guidelines/rules on when a module is done and to put it on the site?

>So if someone would step forward and 
>say "I want to do this", we'd help whoever that was out as much as 
>possible. But there are only so many hours each of us has; we have to rely 
>on the open source community to occasionally step up and help us out when 
>something is wanted.

I find myself with a few choices.. 
-Start a framework from scratch.
-Continue looking.
-Try Horde.

If I could at least get nag working I would consider trying horde.
However I am leaning long term to start a new framework.
There are some choices which I believe where done when designing the framework which I think made 
certain things more complex (and likely more flexible, powerfull). It is simply a matter of where you 
want to go.

To me it is all about making the framework easy to use, the applications easy to intall.

>> -I could not understand why there werent two copies  of the dist files.

>We don't distribute the non-dist files to make sure that we don't 
>contribute to people accidentally overwriting their existing 
>configurations. A script would be great. Want to contribute one?

I will see what I can do.

Going back to something you wrote.

>It sounds like you want to re-do everything that we have done, yourself, 
>because you don't like our documentation and aren't willing to help us 
>improve it.

Open source projects need to make it easy for people to try your program. Otherwise what is the 
incentive for them to try to contribute? For instance I have yet been able to even see horde working on 
my machine. Why should I contribute anything?

It is a lot easier to want to help if one could at the very least get some minimal install.
I think that right from the beginning you could improve the installation experience by making it easier 
to find the files to download. How about a "download" link? On said link you could just explain that 
one can go to the "Projects" link and choose the project. From there one can choose CVS or FTP.







More information about the horde mailing list