Although the dynamically typed technique described by Chris will probably work just fine and I have used myself in the past, it has a some draw backs. - it's complex - selects with where clauses that involve more than one attribute will be slow - it doesn't play nice with 3rd party database tools The crux of the problem is that the data model essentially turns columns into rows. This is the same thing the database catalog does. So doing it again is reinventing the wheel. An alternative solution is to create tables on the fly as new work out types are defined by the user. This produces a conventional statically typed data model that doesn't have the problems above. CAVEAT: I've never been able to convince a DBA to give my application DDL rights, so I've never been able to put the idea into production. :( _______________________________________________ TCLUG Mailing List - Minneapolis/St. Paul, Minnesota Help beta test TCLUG's potential new home: http://plone.mn-linux.org Got pictures for TCLUG? Beta test http://plone.mn-linux.org/gallery tclug-list at mn-linux.org https://mailman.real-time.com/mailman/listinfo/tclug-list