Productize: Alas, we hardly new you

Posted by Doug Wed, 19 Apr 2006 12:12:49 GMT

Productize seems like such a good idea. Even David seems to give it praise. It seems though this good idea had a short life-span.

For those who don’t know, Productize is a method of making a Rails app a “parent” and then having multiple instances of that app that all shares the same code base allowing for individual tweaks. For myself, I was wanting to productize typo so that I could easily host many typo blogs. At work we use productize on our website to provide our primary US site and also a customized UK website.

Productize was originally released pre Rails 1.0. With The Big Milestone, there was some scrambling to get productize to work. The problem is that productize pokes fairly deep in the internals of Rails class loading. That code seems to be not yet as stable as it should be. Each release of Rails seems to break productize.

To make matters worse, it doesn’t seem like Duane Johnson is still using or working on productze. With the 1.0 release, the patches and work arounds for productize came from the community. I never did see anything directly from Duane.

Now that Rails 1.1 and 1.1.2 are out, productize is broken again. For such a good idea of minimizing duplication, it doesn’t look good for productize. Members of the core team have said there’s no interest in making it part of Rails core and no desire to “support” it and the internal hooks it needs. In my mind, this moves productize into the “high risk” category.

I never did get typo to the point where it would work nicely with productize. Right now we depend heavily on it at work, but that’s changing. We’ve decided to take the core pieces of our app and make them into and engine/plugin and then split the US and UK sites into separate apps. When we first introduces the UK site, productize’s primary assumption held true: everything is the same unless it’s different. Now that our UK site is fairly mature, the department heads of the respective sites are pretty much assuming everything is different unless it’s the same.

Posted in , ,  | 2 comments

Comments

  1. Dave Minor said about 4 hours later:

    I had a conversation on IRC with Duane about why it wouldn’t work with rails 1.0 and he outright said something to the effect of, “yeah, I haven’t used that code in a long time.”

    there was a plugin that evolved from productize, but I don’t recall if it was any better in newer releases or not.

  2. Ed said 1 day later:

    I am barely a Rails beginner but surley the fundermental problem is the deployment architecture of Rails and Ruby for that matter.

    A bolt on product that uses internal classes to get the job done is a hack that will never survive for the reasons that you site.

    The solution for Ruby and for Rails is to take on the restructuring of its deployment into shared and non-shared components so that deployment flexability can be built on.

    gem install updates ruby bin. This is a catastrophic failure to abstract code from addon.

    script/generate is a Rails version specific feature and should never be part of your web source root.

    I could go on. I know that Rails is young and these issues are still being worked on.

    Suffice it to say that Productize is the wrong solution for the problem. It needs to die so that the right answer can emerge.

Comments are disabled

Copyright 2001 - 2005 by Lathi.net and Doug Alcorn

Creative Commons, Some Rights Reserved Ruby on Rails Developer Powered by Debian GNU/Linux Powered by Typo