As soon as I announce the book 4th ed. please ask me a I will send you
a diff so you can translate the diffs.

If you send me the translated book as makrmin files (one per chapter)
I can post it on web2py.com/book or you prefer I can simply link it.

On Sep 28, 2:03 pm, Omi Chiba <ochib...@gmail.com> wrote:
> Massimo,
>
> web2py Japan finished the tranlation for ver 3.0 at the following
> site.https://sites.google.com/site/web2pyjapan/book/01
>
> Editing to (ja) is disabled now and we're kind of waiting.
> Now, I'm confused how we proceed it.
>
> What the best way to do the translation work ?
>
> 1. Wait for the 4th edition (Everything on your list is [x])
> 2. Wait for it becomes editable
> 3. Then, compare the difference between 3rd and 4th manually and
> translate it from scratch ??
>
> or we just keep our website as official Japanese one and create ver4.0
> later time.
>
> On Sep 28, 8:54 am, Massimo Di Pierro <massimo.dipie...@gmail.com>
> wrote:
>
>
>
>
>
>
>
> > 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

Reply via email to