> and I believe that as I refactor the site and continue
> to develop it that I'll be able to define much MORE
> elegant ways of doing the same thing in CF. Starting
> with refining the database design... because the
> tbl_login+tbl_{user_type} did NOT work out as well
> as I'd hoped. Most annoying.<shudder> Reminds me of something I built before I learned about normalization. These days I build most things to third normal form with foreign-key constraints to ensure data integrity is maintained... and I wish it were more popular... I've worked on several applications that have used setups similar to what you're describing ... at an education company, tLogin along with tStudent, tParent, tTeacher, tStaff (or similar I don't remember for certain what it was). Oh the agony of unions... Not that unions don't have their place, but this wasn't it. Would have been so much easier to have just had a tUser and tRole table, put the login credentials in tUser table -- even if you didn't associate users to roles with a many-to-many cross-reference table. The past couple weeks I've been working pretty hard on a rebuild of the onTap framework's security suite (Members onTap) to eliminate some structural anomolies in CF rather than in the database. The data elements aren't changing much. It's still many-to-many associating between members, roles and permissions -- but the last version had members and security in separate plugins, it lacked built-in roles for "public access" and "everyone" (all authenticated members), it didn't have any timezone data and wasn't i18n (neither was the framework) and it lacked some common member-management features (read preferences, for instance image urls). Several of the features in the new version (profiles and preferences primarily) are being refactored into the security suite after having been written separately into the forum plugin. Plus I'm making some improvements to the UI while I'm at it -- organizing the member form with a cardstack, displaying input for the cross-reference associations as swapboxes instead of simple multiple select-boxes, organizing the installer with a tabset (much more intuitive than the basic/advanced button in the previous version). Anyway, I'm getting off on a tangent. :) Was just thinking about the subject of refactoring and reminded of some data-normalization horror stories I had on my back-shelf. :) s. isaac dealey 954.522.6080 new epoch : isn't it time for a change? add features without fixtures with the onTap open source framework http://macromedia.breezecentral.com/p49777853/ http://www.sys-con.com/story/?storyid=48229&DE=1 http://www.sys-con.com/story/?storyid=44477&DE=1 http://www.sys-con.com/story/?storyid=45569&DE=1 http://www.sys-con.com/story/?storyid=48229&DE=1 http://www.fusiontap.com ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Logware (www.logware.us): a new and convenient web-based time tracking application. Start tracking and documenting hours spent on a project or with a client with Logware today. Try it for free with a 15 day trial account. http://www.houseoffusion.com/banners/view.cfm?bannerid=67 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:197841 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

