[Radiant] Radiant Plugins and Philosophy
Josh Ferguson
josh at besquared.net
Thu Jul 13 17:48:21 CDT 2006
Core's objection to engines is that the pieces are too big. Engines
encapsulate essentially an entire application, whole vertical slices of
functionality. The view of core on this is that if you want an
application then build an application, you most likely aren't going to
drop in more than one engine at a time ever since the slices are so big
and most likely won't work with one another without some major
modification on your part so what's the point in having them pluggable?
It makes more sense to just download a complete application and go from
there. Adding mroe than one large vertical slices of functionality most
often leads to collisions where two plugins are overwriting the some
pieces of the same classes or views, that is why it's useless to have a
system where you can install more than one.
That being said the other thing I dislike about engines is that engines
start out with the philosophy of 'the engine is your application' and
then you can override views in your application. This is completely
opposite of what makes sense in our situation, where your application is
your application and the views you already have get overridden by the
plugins in the engine.
I think the right idea is to actually start with a core set of
functionality and then build out applications from there. Because even
if we get some 'plugin engine' system working, you're only going to be
able to install one of these 'plugin engines' simply because the
vertical slices would have to overlap one another otherwise. you
couldn't have two plugin engines that override one view for instance, it
just doesn't make sense.
And since you're only going to be able to install one, you might as well
just make it overwrite the core application you had previously so that
it's easier to develop and you don't have to work inside two /app
directories which makes life hell.
Just my 10000 cents..:) Sorry for the longs posts
josh @ besquared
Jay Levitt wrote:
> John W. Long wrote:
>
>> Jay Levitt wrote:
>>
>>>> Yup. We do. If this is ugly and hard to maintain against the current
>>>> Rails code base I'd like to see if we can get the core changes we need
>>>> pushed back into Rails. It seems like views and routing are the hard
>>>> spots right now. It should be much easier to create plugins with views
>>>> that use existing layouts, but Rails makes this hard because it only
>>>> allows a controller to use one directory structure as it's base view
>>>> directory.
>>>>
>>> Aren't these (mostly) exactly the same problems that Engines solve?
>>>
>> But that's what I mean. The fact that when people start trying to write
>> applications in Rails that have plugins, they seem to go down the same
>> route. To me this indicates that something generic needs to be pushed
>> back into Rails core.
>>
>
> I agree.. I think DHH has some fundamental (though unstated) objection
> to Engines that keep them out of the core. The impression I get is that
> he thinks we ain't gonna need it, even though we already do.
>
> Jay
>
>
>> --
>> John Long
>> http://wiseheartdesign.com
>> _______________________________________________
>> Radiant mailing list
>> Radiant at lists.radiantcms.org
>> http://lists.radiantcms.org/mailman/listinfo/radiant
>>
>
> _______________________________________________
> Radiant mailing list
> Radiant at lists.radiantcms.org
> http://lists.radiantcms.org/mailman/listinfo/radiant
>
>
More information about the Radiant
mailing list