On Apr 17, 9:48 pm, "Kyle N/a" <[email protected]>
wrote:
> I have a "data warehouse" application I've been writing and I would like
> to solicit some assistance with how to design it. Basically, I harvest
> data from a lot of sources and dump them into my database.
>
> For background on what I'm doing, this "data warehouse" takes
> HR/Personnel/Company/Organizational data and associates that with User
> Account and Group data from 5 platforms (ie, Active Directory, UNIX,
> others).
>
> I began first by scaffolding and designing the Models, and then
> importing the data with a Rake task--roughly doing:
>
> 1.) Insert/Update nightly data into Table.
> 2.) Flag data that was not in my nightly source data (maybe it was
> deleted?)
> 3.) Call method to create relationships ("hooks") between these various
> sources.
(Just so you know...3 isn't necessary with Rails.)
>
> I wrote this in Perl (with mysql) and I displayed this data in a webpage
> by using a set of SQL Views and a meta-table, describing what elements
> of these views is displayed.
I am now somewhat confused. How were you using Rake with Perl?
>
> It was not a good solution for a lot of reasons so I decided to redo my
> database and learn Ruby/RoR in the process.
[...]
> All told, I have 17 tables (so, 17 nightly dumps). A majority of the
> searches are going to be against 3 to 8 of these tables.
>
> Given all of this, my issues/questions are as follows:
>
> - I'm really trying to avoid hard coding as much as possible. Ideally,
> I'd have some kind of admin interface to make changes to how data is
> displayed. The idea of hard coding each text box for the search fields,
> or the displayed columns, etc... isn't appealing to me.
Check out ActiveScaffold.
>
> If this really is the best solution, I suppose I can go that route. The
> nice thing of having my Views in MySQL was that it was easy to map meta
> data to what to display.
Rails will deal with database views. I don't know that much about how
to work with them, but there's been discussion about them on this
list.
>
> - I'm trying to figure out how to design this to make it very scalable
> and easy to modify. Particularly, if two tables have a column that have
> something in common, I'd like to (perhaps) make those into a link to
> each other.
I believe ActiveScaffold will do this easily.
>
> - As above, I'd also like to add extra functionality. I setup
> acts_as_revisable in my database and it works very well. If a user has
> an elevated role, I'd like to have them be able to review the history of
> a record.
>
> These are pretty lofty goals
No, they're not.
> and this will take some baby steps. I'm
> still new to Ruby/RoR, but I think it's been hard (so far) to find good
> documentation that addresses some of these issues. Or maybe I don't
> know the key words or how to approach this the Ruby Way (probably the
> case)?
I think you're overthinking it. Rails makes what you're talking about
so basic that I don't think most people would bother writing tutorials
on the subject. Have you started writing this application yet?
>
> I'd like to use my experiences to do a write-up/tutorial on how to
> address data warehousing problems with RoR (and starting RoR from
> scratch). If I become good enough, I may eventually attempt a plugin
> for combined data warehousing, versioning, cross-referencing, etc (if I
> still think there's a use for it).
That could be interesting, although things like ActiveScaffold cover a
lot of the same ground.
>
> I really appreciate everyone's help/advice on the issue.
> --
> Posted viahttp://www.ruby-forum.com/.
Best,
--
Marnen Laibow-Koser
[email protected]
http://www.marnen.org
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---