Engines 2.0 (ish)

Hi all,

Just a quick note to let you know, should it be relevant, that we're
readied a new release of the Engines plugin, revamped and ready for
Rails 2.0, and would absolutely love for you to start using it and
sending feedback about what's broken, what's missing and what could be
improved.

Grab the plugin here:

  http://svn.rails-engines.org/engines/trunk

In order to work with the new plugin loading mechanism in Rails 2.0,
you'll also need to add a line to environment.rb, just after the
require of Rails' boot file:

  require File.join(File.dirname(__FILE__), '../vendor/plugins/engines/boot')

After that, you're good to go. Kick the tires, take it for a spin
around the block, and please do let me know how it runs. There may be
problems, we'll try and resolve them as you guys report them back.

For anyone thinking 'What is the Engines plugin?': The engines plugin
enhances Rails' own plugin framework, making it simple to share
controllers, helpers, models, public assets, routes and migrations in
plugins. Find out more in the README:

  http://api.rails-engines.org/

I'd also like to highlight the sterling efforts of Sven Fuchs, Josh
Ferguson, and everyone else who's contributed ideas and patches for
this iteration. Thanks!

James

James Adam wrote:

Just a quick note to let you know, should it be relevant, that we're
readied a new release of the Engines plugin, revamped and ready for
Rails 2.0, and would absolutely love for you to start using it and
sending feedback about what's broken, what's missing and what could be
improved.

This is wonderful. I have found the Engine plugin invaluable to my work. I know component-based programming has gotten a bad rep in the Rails world (some of it deserved after the way Java/.NET have abused the concept) but for some development the engines are the only way to go. This plugin is installed on at least 90% of my apps and glad to know it will be here for Rails 2.0 moving forward.

Was wondering if there are any new features or changes in the way things are done in this release? Or is this mostly just a Rails 2.0 compatibility release with nothing much changes from the point of view of a engine developer?

Eric

Good point. What is the upgrade path?

This is basically a Rails 2.0 compatability release, but thanks to
some of the internal plugin refactoring in Rails itself we managed to
slim down a whole bunch of the original "monkey patching", which means
that the ride should only get smoother in the future.

Some "features" have been removed, but they are almost all never
really used - things like loading a plugin's about.yml when the plugin
loads. If this is actually useful, it can be re-added, but I don't see
the sense in adding bells and whistles just for their own sake. Please
do try it out and give feedback about what you feel might be missing
or broken.

The "upgrade path" is outlined in the README (See original email), but
amounts to adding a single line in environment.rb to switch
PluginLoader implementations to the one provided in the engines
plugin. Everything else can be left to Rails' default setup.

I remember looking at the project a couple of months ago and the
project back then appeared 'less than lively'. I am glad to see I was
mistaken(I am, right?) as I think the lack of propper vertical
functionality portability is holding a great framework like Rails
back.

Good work!