RE: Large-scale application


#1

Ezra:
Thank you for that insight… It’s a really neat way of thinking about
things.

Here’s one issue that we face:

The “advising” application allows faculty to see all kinds of student
data. Of course, students wouldn’t be “advising” themselves, so they
would get at the data through a different method. Grade Checking would
be separate, but would need to be called from within Advising (I want to
see your grades and I am your advisor).

Normally, I’d just render partial and get what I need. How would I do
that if the apps are separate?

I would think that separate apps would be easier to maintain…
.Developer A wouldn’t need to check out the whole big app just to work
on his Advising piece. However, is there a better way to build this in
pieces and still keep it all together?

Thanks again!


#2

On Jan 3, 2006, at 11:38 AM, Hogan, Brian P. wrote:

be separate, but would need to be called from within Advising (I
pieces and still keep it all together?

Thanks again!

Well if your separate rails applications need to share the same

models for some sections then you could still use a centralized
database for all the applications and you could keep your models in
sync via svn:externals so that each one of your apps can use the same
models and they can all be kept up to date throughout all projects.
This could work in a similar way for shared views/partials if you
want to really keep DRY.

As far as if you need to render a section from a different app as i

often do, you can set up some proxy methods. Define a
fetch_remote_action defined in your application.rb or in a helper
that uses open-uri and localhost to grab pages and actions from other
apps and slurp the text in to be rendered inline with your other info
from the local app.

I think that you will have a much easier time if you keep these apps

as separate rails apps and tie together the code that spans multiple
apps with svn:externals so they stay in sync with each other. If you
keep all your models sync over each app, you will just be dealing
with controllers and views for each different app. But you will still
have access to any part of your domain model since all models are
available to all apps.

Cheers-
-Ezra Z.
Yakima Herald-Republic
WebMaster
http://yakimaherald.com
509-577-7732
removed_email_address@domain.invalid