I have a new internal app to build starting June 1 with Beta Sept 1 and production deploy Oct 1. I'm an old hand at Python and MySQL with a little TG 1.0.4 and SQLObject but no SQLAlchemy.
I'm planning to use Flex for the UI and have TG pass it XML. I've already got the Flex completed. Worst case scenario is 100 simultaneous users organized into 20 autonomous divisions and no one making rapid changes. I'll be using CentOS and MySQL 5.0 on virtual servers with as much RAM as I need. Performance is not an issue. Each logical record contains about 500 fields which may be cleanly grouped into about 20 sections. Not all fields apply to all records and this is determined from a template when the record is created. The Create, Copy, Delete, Validate and Print functions will need access to all 500 fields while Edit will address one 1 section at a time. One geographical region (state) as a supplement section "S" with about 5 fields; however due to schedule constraints I could incorporate it into the generic DB and just put NULL's in its values for the other regions so it could be ignored. Not pretty but this is a stop-gap task. It would be "nice" to prevent simultaneous edits of the same section in the same record, but the schedule constraints would allow me to ignore that issue and just tell users "don't do that" (yes that's operationally feasible) I am hoping to avoid any major design mistakes that could require significant rework, so my questions are: 1. Are there any features that would cause me to choose TG 2.1 over 2.0 other than the release status of 2.1? Especially given that I'm using Flex and not Genshi. 2. Will I encounter documentation "shortfalls" with 2.1 compared to 2.0. 3. Should I use one huge (500 column) MySQL table and then define models for editing the different sections to minimize joins or should I map the sections to tables to make it more modular? 3.a. I can use one table with 500 columns and then use MySQL "INSERT INTO active SELECT * from template where datatype=3" type of syntax to create a new record with the appropriate NULL's for the non-applicable fields. A Copy function will have to examine the NULL's in the record introduced by the template, so each field must be examined individually. 3.b. Are there any SQLAlchemy issues with large tables? 3.c. Is there a Pythonic way to copy all the fields from a template into a record in SQLAlchemy without iterating through all the fields? Any insight would be greatly appreciated. -- You received this message because you are subscribed to the Google Groups "TurboGears" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/turbogears?hl=en.

