There are two more features in trunk that I could use some testing with (common fields and precints)
Imagine you have created an app "school" designed to manage one school. It has one database and many tables. You wrote it with one school in mind. Now you want to turn it into a service so that multiple schools can register and use it. You want to identify the school for example by the url http://harvard.anyschool.org and each school should ONLY see its own users, groups, records, etc. etc. Before today to do this you would have to rewrite all your tables and queries. Today you can do it without changing your code at all. You just have to add this line after db=DAL(...) db._common_fields=[Field('request_precinct',default=request.env.http_host,writable=False,readable=False)] Yes. That is it! How does it work? 1) db._common_fields is a list of fields that you want to add to all tables. 2) The field called 'request_precinct' is special. Every query involving a table having this field is automatically filtered byfield value == field default. In our example the default is request.env.http_host, i.e. the hostname in the http request which identifies the school. 3) The field is hidden (writable=False,readable=False) but has a default therefore it is automatically set for all inserts. There is nothing special about schools here. You can use it with any other app. Give it a try and let me know. I could use some help in writing some documentation about the new features added today. ;-) Massimo