Engines seems to be a great replacement for Productize

I just found the Engines plugin and I’m very happy with the progress
made this morning in getting up and running with it.
I’m using it as a replacement for Duane’s Productize concept. I have a
generic application that will be the base for customer specific
applications. Mostly views will change from customer to customer to use
different pieces of data from the model. Since Productize is pretty
dead (I spoke to Duane and he said the project he developed Productize
died in vitro), I was fishing for a replacement. At first I tried using
themes plugin, and it worked mostly, but I found I needed something that
would allow me to override controller code because too much logic was
to be expressed in my themed views without that ability.

Engines has allowed me to take the generic app, stuff it into an engine
create a brand new rails app, install Engines and my engine then start
customizing for this customer from there. Absolutely fantastic.

I really think some effort should be made to let people know how well
Engines can replace Productize. I saw several blog posts and articles
were lamenting the lack of Productize in Rails 1.1. I’ll do my part and
comment on a few of those posts with my success so far. :slight_smile:


Daniel Einspanjer

This is very true. But there are some benefits to the productize
model. For that reason, I fixed productize to work in Rails 1.1+ and
I use it with engines. (Productized app uses engines, has sub apps).

In retrospect, it’s much simpler to work with just engines. But for
engines to do some of the unique things productize would let you do
(not many), you’d have to use the install hook (to install engine
files into script or provide default routes) which would then not stay
in sync with the engine if it’s updated. Not a big deal though!

So yes, engines rock for productization.


Hi Daniel,

Glad you’re finding them useful :slight_smile: In many ways, engines solves the
inverse problem that productize solved (productize puts many facades
on the same core app, engines breaks an app up into smaller pieces for
reuse), but the same sorts of problems can definitely be tackled
either way. Productize was definitely in our minds when we started to
look at developing using this technique :slight_smile:

Don’t worry about making a song and dance about engines though - so
long as you find it helps you develop pragmatically, that’s the main
thing :wink:

  • james