[dev] Horde as a framework
Luis Felipe Marzagao
lfbm.andamentos at gmail.com
Thu Nov 3 22:32:15 UTC 2011
Em 03/11/11 16:37, Gunnar Wrobel escreveu:
> Quoting Luis Felipe Marzagao <lfbm.andamentos at gmail.com>:
>
>> Em 02/11/11 11:27, Jan Schneider escreveu:
>>>
>>> Zitat von Gunnar Wrobel <wrobel at horde.org>:
>>>
>>>> Quoting Michael J Rubinsky <mrubinsk at horde.org>:
>>>>
>>>>> Quoting Chuck Hagenbuch <chuck at horde.org>:
>>>>>
>>>>>> http://fabien.potencier.org/article/49/what-is-symfony2
>>>>>>
>>>>>> Good post and impressive list. This is where I think we lag
>>>>>> behind as a framework, and where we have an opportunity to either
>>>>>> leverage our own components - which are great, but which I
>>>>>> personally have less time to work on these days - or to start
>>>>>> using some of the symfony/zend/whatever components to replace our
>>>>>> own and move faster. Obviously we used to leverage more PEAR libs
>>>>>> and there were challenges to that, but maybe things have changed?
>>>>>>
>>>>>> Or maybe not. Mostly throwing this out for discussion.
>>>>>
>>>>> Personally, I would rather not start using another framework's
>>>>> components unless there was a *really* good reason.
>>>>
>>>> I feel there are often many good reasons for borrowing from others :)
>>>>
>>>>> At least not for any type of major functionality. It's not so much
>>>>> about NIH for me, but more about control. I like the fact that we
>>>>> are using less and less PEAR libs.
>>>>
>>>> PEAR is a different thing. Most PEAR libraries are coded for PHP4
>>>> and remained on that level. It is quite hard to integrate stuff
>>>> like that into a modern component based PHP framework. Using stuff
>>>> from another component based PHP framework is a different matter.
>>>> Both Symfony 2 and Zend improved significantly in that area during
>>>> this year. As did Horde with Horde 4.
>>>>
>>>>> While it *does* increase our workload a bit (more libraries to
>>>>> maintain for one thing),
>>>>
>>>> This is not only about workload on our side but also about the
>>>> progress on the other side. If we fork we are cut off from any
>>>> advances the other side integrates into the code base. This may
>>>> easily turn out to be the major problem of forking.
>>>>
>>>>> it gives us *way* more flexibility and control. ... and while it
>>>>> might not always turn out this way, it should translate into less
>>>>> time to work a bug/issue (no headaches with getting upstream to
>>>>> even ack your question/bug report/patch etc...)
>>>>
>>>> I agree that working with upstream can be painful. Forking is the
>>>> better alternative if working with upstream is a real problem. But
>>>> I assume we only worked with PEAR so far. We never tried Zend or
>>>> Symfony. Both communities are quite active.
>>>>
>>>>>
>>>>> Also, IMO, if we are going to continue to try to push Horde as not
>>>>> just a groupware stack, but also a PHP framework, I'm not sure
>>>>> borrowing another framework's libraries for any major
>>>>> functionality would send the right signal.
>>>>
>>>> Quite the contrary. By showing we can *integrate* with other
>>>> frameworks I believe it demonstrates that we are indeed a component
>>>> based framework - not some monolithic blob. The integration of
>>>> different component frameworks has been a hot topic during the
>>>> second half of this year. People are interested in using the best
>>>> there is - without looking at whether it is labelled "Zend",
>>>> "Symnfony", or "Horde".
>>>>
>>>>> We may not have the same number of libraries, but those that we
>>>>> *do* have are both extremely well thought out and designed to our
>>>>> own high standards ... at least that's the hope ;)
>>>>
>>>> Every framework has its strength and weaknesses - and only limited
>>>> manpower. Why not accept that fact and make the best of it? We have
>>>> some very good components, yes - lets publish how to use those and
>>>> how to integrate them with Symfony 2 or Zend.
>>>>
>> Let me hijack this discussion to give some input from the viewpoint
>> of a completely beginner PHP developer and also a Horde code
>> consumer. I think whatever the solution is (maintain its own
>> components or borrow some of them elsewhere), the key element for
>> growing and increasing the community is 'documentation' (at least for
>> newcomers). When I looked up for frameworks as yii or symfony, what
>> has caught my attention was the documentation (and even screencasts)
>> available (for example: http://www.yiiframework.com/doc/guide/) and,
>> thus, how easy it was to begin working with them, even if you know
>> little about PHP, patterns or frameworks. The same thing is not true
>> for Horde. Of course you can see it´s an awesome framework and once
>> you catch the grasp of it, it´s really great and helpful, but if
>> you´re a newcomer, you have to spend hours looking at code and trying
>> to figure out what does what, sometimes without success. So the
>> feeling is 'Horde is for pros'. The documentation on installing the
>> groupware modules is great, but it would be greater if there was
>> abundant documentation on developing with Horde. I think that is the
>> main reason why, regardless of whether Horde has its own components
>> or not, the horde community isn´t bigger. In fact, it looks like a
>> miracle the entire project being maintained by few developers and I
>> can imagine the massive work and amount of personal time each one of
>> you has to endure in order to keep things working. Which may be the
>> reason why there´s no time to spend on documentation. One thing leads
>> to another. All of this to say publishing, creating examples and
>> teaching how to work (develop) with Horde is, maybe, imho, the
>> greatest way to improve Horde, make it popular, and get more help
>> from the community, which could, in turn, ease your work.
>
> I would say that this is definitely the direction we are trying to
> head into. We are aware that our framework does not have the
> documentation base it would need to make it accessible in the same way
> as Symfony or Zend.
>
> But you need to take our specific angle into account: For the Horde
> project the framework aspect was never the main target. The driving
> factor always were - and I would say they still are - the
> applications. Yes, we now offer a component based application-driven
> framework - but this is more like a surprising by-product :) I
> consider it amazing that our application development gave rise to such
> a decent set of components.
>
No doubt. And in fact the groupware is, imo, the best around. I´ve been
using it in my company for almost 4 years with great success and I do
not intend to change it. I just stumbled upon the documentation issue
when I started to try to develop an in-house module.
> There are still a few things in the pipe: The horde-components helper
> is now able to grab documentation we write on http://wiki.horde.org
> into the "doc/" directory of our framework components. These can in
> turn be written to our http://www.horde.org/libraries pages. The
> necessary commits have not yet been made but that is one of the next
> things on my list.
>
> Of course we still have to catch up on a lot of undocumented packages.
> But I'm certain the situation will improve.
>
Very good to hear it!
> Cheers,
>
> Gunnar
>
>>
>> Luis Felipe
>> --
>> Horde developers mailing list
>> Frequently Asked Questions: http://horde.org/faq/
>> To unsubscribe, mail: dev-unsubscribe at lists.horde.org
>
More information about the dev
mailing list