On 27/02/09 13:02, somebody called Mohit Sindhwani (t...@onghu.com) wrote
this:
[snip]
>>> 
>>> Sorry to nag, but - anyone? Bueller?
>>> 
>>> In case this was somehow regarded as trollbait, I'm asking this as a
>>> legitimate query...it really is quite important for me to know, and
>>> time is
>>> a factor for me ATM.
>>> 
>>> To summarise the above verbiage:
>>> 
>>> Why is Radiant delivered with all dependencies included?
>> 
>> Why not?
>> Including the dependencies means the instructions for getting started
>> for new users will be much simpler.
> Actually, I have found this quite useful since you don't always have
> access to installing extra gems (or your host is already on different
> versions, etc.) - just like you can freeze rails to a specific version
> in your specific application, this provides you the ability to create a
> "Radiant app" (similar to a Rails app) with the correct versions of
> everything (except Ruby) already included.
> 
> As long as you have a compliant Ruby version on your server, you can use
> it straight away.
> 
> That said, I think you are asking 2 questions without clearly saying it:
> 1. Why is Radiant provided with all its dependencies?
> I think the answer is that it reduces dependencies on external code and
> different versions of things.  Radiant itself uses a number of plugins
> and gems (incl Rails) for its work.  Out of box, you are assured that
> what is provided is tested to work.
> 
> Imagine if you had Textile 4 on the server and Radiant was tested only
> with Textile 3.2 and for some reason, there was a conflict that
> prevented it from working properly.  Here, you know it will work because
> it relies on a pre-bundled version.  Or in another case, you may have
> that Radiant is built with Textile 4 and your server only has Textile
> 3.2 - so, Radiant fails!
> 
> In that case, you'd end up with a situation where the installation
> instructions go something like:
> * Install Textile 4.0 (there are known issues with 3.2 which we will not
> fix because we are on a newer version)
> * Install acts_as_list (version xx.y)
> * Install acts_as_authenticated (version xx.y)
> ...and so on!
> 
> You *must* see Radiant as a domain-specific Rails application (though
> you can even see it as a domain-specific Ruby application that relies on
> a gem called Rails) that provides everything that you need to run it.
> 
> I hope that this clarifies this point.
> 
> 2. I think your second question is more along the lines of why don't I
> just get a Rails app, rather than a Rails app that looks like a gem?
> This ties in with your comment about not being able to contribute
> effectively to the code, etc.  I get the feeling that you would prefer a
> system where when you run "radiant my_site", you would get the standard
> Rails directories, including app, app>view, app>controllers, etc.
> 
> I think some of the Radiant core team can answer this better than me,
> but I'll tell you what I *feel* about this structure.
> a) It makes some things more difficult for the average Rails programmer
> b) It makes many things much simpler for the average CMS developer
> c) If Radiant works, my life is much simpler - I don't need to worry or
> look at how Radiant is built to be able to use it effectively.
> 
> Since you started by pointing to Redmine, my answer would be: Redmine is
> a Rails application for project tracking, etc.  It is not a "framework"
> for building project tracking applications.  IMHO, Radiant is a
> framework for building CMS sites.  Therefore, the base stuff is kept out
> of your way while you can go ahead and build the other things you need -
> content, markup, extensions and plugins.  You don't use "radiant", you
> use a site built using Radiant.
> 
> In some ways, I could say that asking why Radiant is a gem with
> dependencies is like asking: why is Rails a gem?  Why isn't Rails just
> distributed as a set of libraries that someone has to put together by
> themselves.  I don't know Rails internals, but the question is akin to
> asking if all the internal parts of Rails should have been distributed
> completely separately.
> 
> Hope this helps.
> 
> Cheers,
> Mohit.
> 2/27/2009 | 12:02 PM.

It does - thanks very much for your clear comments, and also for Jim's
questions. The "application" vs. "framework" analogy was particularly
useful. Thanks for taking the time.

Jim, I haven't answered your questions since Mohit's answer clarifies a lot
for me, and much of my opinions were/are based on little more than gut feel
and a lot of IT experience. Were I to give any answers, they likely wouldn't
say more than "I'd like it to be less surprising to someone who has
experience with Rails development." Again - an opinion - which by definition
can't always be (rationally) justified.

I can't say I agree with everything that Mohit has stated - although I'll
readily concede 2a and 2b! - but I understand a little better now.

Again - thanks.

Cheers,
Mark
__________________________________________________
Mark Glossop - lists <AT> cueballcentral <DOT> com


_______________________________________________
Radiant mailing list
Post:   Radiant@radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
Site:   http://lists.radiantcms.org/mailman/listinfo/radiant

Reply via email to