> 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

Reply via email to