Recreating the Wheel: Using Composite Keys, and RESTful Authentication split between models. . .?

Hi All,

I'm interested in creating something similar to, but not the same as, Basecamp. I know, I know, why reinvent the wheel? Well, honestly, because it's not my wheel and it's rather hard to make a living off of others' wheels. :wink:

Anyway, I'm interested in creating a RESTFul setup with a few levels of models. The most notable of which are Company, and User. As it stands (or as I understand it), creating a RestfulAuthentication model involves a single Model and Controller. However, with an application of this nature I'm going to need a Company model that has many Users. In order to both allow new companies to create usernames that are "already used" by other companies, and limit redundancy within a single company, I'm going to need composite keys.

So, I'm looking for quality (notice *quality*) URLs or direct information regarding the following:

1) composite keys 2) restful authentication setup split between multiple models 3) any tips, tricks, recommendations, or warnings you have for an endeavor of this nature. 4) any correction of potential misunderstandings I may have

Thanks in advance!

Anyone?

1) ??? 2) account_location plugin: http://svn.rubyonrails.org/rails/plugins/account_location/README

I haven't used this, but it's from Dr. Nic, so I suspect it's good:

http://rubyforge.org/projects/compositekeys

Rick,

I was speaking in #1 about the need for composite keys in order to accommodate for Companies with many Users. Does that make sense or am I missing something?

- Michael