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
>

Reply via email to