I heartily agree with you on this one as well.
Attribute tables are not generally the best way of doing things, as things may turn out to be way too data dependant. Also handling things such as changing an attribute name, deleting an attribute become more complex. Maybe a mixture of the two approaches would be best.
"Core" entity fields are ones in which the core team is responsible for be are handled in the actual core tables via fields. However, each core entity has an ExtSettings (Extension Settings) which can map additional settings for extensions or expandibility. Thus, core code would always refer to an actual table /field combination, but any extended functionality, instead of modifying the core table, could simply use the ExtSettings for the table.
This helps to get away from migrating databases and merging database changes from multiple verisons, ie: XXL and core 1.0.10.
there, that's my thoughts on the subject as well - now, we'll both step off of the soapbox and watch the responses!
Richard Cox
ByDesignWebSights
ByDesignWebSights
www.dotnetnuke-modules.com
Portal Store, Advanced Email Manager, SiteTrack, Support Desk and many other modules for your DNN platform.