[Radiant] Radiant Plugins and Philosophy

Al Evans anejr at alevans.com
Thu Jul 13 19:01:22 CDT 2006


Josh Ferguson wrote:

> 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 don't know that much about what other people are doing with engines, 
but I offer my own psitsNOT as a counter-example. It simply adds 
image-editing to any Rails app. To do this, it needs its own views, but 
it doesn't impinge on the other functionality of the app in any way. All 
the app needs to do is override the PictureController, and all it has to 
do there is provide a source of images.

I'm not trying to be difficult, but plug-in functionality of this sort 
CAN be desirable. Image editing could be useful in a wide variety of 
apps, even ones in which it is completely beside the point of the app 
(blogs, catalogs, ...). psitsNOT doesn't interfere in any way with any 
other functionality of the application; it doesn't even use the 
database.

(Demo: http://psitsnot.alevans.com
 svn: http://svn.openprofile.net/plugins/p_sitsnot_engine )

I don't really think this is a unique case, and I apologize for being a 
bit off-topic:-)

--Al Evans

-- 
Posted via http://www.ruby-forum.com/.



More information about the Radiant mailing list