ok
Ovidio Marinho Falcao Neto ovidio...@gmail.com 83 8826 9088 - Oi 83 9334 0266 - Claro Paraiba-Brasil 2011/9/28 Massimo Di Pierro <massimo.dipie...@gmail.com> > I have updated the online book, the content, not the app, with my most > recent edits. > Not everything is documented yet but lot more stuff is. The book is > about 10% bigger already. > When done should be 20-30% bigger than the 3rd edition. > > Here is a list of new features that are documented in 3.1 but not in > 3.0 [x] and features that are not yet documented [ ]: > > [x] LICENSE CHANGE FROM GPLv2 to LGPLv3 > [x] new URL syntax > [x] URL(...,scheme=,host=,port=) > [x] URL(...,user_signature=True), LOAD(...,user_signature=True) > [x] new T behavior > [x] db(db.table) equivalent to db(db.table.id>0) > [x] IS_DECIMAL_IN_RANGE and IS_FLOAT_IN_RANGE support dot="," (dot="." > is default) > [x] on_failed_authorization can be a function > [x] SQLFORM.process() > [x] SQLFORM.accepts(detect_record_change).record_changed > [x] session.connect(separate=True) to handle many session files > [x] support for count(distinct=...) > [x] IS_MATCH(...,strict=True) > [x] No more Auth(globals(),db), just Auth(db). Same for Crud and > Service. > [x] efficient db(...).isempty() > [x] "from gluon import *" > [x] from mymodule import * > [x] request.is_local > [x] request.is_https > [x] login_methods/loginza.py > [x] DAL(...,migrate_enabled=False) to disable all migrations > [x] DAL(...,fake_migrate_all=True) to rebuild all corrupted metadata > [x] messages in validators have default internationalization > [x] web2py.py -J for running cron > [x] bpython shell support, thanks Arun > [x] response.toolbar() > [x] db._timings contains database query timing info > [x] new represent syntax > [x] COL and COLGROUP helpers > [x] auth.settings.login_after_registration=True > [x] SQLFORM(...,separator=': ') now customizable > [x] combined expressions print db.data.body.len().sum() > [x] request.utcnow > [x] web2py_ajax.html is more modular, thanks Anthony > [x] current > [x] dal expression.coalesce(*options) > [x] response.include_meta() and response.include_files() > [x] dal auto-reconnect on time-out connections > [x] DAL(...,adapter_arg={}) allows support for alternate drivers > [x] new simpler API gluon.contrib.AuthorizeNet.procss(...) > [x] upgraded to anytime > [x] new alterante syntax for inner joins: db(...).select(join=...) > [x] new syntax rows[i]('tablename.fieldname') > [x] new DAL (complete rewrite of the web2py DAL is more modular) > [x] new query syntax field.contains(list,all=True or False) > [x] validate_and_update, thanks Bruno > [x] web2py HTTP responses now set: "X-Powered-By: web2py", thanks > Bruno > [x] auth.settings.extra_fields['auth_user'].append(Field('country')) > [x] A(...,callback=URL(...),larget='id') does Ajax > [x] support for A(name,callback=url,target='id',delete='tr') > [x] DAL 'request_tenant' fields are special, the altomatically filer > all records based on their default value. > [x] db._common_fields.append(Field('owner')) allows to add fields to > ALL tables > [x] CAS with v2 support > [x] all applications can delegate to login to external provider > Auth(...,cas_provider='http://.../other_app/default/user/cas') > [x] isapiwsgihandler.py > [x] setup-web2py-nginx-uwsgi-ubuntu.sh > [x] DAL(..,auto_import=True) automatically imports tables from > metadata without need to db.define_table(...)s. > [x] field.represent = lambda value,record: .... (record is optional) > [x] gluon/contrib/redis_cache.py > [x] gluon/contrib/simplejsonrpc.py > [x] expire_sessions.py respects expiration time, thanks iceberg > [x] auth.settings.cas_actions > [~] auth.signature (experimental) -> needs more in auth > [~] generic views -> may need more info > > > ## admin > [ ] admin allow ``DEMO_MODE=True`` and ``FILTER_APPS=['welcome']`` > [ ] new admin layout (thanks Branko Vukelic) > [ ] new admin wizard > [ ] wizard can download plugins > [ ] better mercual admin allows list of files, versions and retrieve > [ ] admin has MULTI_USER_MODE (admin/models/0.py) > > ## welcome and examples > [ ] new Welcome app (thanks Martin Mulone) > [ ] new layout for examples, thanks Bruno and Martin > [ ] cleaner/simpler welcome/models/db.py and welcome layout.html > [ ] moderniz 1.17 > [ ] experimental REST API > > ## table and grids > > [ ] SQLTABLE? > [ ] SQLTABLE(...,headers='labels') thanks Bruno > [ ] new SQLFORM.grid and SQLFORM.smartgrid > [ ] support for natural language queries (english only) > [ ] support for computed columns and additional links in SQLFORM.grid > > ## other > [ ] new pip installer (Chris Steel) > [ ] new app level logging with logging.conf (Jonathan) > [ ] Polymmodel support on GAE > [ ] pyfpdf (Mariano) > [ ] auth.impersonate > [ ] conditional models > [ ] DAL now allows circular table definitions > [ ] scripts/access.wsgi and apache+mod_wsgi > [ ] scripts/make_min_web2py.py > [ ] new cpdb.py, thanks Mart > [ ] request.user_agent(), thanks Ross > [ ] x509 support (needs rocket upgrade, thanks Michele) > [ ] detection of mobile devices and @mobilize helper > > ## experimental features > [ ] experimental gluon/scheduler.py (experimental) > [ ] db.table.field=Field.Lazy(...) (experimental) > [ ] web2py comet via gluon/contrib/comet_messaging.py (html5 > websockets) > [ ] experimental cubrid database support > >