Gmane
Picon Gravatar
From: James Adam <james.adam@...>
Subject: [ANN] Rails Engines + Login Engine
Newsgroups: gmane.comp.lang.ruby.rails
Date: 2005-11-01 23:56:42 GMT (2 years, 35 weeks, 5 days and 13 minutes ago)
(apologies for the repost, the list seemed broken when I sent this last...)

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

... at which you can digest all manner of propaganda and rdoc....
well, docs. You might particularly want to watch the demo movie:

http://rails-engines.rubyforge.org/movies/engines_intro.mov (36MB
Quicktime, soon to be revised and re-encoded into a smaller file)
http://www.lazyatom.com/media/video/engines_intro_h.264.mov (16MB, QT 7 only)

Any mirrors of this would be *greatly* appreciated! Below is the hype:

What are Rails Engines?
=================================
Rails Engines are a way of dropping in whole chunks of functionality
into your existing application without affecting any of your existing
code. The could also be described as mini-applications, or vertical
application slices - top-to-bottom units which provide full MVC
coverage for a certain, specific application function.

Why do I want this?
=================================
Rails Engines are advantageous over normal generators because the do
not insert any code into the /app directory, but remain isolated
within the plugins directory of your application. Furthermore, you can
override individual controller actions and views/partials within your
application as needed, whilst leaving the original Engine files
intact.

OK, I need an example
=================================
 As an example, the Login Engine (heavily based on the Salted Login
Generator, all kudos to those guys) provides a full user login
subsystem, including:
* controllers to manage user accounts;
* helpers for you to interact with account information from other
parts of your application;
* the model objects and schemas to create the required tables;
* views for all the controller methods
* stylesheets to enhance the views;
* and any other library files required.

... it's basically everything you need to add a simple login mechanism
to your Rails app.

How do I get such devilry?
=================================
Engines can be distributed using the same mechanisms as regular Rails
plugins (since to the Rails plugin system they appear to be almost the
same thing). If you are developing engines yourself for use across
multiple projects, linking them as svn externals allows seamless
updating of bugfixes across multiple applications.

The Rails Engines plugin and all other engines should be listed on the
Plugins page in the wiki, so that the bleeding-edge script/plugin
command can be used to install them painlessly.

Currently they are hosted on the OpenSVN servers at
https://opensvn.csie.org/rails_engines/plugins, although a more
permanent, svn-savvy home would be make me very very happy.... </beg>

http://wiki.rubyonrails.com/rails/pages/Plugins

Comments?
=================================
This is a very first release of a plugin which tries to do something
quite sweeping, so there are bound to be bugs! Please submit all your
comments, etc either directly to me (james.adam@...) or at the
RubyForge project page:

http://rubyforge.org/projects/rails-engines/