Productizing Your Ruby on Rails Applications

July 25, 2005

Duane Johnson recently released a set of ruby gems for productizing your Rails app. This allows you to write an application and customize it as needed for multiple clients. This is a very interesting idea for the kinds of products we write. BillBoards is an application that will be suitable for most clients. But these clients can, conceivably, have their own unique requirements. With a productized application, we'll have one codebase for the whole app and any customizations for each client in a separate location. This gives us less duplication in code, so I can improve BillBoards in one location without worrying about making the same changes for each client. This also got me thinking about how I store the configuration information. I have a single file with various options that tweak the various business rules of BillBoards. But I constantly have problems with synchronizing these changes with Mark and the actual server. I'm starting to rethink my approach and use convention over configuration. I can store the configuration in the code and tweak it for each individual instance as needed. Duane's Product Generator is really opening some new doors with me.