These features are now documented in the html book. Working on more.

[x] Support for DAL(lazy_tables=True) and db.define_table(on_define=lambda 
table:), thanks Jonathan
[x] db(...).select(cacheable=True) make select 30% faster
[x] db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x 
faster
[x] db(...).count(cache=(cache.ram,3600)) now supported
[x] MongoDB support in DAL (experimental), thanks Mark Breedveld
[x] db.mytable._before_insert, _after_insert, _before_update, 
_after_update, _before_delete. _after_delete (list of callbacks)
[x] DAL BIGINT support and DAL(...,bigint_id=True)
[x] IS_IN_DB(..., distinct=True)
[x] new syntax: db.mytable.insert(myuploadfield=open(....)), thank you 
Iceberg
[x] db(...).select(db.mytable.myfield.count(distinct=True))
[x] teradata adapter, thanks Andrew Willimott
[x] experimental Sybase Adapter
[x] added db.table.field.avg()
[x] Field(... 'upload', default=path) now accepts a path to a local file as 
default value, if user does not upload a file. Relative path looks inside 
current application folder, thanks Marin
[x] executesql(...,fields=,columns=) allows parsing of results in Rows, 
thanks Anthony

[x] @auth.requires_login(otherwise=URL(...))
[x] CRYPT now defaults to pbkdf2(1000,20,sha1)
[x] allow storage of uploads on any PyFileSystem (including amazon)

[x] more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml, 
csv, ...)

[x] new layout based on Twitter Bootstrap
[x] New generic views: generic.ics (Mac Mail Calendar) and generic.map 
(Google Maps)
[x] request.args(0,default=0, cast=int, otherwise=URL(...)), thanks Anthony
[x] redirect(...,type='auto') will be handled properly in ajax responses
[x] routes in can redirect outside with 
routes_in=[('/path','303->http://..')]
[x] .coffee and .less support in response.files, thanks Sam Sheftel
[x] ldap certificate support
[x] pg8000 postgresql driver support (experimental)

[x] db.table.field.like(...,case_sensitive=False) (thanks Floyd)
[x] db.table.field.regexp(...) for sqlite and postgres
[ ] db(...,ignore_common_filters=True)
[x] db(db.dog_id.belongs(db.dogs.owner=='james')).select()
[ ] db(...).select().group_by_value(db.table.field) (thanks Yair)
[x] db = DAL('imap://user:password@server:port') support (thanks Alan Etkin)
[x] db = DAL('teradata://DSN=dsn;UID=user;PWD=pass; DATABASE=database') 
(thanks Adrew Willmott)
[x] db = DAL('mongodb://127.0.0.1:5984/db') (experimental, thanks Mark 
Breedveld)
[x] db = DAL('cubrid')  (experimental)
[x] db = DAL('postgres:pg8000:...') and DAL('postgres:psycopg2:...')
[x] pg8000 now ships with web2py (thanks Mariano) 
[x] reponse.delimiters = ('\\[','\\]') (thanks Denes)
[x] conditional menu items (reponse.menu=[(title,bool,link,[],condition)]



I could use some help documenting these features

[ ] geodal and spatialite, thanks Denes and Fran (experimental)
[ ] Support for Google App Engine projections, thanks Christian
[ ] Scheduler Improvements (thanks to niphlod, ykessler, dhx, toomim)
[ ] DIV(..).elements(...replace=...), thanks Anthony
[ ] new fpdf, thanks Mariano
[ ] included web-based debugger (experimental, thanks Mariano)
[ ] pluralization system (Vladyslav)
[ ] T.M helper (Vladyslav)


Eventually some of the new features require a loger discussion in a 
blog-like fashion than just a mention and a short example in the book.

>
>

-- 



Reply via email to