Hogan, Brian P. wrote:
I might add that this is a migration from 30+ years of COBOL.
I’ve just been thinking over what your parameters are, and had an idea
that I don’t believe I’ve seen suggested elsewhere.
From what you’re saying, aspects of the business model (using the term
loosely, here) will be common across all applications, as will certain
aspects of the views.
Presumably the database will also be shared, and I’m assuming that
you’re going to want a consistent single version of Rails across all
I’m also assuming (rather, hoping :-)) that you’re using a unix-like OS.
What you could do is have all of the common parts hosted in a single
application, and mount the various shared parts of it into each separate
application that needs it, either over network mounts (which would make
it simpler to add in application modules as you need them), or by
symlinking them into place if they’re all going to be on the same
This means that (for example) you could have all your core models in
app/models/core/, any shared controllers (login, for example) in
app/controllers/core/, and any shared view components in
app/views/core/. The same could apply for helpers and the lib/
directory, if necessary. Any application-specific models, views and
controllers could sit outside these mount points.
This is all off the top of my head, but I can’t see anything obviously
wrong with it. Anyone else have any comments?