Forum: Ruby on Rails How to make an extendable application

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
on 2007-03-15 11:37
(Received via mailing list)

This is a question aimed to all who have created their own CMSs.

What is the correct way to go about making a reusable CMS? We all must
be doing this, creating a new CMS for each site we do is prohibitvely

Going through the Radiant source I see the majority of the code is
kept in /app. Won't this make it difficult to update the CMS code once
it has been interleaved with the rest of the app?

A plugin? What about a seperate set of migrations... we can't mix the
CMS migrations and app migrations..

Engines? Seem to be the best solution at the moment.. (What I
currently use)

Thoughts? How does everyone do this?... or think they should be doing

Wes (Guest)
on 2007-03-17 14:36
(Received via mailing list)
Excellent question - I'm wondering the same thing myself - do you
write a plugin with a generator that gets you going but then relies
upon method calls IN the plugin's library perhaps?

The concept of reusable modules is one very nice feature of Django
that I like - there's got to be something similar in Rails!


On Mar 15, 4:36 am, "removed_email_address@domain.invalid"
on 2007-03-26 00:31
(Received via mailing list)
Hi Wes,

I have the answer. The Rails ideology of convention over customisation
is all well and good until you find an area lacking a convention.
Engines is the way to go at the moment. I suspect principles will be
taken from engines and made core eventually, if the poor author of
Engines finally pursuades everyone they're plugins and not an engines!

Wes (Guest)
on 2007-03-27 00:11
(Received via mailing list)
Thanks for the reply - yeah it looks like the engines guys take a
beating. :)


On Mar 25, 3:29 pm, "removed_email_address@domain.invalid"
James A. (Guest)
on 2007-03-27 02:11
(Received via mailing list)
All the engines plugin does is make the plugin system a little bit
more flexible, really. Possibly some parts will be adopted, others
certainly wont, since it exists to serve a slightly different
development environment than that of the Rails core team.

This is the nature of open source - we make it work the way that
serves our needs best :)
This topic is locked and can not be replied to.