Stupid question. Is there a way to get the english version of the book with the browser in italian language? :-)
Thank you On Wed, Sep 21, 2011 at 6:17 AM, Ivica Kralj <ivicakr...@gmail.com> wrote: > Wow, Impressive list... more features to play with... This is going to be > great :) > > Thanks all > > > On 20 September 2011 23:17, Massimo Di Pierro > <massimo.dipie...@gmail.com>wrote: > >> List of new features NOT yet documented in the book. I think: >> >> >> - LICENSE CHANGE FROM GPLv2 to LGPLv3 >> - new URL syntax >> - new T behavior >> - new app level logging with logging.conf (thanks Jonathan) >> - Polymmodel support on GAE >> - current >> - added pyfpdf, thank Mariano >> - db(db.table), db(db.table.id) both suported and equivalent to >> db(db.table.id>0) >> - IS_DECIMAL_IN_RANGE and IS_FLOAT_IN_RANGE support dot="," (dot="." >> is default) >> - on_failed_authorization can be a function, thanks Niphold >> - new layout for examples, thanks Bruno and Martin >> - admin allow ``DEMO_MODE=True`` and ``FILTER_APPS=['welcome']`` >> - upgraded to anytime >> - new admin wizard >> - better mercual admin allows list of files, versions and retrieve >> - SQLFORM.accepts(detect_record_change).record_changed >> - SQLFORM.process() >> - new admin layout (thanks Branko Vukelic) >> - new Welcome app (thanks Martin Mulone) >> - web2py.py -J for running cron (thanks Jonathan Lundell) >> - web2py.py -K for running backgournd tasks >> - new DAL (complete rewrite of the web2py DAL is more modular) >> - better CAS with v2 support, thanks Olivier ROCH VILATO >> - session.connect(separate=True) to handle many session files, thanks >> huaiyu wang >> - changed bahvior of impersonate (more secure, can generate form or >> used as API) >> - SQLTABLE(...,headers='labels') thanks Bruno >> - optional: digitally signed URLs, thanks Brian Meredyk >> - web2py comet via gluon/contrib/comet_messaging.py (html5 websockets) >> experimental >> - customizable uploadwidget, thanks Fran >> - admin has MULTI_USER_MODE (admin/models/0.py) >> - support for count(distinct=...) >> - IS_MATCH(...,strict=True) >> - URL(...,scheme=,host=,port=), thanks Jonathan >> - auth.signature (experimental) >> - combined expressions print db.data.body.len().sum() >> - wizard can download plugins >> - moderniz 1.17 >> - experimental REST API >> - added experimental pip support, thanks Lifeeth >> - added experimental SAP DB support >> - Google MySQL support (experimental) >> - DAL(...,migrate_enabled=True) >> - login_methods/loginza.py, thanks Vladimir >> - bpython shell support, thanks Arun >> - response.toolbar() >> - db._timings contains database query timing info >> - efficient db(...).isempty() >> - setup-web2py-nginx-uwsgi-ubuntu.sh >> - "from gluon import *" >> - conditional models in models/<controller>/a.py and models/ >> <controller>/<function>/a.py >> - from mymodule import * >> - generic views >> - all applications have cas 2.0 provider at http://.../user/cas/login >> - all applications can delegate to login to external provider >> Auth(...,cas_provider='http://.../other_app/default/user/cas'\ >> ) >> - A(...,callback=URL(...),larget='id') does Ajax >> - URL(...,user_signature=True), LOAD(...,user_signature=True) >> - DAL(...,migrate_enabled=False) to disable all migrations >> - DAL(...,fake_migrate_all=True) to rebuild all corrupted metadata >> - DAL(...,adapter_arg={}) allows support for alternate drivers >> - DAL now allows circular table defintions >> - DAL(..,auto_import=True) automatically imports tables from metadata >> without need to db.define_table(...)s. >> - new alterante syntax for inner joins: db(...).select(join=...) >> - experimental cubrid database support >> - DAL 'request_tenant' fields are special, the altomatically filer all >> records based on their default value. >> - db._common_fields.append(Field('owner')) allows to add fields to ALL >> tables >> - web2py_ajax.html is more modular, thanks Anthony >> - request.is_local >> - request.is_http >> - new simpler API gluon.contrib.AuthorizeNet.procss(...) >> - messages in validators have default internationalization >> - No more Auth(globals(),db), just Auth(db). Same for Crud and >> Service. >> - scripts/access.wsgi allows apache+mod_wsgi to delegate >> authentication of any URL to any web2py app >> - web2py HTTP responses now set: "X-Powered-By: web2py", thanks Bruno >> - auth.settings.extra_fields['auth_user'].append(Field('country')) >> - validate_and_update, thanks Bruno >> - new cpdb.py, thanks Mart >> - field.represent = lambda value,record: .... (record is optional) >> - request.user_agent(), thanks Ross >> - SQLFORM(...,separator=': ') now customizable >> - experimental gluon/scheduler.py >> - scripts/make_min_web2py.py >> - crud.search has more options, thanks Denes >> - gluon/contrib/simplejsonrpc.py >> - gluon/contrib/redis_cache.py >> - support for A(name,callback=url,target='id',delete='tr') >> - support for A(name,component=url,target='id',delete='tr') >> - isapiwsgihandler.py >> - dal expression.coalesce(*options) >> - new pip installer, thanks Chris Steel >> - gluon/contrib/simplejsonrpc.py, thanks Mariano >> - expire_sessions.py respects expiration time, thanks iceberg >> - x509 support (needs rocket upgrade, thanks Michele) >> - new syntax rows[i]('tablename.fieldname') >> - new query syntax field.contains(list,all=True or False) >> - new SQLFORM.grid and SQLFORM.smartgrid (should replace crud.search >> and crud.select) >> - support for natural language queries (english only) in SQLFORM.grid >> - support for computed columns and additional links in SQLFORM.grid >> - new style virtual fields (experimental): >> db.table.field=Field.Lazy(...) >> - request.utcnow >> - cleaner/simpler welcome/models/db.py and welcome layout.html >> - response.include_meta() and response.include_files(), thanks Denes >> - dal auto-reconnect on time-out connections >> - COL and COLGROUP helpers >> - addresed OWASP #10, thanks Anthony and Eric >> - auth.settings.login_after_registration=True >> - detection of mobile devices and @mobilize helper (view.mobile.html), >> thanks Angelo >> > > -- Massimiliano