Ok ... so this is a tough one. Please not that the following is a
mildly
sarcastic joke: while we're at it ... could we please just move to Java
for Chamilo 2. That would solve most problems and frustrations and give
us access to a complete set of widely supported libraries that have
really proven themselves (Hibernate, anyone?)
If leaves to change, I then preferred that we move to Python. Among
other advantages, it will give us lots of opportunities to revisit the
sketches of Monty Python :)
Back to the serious world. I can see where this is coming from.
Truth be
told, if I had to restart today with Chamilo 2 ... or actually if I
were
the one starting ... then some other decisions might have been made.
Sadly enough we've been around for a while now. I started working on
Chamilo 2 back in February 2007. If my sources are correct that's about
the time symfony 1.0 was released. Zend Framework 1.0 was released a
few
months later (somewhere in the summer of 2007 if memory serves me
well?)
Yes, we start working on our current LMS on june 2006 with symfony
0.8. It's sad that at the time we don't know the Chamilo 2.0 project,
maybe we were able to merge our 2 projects.
So where does that leave us now: with a modest framework (and that's
such a "heavy" word) which doesn't offer all the functionality giants
like ZF or S offer, but doesn't really need it either IMO.
My current perception is that new generation frameworks (SF2/ZF2)
doesn't do much, but try to do it well. The problem I see in current
Chamilo is that nearly all things that in SF/ZF are in Chamilo but in
a less polish and efficient way. So it's not really a question of
functionality scope, but rather having something easier to use, with
less code, more efficiently. Maybe it seems a huge project to change
so dramatically the project only to have something is more easy to
develop with, but in the other hand, pushing this logic to its end, we
would all use Moodle…
I'm not saying we should reinvent the wheel every single time, but
at the very
least we should make sure the wheel fits our Cars (? Pixar / Disney). I
welcome ideas like using the Doctrine DBAL for access to DBMS storage
engines. But, and I could be wrong about this of course, to me there is
big difference between actually using something for a specific piece of
functionality and using it as the basis for your entire platform. I can
live with (and like) the first, but the second, at this point in time
... well ... A (virtual) Bridge Too Far (even if it features Laurence
Olivier and Michael Caine)
It's clear that this have a Deep Impact (yes, I can also use movie
metaphor :p ) Moving to a SF2/ZF2 would take at least one year and
probably more (I would be happy if it would be available for june 2012
release)
You could simply use whatever you need from whichever framework as a
library, but considering most of them are integrated solutions, that
just seems like creating extra - unwanted - overhead.
In fact, the way SF2 is built you can use just the Request component
without any other components (and so without other overhead) It's
really a bunch of components loosely coupled.
http://symfony.com/components
It will also help a migration as parts of Chamilo can be replaced
step-by-step.
Do we really want to have both the ZF classes for dealing with HTTP
Requests AND
the symfony classes for dealing with HTTP Requests included in our
project?
(in response too: why not have more then one in there)
Personnally I would say no: just one. I don't see the interest to have
two libs to handle the same thing.
I know this all sounds quite negative, but sadly enough I have to work
in the real world ... even though I'd much prefer to live in Utopia,
where I can keep on breaking (a modest number of) things to move on to
better architectures, ideas, concepts and whatnots.
I'd say that you're wise and realistic. I want the best for chamilo2
but I also need something that works! It's good to have someone who
keep an eye on that as coordinator :)
Btw. what is the current status of (stable releases for) symfony 2
and/or ZF 2?
Don't know for ZF2 but SF2 is Preview Release 9. I know some people
currently use it in prod. But due to deadlines I consider to be
realistic (circa June 2012 for a full migration), it's not really a
problem.
Regards,
Goulwen
_______________________________________________
Dev mailing list
Dev@lists.chamilo.org
http://lists.chamilo.org/listinfo/dev