[web2py] Re: web2py 2.0.2 is out

2012-10-12 Thread Simon Carr
Thanks to all of you who have given so many of us another wonderful 
evolution of this great framework.

Simon

On Thursday, 30 August 2012 04:41:34 UTC+1, Massimo Di Pierro wrote:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization 
 system, better markmin with oembed support and better scaffolding app, 
 increased security.
 - Lots of experimental features including GIS support, mongodb support, 
 built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us know 
 ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, Jonathan, 
 Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, Patrick, 
 Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us know 
 ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and db.define_table(on_define=lambda 
 table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, _after_update, 
 _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index: 
 return auth.wiki()
 - auth.settings.everybody_group_id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form improvements

 - FORM.confirm('Are you sure?',{'Back':URL(...)})
 - SQLFORM.smartdictform(dict)
 - form.add_button(value,link)
 - SQLFORM.grid(groupby='...')
 - fixed security issue with SQLFORM.grid and SQLFORM.smartgrid
 - more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml, 
 csv, ...)

 ### Admin improvements

 - new admin pages: manage_students, bulk_regsiter, and progress reports
 - increased security in admin against CSRF
 - experimental Git integration
 - experimental OpenShift deployment
 - multi-language pluralization engine 
 - ace text web editor in admin
 - Ukrainian translations, thanks Vladyslav Kozlovskyy
 - Romanian translation for welcome, thanks ionel
 - support for mercurial 2.6, thanks Vlad

 ### Scheduler Improvements (thanks to niphlod, ykessler, dhx, toomim)

 - web2py.py -K myapp -X starts the myapp scheduler alongside the webserver
 - tasks are marked EXPIRED (if stop_time passed)
 - functions with no result don't end up in scheduler_run
 - more options: web2py.py -E -b -L
 - scheduler can now handle 10k tasks with 20 concurrent workers and with 
 no issues
 - new params:
 tasks can be found in the environment (no need to define the tasks 
 parameter)
 max_empty_runs kills the workers automatically if no new tasks are 
 found in queue (nice for spikes of processing power)
 discard_results to completely discard the results (if you don't need 
 the output of the task)
 utc_time enables datetime calculations with UTC time
 

Re: [web2py] Re: web2py 2.0.2 is out

2012-10-12 Thread Vasile Ermicioi
you are kind of late, we are already at 2.0.9 and 2.1.0 soon to be released
:)

-- 





[web2py] Re: web2py 2.0.2 is out

2012-10-02 Thread Nate Atkinson
I seem to have run into a backwards compatibility issue.

This weekend, I did some system upgrades. I moved my web2py (1.99.7) + 
MySQL application off a single server running Ubuntu to two VM's running 
Debian stable (one VM for web2py + apache, one for MySQL). Web2py was 
deployed using the script in the deployment recipes book section (which 
downloaded whatever version was current as of Oct 1). MySQL data was moved 
using mysqldump.

It seems that one-to-many relations are broken in the DAL.

Example code snippets:

From the model:


gaia.define_table('routes',
Field(Name, required=True),
Field(Active, boolean, required=True, default=True),
format='%(Name)s')

gaia.define_table('routedetails',
Field('route', gaia.routes),
Field('site', gaia.sites),
Field('sortable', 'integer', default = 0,writable=False,readable=False),
singular = 'RouteDetail', plural = 'RouteDetails')



From the controller (making a link field for SQLForm.grid):


boxeslink = dict(
header = 'Number of Boxes',
body = lambda row: sum([x.site.NumBoxes for x in 
row.routedetails.select()])
)



I should be able to access related routedetails rows from a routes row. I 
can't. I get an exception telling me that the Row object doesn't have 
that attribute.


Sorry for the vague details-- I installed the new version, saw that it 
didn't work, installed 1.99.7 and it worked perfectly again. I'll get a 
2.0.7 instance up and running later and can provide exact details.

-- 





[web2py] Re: web2py 2.0.2 is out

2012-10-02 Thread Massimo Di Pierro
I know what the problem is. Please open a ticket about this so I do not 
forget and I may fix it tonight.

This is a change in grid behavior and we do not promise backward 
compatibility in grid because it is experimental.

Basically the we speeded up the grid but not generating the full Row(s) 
objects thus your row.routedetails is missing.

In any case it is debatable whether the changes that lead to this are worth 
it, considering the problem you mention. I will probably revert the old 
behavior.

massimo


On Tuesday, 2 October 2012 11:04:30 UTC-5, Nate Atkinson wrote:

 I seem to have run into a backwards compatibility issue.

 This weekend, I did some system upgrades. I moved my web2py (1.99.7) + 
 MySQL application off a single server running Ubuntu to two VM's running 
 Debian stable (one VM for web2py + apache, one for MySQL). Web2py was 
 deployed using the script in the deployment recipes book section (which 
 downloaded whatever version was current as of Oct 1). MySQL data was moved 
 using mysqldump.

 It seems that one-to-many relations are broken in the DAL.

 Example code snippets:

 From the model:

 
 gaia.define_table('routes',
 Field(Name, required=True),
 Field(Active, boolean, required=True, default=True),
 format='%(Name)s')

 gaia.define_table('routedetails',
 Field('route', gaia.routes),
 Field('site', gaia.sites),
 Field('sortable', 'integer', default = 
 0,writable=False,readable=False),
 singular = 'RouteDetail', plural = 'RouteDetails')
 


 From the controller (making a link field for SQLForm.grid):

 
 boxeslink = dict(
 header = 'Number of Boxes',
 body = lambda row: sum([x.site.NumBoxes for x in 
 row.routedetails.select()])
 )
 


 I should be able to access related routedetails rows from a routes row. I 
 can't. I get an exception telling me that the Row object doesn't have 
 that attribute.


 Sorry for the vague details-- I installed the new version, saw that it 
 didn't work, installed 1.99.7 and it worked perfectly again. I'll get a 
 2.0.7 instance up and running later and can provide exact details.


-- 





[web2py] Re: web2py 2.0.2 is out

2012-09-09 Thread pradeep cs
Thanks,

After installing this it works. I am having windows XP with service pack 2

Regards
Pradeep

On Thursday, September 6, 2012 7:49:29 PM UTC+5:30, Massimo Di Pierro wrote:

 If you download and install this:
 http://www.microsoft.com/en-us/download/details.aspx?id=29

 does it help?


 On Wednesday, 5 September 2012 07:29:51 UTC-5, pradeep cs wrote:

 Hi,

 Is there any problem with windows binaries for XP, i tried installing the 
 new version 2.0.7 on XP it is not working

 *C:\web2py1\web2pyweb2py.exe*
 *The system cannot execute the specified program.*

 regards
 Pradeep

 On Thursday, August 30, 2012 9:11:34 AM UTC+5:30, Massimo Di Pierro wrote:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization 
 system, better markmin with oembed support and better scaffolding app, 
 increased security.
 - Lots of experimental features including GIS support, mongodb support, 
 built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us 
 know ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, 
 Jonathan, Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, 
 Patrick, Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us 
 know ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and db.define_table(on_define=lambda 
 table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x 
 faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, 
 _after_update, _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index: 
 return auth.wiki()
 - auth.settings.everybody_group_id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form improvements

 - FORM.confirm('Are you sure?',{'Back':URL(...)})
 - SQLFORM.smartdictform(dict)
 - form.add_button(value,link)
 - SQLFORM.grid(groupby='...')
 - fixed security issue with SQLFORM.grid and SQLFORM.smartgrid
 - more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml, 
 csv, ...)

 ### Admin improvements

 - new admin pages: manage_students, bulk_regsiter, and progress reports
 - increased security in admin against CSRF
 - experimental Git integration
 - experimental OpenShift deployment
 - multi-language pluralization engine 
 - ace text web editor in admin
 - Ukrainian translations, thanks Vladyslav Kozlovskyy
 - Romanian translation for welcome, thanks ionel
 - support for mercurial 2.6, thanks Vlad

 ### Scheduler Improvements (thanks to niphlod, ykessler, dhx, toomim)

 - web2py.py -K myapp -X starts the myapp scheduler alongside the 
 webserver
 - tasks are marked EXPIRED (if stop_time passed)
 - functions with no result don't end up in scheduler_run
 - more options: 

[web2py] Re: web2py 2.0.2 is out

2012-09-06 Thread Massimo Di Pierro
If you download and install this:
http://www.microsoft.com/en-us/download/details.aspx?id=29

does it help?


On Wednesday, 5 September 2012 07:29:51 UTC-5, pradeep cs wrote:

 Hi,

 Is there any problem with windows binaries for XP, i tried installing the 
 new version 2.0.7 on XP it is not working

 *C:\web2py1\web2pyweb2py.exe*
 *The system cannot execute the specified program.*

 regards
 Pradeep

 On Thursday, August 30, 2012 9:11:34 AM UTC+5:30, Massimo Di Pierro wrote:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization 
 system, better markmin with oembed support and better scaffolding app, 
 increased security.
 - Lots of experimental features including GIS support, mongodb support, 
 built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us know 
 ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, 
 Jonathan, Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, 
 Patrick, Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us 
 know ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and db.define_table(on_define=lambda 
 table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x 
 faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, 
 _after_update, _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index: 
 return auth.wiki()
 - auth.settings.everybody_group_id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form improvements

 - FORM.confirm('Are you sure?',{'Back':URL(...)})
 - SQLFORM.smartdictform(dict)
 - form.add_button(value,link)
 - SQLFORM.grid(groupby='...')
 - fixed security issue with SQLFORM.grid and SQLFORM.smartgrid
 - more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml, 
 csv, ...)

 ### Admin improvements

 - new admin pages: manage_students, bulk_regsiter, and progress reports
 - increased security in admin against CSRF
 - experimental Git integration
 - experimental OpenShift deployment
 - multi-language pluralization engine 
 - ace text web editor in admin
 - Ukrainian translations, thanks Vladyslav Kozlovskyy
 - Romanian translation for welcome, thanks ionel
 - support for mercurial 2.6, thanks Vlad

 ### Scheduler Improvements (thanks to niphlod, ykessler, dhx, toomim)

 - web2py.py -K myapp -X starts the myapp scheduler alongside the webserver
 - tasks are marked EXPIRED (if stop_time passed)
 - functions with no result don't end up in scheduler_run
 - more options: web2py.py -E -b -L
 - scheduler can now handle 10k tasks with 20 concurrent workers and with 
 no issues
 - new params:
 tasks can be found in the environment (no need to define the 

[web2py] Re: web2py 2.0.2 is out

2012-09-06 Thread bapster
Today I downloaded 2.0.7 for Windows and am running it under Windows XP 
Professional, service pack 3.
It seems to work fine, although I've only done very cursory testing.

-- 





[web2py] Re: web2py 2.0.2 is out

2012-09-05 Thread pradeep cs
Hi,

Is there any problem with windows binaries for XP, i tried installing the 
new version 2.0.7 on XP it is not working

*C:\web2py1\web2pyweb2py.exe*
*The system cannot execute the specified program.*

regards
Pradeep

On Thursday, August 30, 2012 9:11:34 AM UTC+5:30, Massimo Di Pierro wrote:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization 
 system, better markmin with oembed support and better scaffolding app, 
 increased security.
 - Lots of experimental features including GIS support, mongodb support, 
 built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us know 
 ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, Jonathan, 
 Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, Patrick, 
 Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us know 
 ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and db.define_table(on_define=lambda 
 table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, _after_update, 
 _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index: 
 return auth.wiki()
 - auth.settings.everybody_group_id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form improvements

 - FORM.confirm('Are you sure?',{'Back':URL(...)})
 - SQLFORM.smartdictform(dict)
 - form.add_button(value,link)
 - SQLFORM.grid(groupby='...')
 - fixed security issue with SQLFORM.grid and SQLFORM.smartgrid
 - more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml, 
 csv, ...)

 ### Admin improvements

 - new admin pages: manage_students, bulk_regsiter, and progress reports
 - increased security in admin against CSRF
 - experimental Git integration
 - experimental OpenShift deployment
 - multi-language pluralization engine 
 - ace text web editor in admin
 - Ukrainian translations, thanks Vladyslav Kozlovskyy
 - Romanian translation for welcome, thanks ionel
 - support for mercurial 2.6, thanks Vlad

 ### Scheduler Improvements (thanks to niphlod, ykessler, dhx, toomim)

 - web2py.py -K myapp -X starts the myapp scheduler alongside the webserver
 - tasks are marked EXPIRED (if stop_time passed)
 - functions with no result don't end up in scheduler_run
 - more options: web2py.py -E -b -L
 - scheduler can now handle 10k tasks with 20 concurrent workers and with 
 no issues
 - new params:
 tasks can be found in the environment (no need to define the tasks 
 parameter)
 max_empty_runs kills the workers automatically if no new tasks are 
 found in queue (nice for spikes of processing power)
 discard_results to completely discard 

[web2py] Re: web2py 2.0.2 is out

2012-09-05 Thread Massimo Di Pierro
Looks like it is a DLL issue. Some DLLs are missing. I will try rebuild it 
today but I am not sure which one is missing.

Has anybody successfully used the windows version 2.0.x?

Massimo

On Wednesday, 5 September 2012 07:29:51 UTC-5, pradeep cs wrote:

 Hi,

 Is there any problem with windows binaries for XP, i tried installing the 
 new version 2.0.7 on XP it is not working

 *C:\web2py1\web2pyweb2py.exe*
 *The system cannot execute the specified program.*

 regards
 Pradeep

 On Thursday, August 30, 2012 9:11:34 AM UTC+5:30, Massimo Di Pierro wrote:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization 
 system, better markmin with oembed support and better scaffolding app, 
 increased security.
 - Lots of experimental features including GIS support, mongodb support, 
 built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us know 
 ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, 
 Jonathan, Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, 
 Patrick, Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us 
 know ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and db.define_table(on_define=lambda 
 table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x 
 faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, 
 _after_update, _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index: 
 return auth.wiki()
 - auth.settings.everybody_group_id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form improvements

 - FORM.confirm('Are you sure?',{'Back':URL(...)})
 - SQLFORM.smartdictform(dict)
 - form.add_button(value,link)
 - SQLFORM.grid(groupby='...')
 - fixed security issue with SQLFORM.grid and SQLFORM.smartgrid
 - more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml, 
 csv, ...)

 ### Admin improvements

 - new admin pages: manage_students, bulk_regsiter, and progress reports
 - increased security in admin against CSRF
 - experimental Git integration
 - experimental OpenShift deployment
 - multi-language pluralization engine 
 - ace text web editor in admin
 - Ukrainian translations, thanks Vladyslav Kozlovskyy
 - Romanian translation for welcome, thanks ionel
 - support for mercurial 2.6, thanks Vlad

 ### Scheduler Improvements (thanks to niphlod, ykessler, dhx, toomim)

 - web2py.py -K myapp -X starts the myapp scheduler alongside the webserver
 - tasks are marked EXPIRED (if stop_time passed)
 - functions with no result don't end up in scheduler_run
 - more options: web2py.py -E -b -L
 - scheduler can now handle 10k tasks with 20 concurrent workers and with 
 no issues
 - 

Re: [web2py] Re: web2py 2.0.2 is out

2012-09-04 Thread curiouslearn
Many thanks to Massimo for creating Web2py and to Massimo and other 
contributors for keeping it going and improving it. I am having fun working 
with it. 

Equally big thanks to Anthony for answering my questions here. I would most 
probably have given up on web2py, had Anthony not helped me with my 
problems.

I have been playing around with Web2py for the last few months and have 
been able to get things done with it. I have so far not used DAL, but now I 
will try and get into that.

Thanks again.


-- 





[web2py] Re: web2py 2.0.2 is out

2012-09-04 Thread Massimo Di Pierro
web2py 2.0.7 is not now.

Fixed a number of recent bugs and backward compatibility issues.
It also includes additional speed improvements when compared to 2.0.2.

Massimo

On Wednesday, 29 August 2012 22:41:34 UTC-5, Massimo Di Pierro wrote:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization 
 system, better markmin with oembed support and better scaffolding app, 
 increased security.
 - Lots of experimental features including GIS support, mongodb support, 
 built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us know 
 ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, Jonathan, 
 Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, Patrick, 
 Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us know 
 ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and db.define_table(on_define=lambda 
 table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, _after_update, 
 _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index: 
 return auth.wiki()
 - auth.settings.everybody_group_id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form improvements

 - FORM.confirm('Are you sure?',{'Back':URL(...)})
 - SQLFORM.smartdictform(dict)
 - form.add_button(value,link)
 - SQLFORM.grid(groupby='...')
 - fixed security issue with SQLFORM.grid and SQLFORM.smartgrid
 - more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml, 
 csv, ...)

 ### Admin improvements

 - new admin pages: manage_students, bulk_regsiter, and progress reports
 - increased security in admin against CSRF
 - experimental Git integration
 - experimental OpenShift deployment
 - multi-language pluralization engine 
 - ace text web editor in admin
 - Ukrainian translations, thanks Vladyslav Kozlovskyy
 - Romanian translation for welcome, thanks ionel
 - support for mercurial 2.6, thanks Vlad

 ### Scheduler Improvements (thanks to niphlod, ykessler, dhx, toomim)

 - web2py.py -K myapp -X starts the myapp scheduler alongside the webserver
 - tasks are marked EXPIRED (if stop_time passed)
 - functions with no result don't end up in scheduler_run
 - more options: web2py.py -E -b -L
 - scheduler can now handle 10k tasks with 20 concurrent workers and with 
 no issues
 - new params:
 tasks can be found in the environment (no need to define the tasks 
 parameter)
 max_empty_runs kills the workers automatically if no new tasks are 
 found in queue (nice for spikes of processing power)
 discard_results to completely discard the results (if you don't need 
 the output of the 

Re: [web2py] Re: web2py 2.0.2 is out

2012-09-03 Thread Annet
Hi Alec,

Thanks for providing me with this code.

Also will need to add in proper success ones as well. I'll get to it within 
 a week then send a pull request


I'll look forward to that.


Kind regards,

Annet 

-- 





[web2py] Re: web2py 2.0.2 is out

2012-09-03 Thread Martín Miranda
+1 ;) Excelent! 

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, Jonathan, 
 Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, Patrick, 
 Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us know 
 ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and db.define_table(on_define=lambda 
 table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, _after_update, 
 _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index: 
 return auth.wiki()
 - auth.settings.everybody_group_id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form improvements

 - FORM.confirm('Are you sure?',{'Back':URL(...)})
 - SQLFORM.smartdictform(dict)
 - form.add_button(value,link)
 - SQLFORM.grid(groupby='...')
 - fixed security issue with SQLFORM.grid and SQLFORM.smartgrid
 - more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml, 
 csv, ...)

 ### Admin improvements

 - new admin pages: manage_students, bulk_regsiter, and progress reports
 - increased security in admin against CSRF
 - experimental Git integration
 - experimental OpenShift deployment
 - multi-language pluralization engine 
 - ace text web editor in admin
 - Ukrainian translations, thanks Vladyslav Kozlovskyy
 - Romanian translation for welcome, thanks ionel
 - support for mercurial 2.6, thanks Vlad

 ### Scheduler Improvements (thanks to niphlod, ykessler, dhx, toomim)

 - web2py.py -K myapp -X starts the myapp scheduler alongside the webserver
 - tasks are marked EXPIRED (if stop_time passed)
 - functions with no result don't end up in scheduler_run
 - more options: web2py.py -E -b -L
 - scheduler can now handle 10k tasks with 20 concurrent workers and with 
 no issues
 - new params:
 tasks can be found in the environment (no need to define the tasks 
 parameter)
 max_empty_runs kills the workers automatically if no new tasks are 
 found in queue (nice for spikes of processing power)
 discard_results to completely discard the results (if you don't need 
 the output of the task)
 utc_time enables datetime calculations with UTC time
 - scheduler_task changes:
 task_name is no longer required (filled automatically with 
 function_name if found empty)
 uuid makes easy to coordinate scheduler_task maintenance (filled 
 automatically if not provided)
 stop_time has no default (previously was today+1)
 retry_failed to requeue automatically failed tasks
 sync_output refreshes automatically the output (nice to report 
 percentages)
 - workers can be:
 DISABLED (put to sleep and do nothing if not sending the heartbeat 
 every 30 seconds)
 TERMINATE (complete the current task and then die)
 KILL (kill ASAP)

 ### Other Improvements 

 - gluon/contrib/webclient.py makes it easy to create functional tests for 
 app
 - DIV(..).elements(...replace=...), thanks Anthony
 - new layout based on Twitter Bootstrap
 - New generic views: generic.ics (Mac Mail Calendar) and generic.map 
 (Google Maps)
 - request.args(0,default=0, 

Re: [web2py] Re: web2py 2.0.2 is out

2012-09-02 Thread Alec Taylor
This is what I have for the moment, but I plan to implement this properly
using the variables from gluon.tools; consider this a PoC:

{{if response.flash:}}header
{{if 'errors' in response.flash:}}
div class=alert alert-block alert-error fade in
button type=button class=close data-dismiss=alert
times;
/button
p
{{=response.flash}}
/p
/div
{{else:}}
div class=alert alert-block fade in
button type=button class=close data-dismiss=alert
times;
/button
p
{{=response.flash}}
/p
/div
{{pass}}/header
{{pass}}


Also will need to add in proper success ones as well. I'll get to it within
a week then send a pull request.

Until then, enjoy :)

On Sun, Sep 2, 2012 at 4:06 PM, Annet anneve...@googlemail.com wrote:
 Hi Alec,


 I've got a better flash code using bootstrap components.

 It works quite nicely, giving different colours based on severity of
 message. [alert-error, alert-success etc]


 I am interested in your implementation of the flash and alert, would you
be
 willing to share your code with me?

 I have been trying to implement it myself, in the function I set
 alert='alert-block' and return it in a dict(alert=alert), in the view I
 have:

  {{if response.flash:}}
   div class=alert {{if alert:}}{{=alert}}{{elif
 session.alert:}}{{=session.alert}}{{else:}}{{'alert-info'}}{{pass}}
 a class=close data-dismiss=alertx/a
 {{=response.flash}}
   /div !-- /alert --
 {{pass}}

 I need session.alert to set alerts cross functions, but I am not very
happy
 with this way of setting alert.


 Kind regards,

 Annet

-- 





[web2py] Re: web2py 2.0.2 is out

2012-08-31 Thread lyn2py
HUGE Thanks to Massimo and all who have contributed to this release!
Long awaited and anticipated!

web2py is my favorite framework because of all you wonderful people!


On Thursday, August 30, 2012 11:41:34 AM UTC+8, Massimo Di Pierro wrote:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization 
 system, better markmin with oembed support and better scaffolding app, 
 increased security.
 - Lots of experimental features including GIS support, mongodb support, 
 built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us know 
 ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, Jonathan, 
 Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, Patrick, 
 Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us know 
 ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and db.define_table(on_define=lambda 
 table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, _after_update, 
 _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index: 
 return auth.wiki()
 - auth.settings.everybody_group_id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form improvements

 - FORM.confirm('Are you sure?',{'Back':URL(...)})
 - SQLFORM.smartdictform(dict)
 - form.add_button(value,link)
 - SQLFORM.grid(groupby='...')
 - fixed security issue with SQLFORM.grid and SQLFORM.smartgrid
 - more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml, 
 csv, ...)

 ### Admin improvements

 - new admin pages: manage_students, bulk_regsiter, and progress reports
 - increased security in admin against CSRF
 - experimental Git integration
 - experimental OpenShift deployment
 - multi-language pluralization engine 
 - ace text web editor in admin
 - Ukrainian translations, thanks Vladyslav Kozlovskyy
 - Romanian translation for welcome, thanks ionel
 - support for mercurial 2.6, thanks Vlad

 ### Scheduler Improvements (thanks to niphlod, ykessler, dhx, toomim)

 - web2py.py -K myapp -X starts the myapp scheduler alongside the webserver
 - tasks are marked EXPIRED (if stop_time passed)
 - functions with no result don't end up in scheduler_run
 - more options: web2py.py -E -b -L
 - scheduler can now handle 10k tasks with 20 concurrent workers and with 
 no issues
 - new params:
 tasks can be found in the environment (no need to define the tasks 
 parameter)
 max_empty_runs kills the workers automatically if no new tasks are 
 found in queue (nice for spikes of processing power)
 discard_results to completely discard the results (if you don't need 
 the output of the 

Re: [web2py] Re: web2py 2.0.2 is out

2012-08-31 Thread Alec Taylor
I've got a better flash code using bootstrap components.

It works quite nicely, giving different colours based on severity of
message. [alert-error, alert-success etc]

Was planning on waiting until the new bootstrap was integrated before
throwing a pull-request, or did you want a pull request now?

On Fri, Aug 31, 2012 at 3:55 PM, Massimo Di Pierro 
massimo.dipie...@gmail.com wrote:

 ace.js does that. Yes it is odd. I am not sure why. Also there is no flash
 because of the box that now flashes green. We may move from ace to
 codemirror.


 On Friday, 31 August 2012 00:42:14 UTC-5, Annet wrote:

 I am still having this issue:

 On Thursday, 30 August 2012 18:03:36 UTC+2, Annet wrote:


 Please can you post a concrete example?


 In:

 Editing file init/models/db.py

 ... when I click the save button, normally a flash showed up in the
 top-right corner:

 div class=flash style=display: none;file saved on Thu Aug 30
 17:55:13 2012/div


 In 2.0.2 the div is empty after clicking the save button:

 div class=flash style=display: none;/div


 I also noticed that when I inspect the footer element there's a div
 with the following contents:

 div id=footer class=fixed
 div style=height: auto; width: auto; top: -4px; left: -4px;
 visibility: hidden; position: absolute; overflow: visible; white-space:
 nowrap; font-family: 'Monaco','Menlo','Ubuntu Mono','Droid Sans
 Mono','Consolas',monospace; font-size: 12px; font-weight: 400; font-style:
 normal; line-height: 16.25px;**XyXyXyXyXyXyXyXyXyXyXyXyXyXyXy**
 XyXyXyXyXyXyXyXyXyXyXyXyXyXyXy**XyXyXyXyXyXyXyXyXyXyXyXyXyX...**./div


 Kind regards,

 Annet

  --





-- 





[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Michael Toomim
I just discovered this sweet hidden improvement:

 db(db.mytable.id1).select()
Rows (648)

The Rows object now prints out the number of rows in the repr() function! 
That's so useful!

Thanks everyone!

-- 





[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread David Marko
Really amazing !!! Thanks to all contributors, testers !!!

Dne čtvrtek, 30. srpna 2012 5:41:34 UTC+2 Massimo Di Pierro napsal(a):

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization 
 system, better markmin with oembed support and better scaffolding app, 
 increased security.
 - Lots of experimental features including GIS support, mongodb support, 
 built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us know 
 ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, Jonathan, 
 Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, Patrick, 
 Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us know 
 ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and db.define_table(on_define=lambda 
 table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, _after_update, 
 _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index: 
 return auth.wiki()
 - auth.settings.everybody_group_id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form improvements

 - FORM.confirm('Are you sure?',{'Back':URL(...)})
 - SQLFORM.smartdictform(dict)
 - form.add_button(value,link)
 - SQLFORM.grid(groupby='...')
 - fixed security issue with SQLFORM.grid and SQLFORM.smartgrid
 - more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml, 
 csv, ...)

 ### Admin improvements

 - new admin pages: manage_students, bulk_regsiter, and progress reports
 - increased security in admin against CSRF
 - experimental Git integration
 - experimental OpenShift deployment
 - multi-language pluralization engine 
 - ace text web editor in admin
 - Ukrainian translations, thanks Vladyslav Kozlovskyy
 - Romanian translation for welcome, thanks ionel
 - support for mercurial 2.6, thanks Vlad

 ### Scheduler Improvements (thanks to niphlod, ykessler, dhx, toomim)

 - web2py.py -K myapp -X starts the myapp scheduler alongside the webserver
 - tasks are marked EXPIRED (if stop_time passed)
 - functions with no result don't end up in scheduler_run
 - more options: web2py.py -E -b -L
 - scheduler can now handle 10k tasks with 20 concurrent workers and with 
 no issues
 - new params:
 tasks can be found in the environment (no need to define the tasks 
 parameter)
 max_empty_runs kills the workers automatically if no new tasks are 
 found in queue (nice for spikes of processing power)
 discard_results to completely discard the results (if you don't need 
 the output of the task)
 utc_time enables datetime calculations with UTC time
 - scheduler_task changes:
 task_name is no 

[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Annet
Congratulations to all!

Should be 100% backward compatible. If you run into any issue let us know 
 ASAP.


It's not a backward compatibility issue but after updating from 2.0.1 to 
2.0.2 the admin's flash messages no longer show up.

Kind regards,

Annet

-- 





Re: [web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Johann Spies
Thank you again to all the developers for your hard work enabling us to
work with a product that is a pleasure to work with.
Regards
Johann
-- 
Because experiencing your loyal love is better than life itself,
my lips will praise you.  (Psalm 63:3)

-- 





[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Liam
Thanks

On Thursday, August 30, 2012 5:41:34 AM UTC+2, Massimo Di Pierro wrote:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization 
 system, better markmin with oembed support and better scaffolding app, 
 increased security.
 - Lots of experimental features including GIS support, mongodb support, 
 built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us know 
 ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, Jonathan, 
 Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, Patrick, 
 Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us know 
 ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and db.define_table(on_define=lambda 
 table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, _after_update, 
 _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index: 
 return auth.wiki()
 - auth.settings.everybody_group_id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form improvements

 - FORM.confirm('Are you sure?',{'Back':URL(...)})
 - SQLFORM.smartdictform(dict)
 - form.add_button(value,link)
 - SQLFORM.grid(groupby='...')
 - fixed security issue with SQLFORM.grid and SQLFORM.smartgrid
 - more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml, 
 csv, ...)

 ### Admin improvements

 - new admin pages: manage_students, bulk_regsiter, and progress reports
 - increased security in admin against CSRF
 - experimental Git integration
 - experimental OpenShift deployment
 - multi-language pluralization engine 
 - ace text web editor in admin
 - Ukrainian translations, thanks Vladyslav Kozlovskyy
 - Romanian translation for welcome, thanks ionel
 - support for mercurial 2.6, thanks Vlad

 ### Scheduler Improvements (thanks to niphlod, ykessler, dhx, toomim)

 - web2py.py -K myapp -X starts the myapp scheduler alongside the webserver
 - tasks are marked EXPIRED (if stop_time passed)
 - functions with no result don't end up in scheduler_run
 - more options: web2py.py -E -b -L
 - scheduler can now handle 10k tasks with 20 concurrent workers and with 
 no issues
 - new params:
 tasks can be found in the environment (no need to define the tasks 
 parameter)
 max_empty_runs kills the workers automatically if no new tasks are 
 found in queue (nice for spikes of processing power)
 discard_results to completely discard the results (if you don't need 
 the output of the task)
 utc_time enables datetime calculations with UTC time
 - scheduler_task changes:
 task_name is no longer required (filled automatically with 
 

[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Marek Mollin
Hmmm...
nohup should do similar thing...
nohup python web2py.py -K appname

will make it a background task on linux

W dniu czwartek, 30 sierpnia 2012 07:23:29 UTC+2 użytkownik Michael Toomim 
napisał:

 I'm really excited about the new scheduler -X option.

 What do -E -b -L do? I don't see them in --help or in the widget.py code.

 On Wednesday, August 29, 2012 10:17:48 PM UTC-7, Michael Toomim wrote:

 Wow, this is cool!

 But I'm hitting a bug in rewrite_on_error: 
 http://code.google.com/p/web2py/issues/detail?id=964



-- 





[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Marek Mollin
Big work.
We are all really thankful.

Especially lazy_tables and triggers + audit !

W dniu czwartek, 30 sierpnia 2012 05:41:34 UTC+2 użytkownik Massimo Di 
Pierro napisał:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization 
 system, better markmin with oembed support and better scaffolding app, 
 increased security.
 - Lots of experimental features including GIS support, mongodb support, 
 built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us know 
 ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, Jonathan, 
 Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, Patrick, 
 Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us know 
 ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and db.define_table(on_define=lambda 
 table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, _after_update, 
 _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index: 
 return auth.wiki()
 - auth.settings.everybody_group_id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form improvements

 - FORM.confirm('Are you sure?',{'Back':URL(...)})
 - SQLFORM.smartdictform(dict)
 - form.add_button(value,link)
 - SQLFORM.grid(groupby='...')
 - fixed security issue with SQLFORM.grid and SQLFORM.smartgrid
 - more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml, 
 csv, ...)

 ### Admin improvements

 - new admin pages: manage_students, bulk_regsiter, and progress reports
 - increased security in admin against CSRF
 - experimental Git integration
 - experimental OpenShift deployment
 - multi-language pluralization engine 
 - ace text web editor in admin
 - Ukrainian translations, thanks Vladyslav Kozlovskyy
 - Romanian translation for welcome, thanks ionel
 - support for mercurial 2.6, thanks Vlad

 ### Scheduler Improvements (thanks to niphlod, ykessler, dhx, toomim)

 - web2py.py -K myapp -X starts the myapp scheduler alongside the webserver
 - tasks are marked EXPIRED (if stop_time passed)
 - functions with no result don't end up in scheduler_run
 - more options: web2py.py -E -b -L
 - scheduler can now handle 10k tasks with 20 concurrent workers and with 
 no issues
 - new params:
 tasks can be found in the environment (no need to define the tasks 
 parameter)
 max_empty_runs kills the workers automatically if no new tasks are 
 found in queue (nice for spikes of processing power)
 discard_results to completely discard the results (if you don't need 
 the output of the task)
 utc_time enables datetime calculations with UTC time
 - 

Re: [web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Martín Mulone
+1

2012/8/30 Anthony abasta...@gmail.com

 Congratulations to all! And special thanks to Massimo for all his hard
 work, diligence, and patience.

 Anthony


 On Wednesday, August 29, 2012 11:41:34 PM UTC-4, Massimo Di Pierro wrote:

 After 5 months. It is done. This is the most waited and the most
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is
 considerably better than 1.99.7. It adds lot of new features and improves
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization
 system, better markmin with oembed support and better scaffolding app,
 increased security.
 - Lots of experimental features including GIS support, mongodb support,
 built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us know
 ASAP.

 I personally want to thank the major contributors to this release (in
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg,
 Jonathan, Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod,
 Patrick, Vladyslav,
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us
 know ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and db.define_table(on_define=**lambda
 table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.**ram,3600)) now caches parsed data 100x
 faster
 - db(...).count(cache=(cache.**ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update,
 _after_update, _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(**myuploadfield=open()), thank you
 Iceberg
 - db(...).select(db.mytable.**myfield.count(distinct=True))
 - 
 db(db.a)._update(name=db(db.b.**a==db.a.id).nested_select(db.**b.idhttp://db.b.id
 ))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_**versioning(db) adds versioning to this
 table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,**columns=) allows parsing of results in Rows,
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(**db)  adds full versioning to all tables
 - @auth.requires_login(**otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index:
 return auth.wiki()
 - auth.settings.everybody_group_**id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form improvements

 - FORM.confirm('Are you sure?',{'Back':URL(...)})
 - SQLFORM.smartdictform(dict)
 - form.add_button(value,link)
 - SQLFORM.grid(groupby='...')
 - fixed security issue with SQLFORM.grid and SQLFORM.smartgrid
 - more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml,
 csv, ...)

 ### Admin improvements

 - new admin pages: manage_students, bulk_regsiter, and progress reports
 - increased security in admin against CSRF
 - experimental Git integration
 - experimental OpenShift deployment
 - multi-language pluralization engine
 - ace text web editor in admin
 - Ukrainian translations, thanks Vladyslav Kozlovskyy
 - Romanian translation for welcome, thanks ionel
 - support for mercurial 2.6, thanks Vlad

 ### Scheduler Improvements (thanks to niphlod, ykessler, dhx, toomim)

 - web2py.py -K myapp -X starts the myapp scheduler alongside the webserver
 - tasks are marked EXPIRED (if stop_time passed)
 - functions with no result don't end up in scheduler_run
 - more options: web2py.py -E -b -L
 - scheduler can now handle 10k tasks with 20 concurrent workers and with
 no issues
 - new params:
 tasks can be found in the environment (no need to define the tasks
 parameter)
 max_empty_runs kills the workers automatically if no new tasks are
 found in queue (nice for spikes of processing power)
 discard_results to completely discard the results (if you don't need
 the output of 

[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Adrian Marius Popa


On Thursday, August 30, 2012 6:41:34 AM UTC+3, Massimo Di Pierro wrote:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:


Thanks for supporting firebird out of the box i added a notice on 
firebirdnews http://www.firebirdnews.org/?p=7585

I looked in the DAL and saw that your are using kinterbasdb or firebirdsql 
in the next release we should switch to fdb driver as default that is 
backward compatible with kinterbasdb and is now the official supported 
driver for 
python 2.7.x or 3.3.x 
http://pypi.python.org/pypi/fdb/

-- 





[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Ashish Yadav
Was waiting desperately for this release. Big thanks to all of you!!

Regards,
Ashish

On Thursday, August 30, 2012 9:11:34 AM UTC+5:30, Massimo Di Pierro wrote:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization 
 system, better markmin with oembed support and better scaffolding app, 
 increased security.
 - Lots of experimental features including GIS support, mongodb support, 
 built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us know 
 ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, Jonathan, 
 Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, Patrick, 
 Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us know 
 ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and db.define_table(on_define=lambda 
 table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, _after_update, 
 _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index: 
 return auth.wiki()
 - auth.settings.everybody_group_id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form improvements

 - FORM.confirm('Are you sure?',{'Back':URL(...)})
 - SQLFORM.smartdictform(dict)
 - form.add_button(value,link)
 - SQLFORM.grid(groupby='...')
 - fixed security issue with SQLFORM.grid and SQLFORM.smartgrid
 - more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml, 
 csv, ...)

 ### Admin improvements

 - new admin pages: manage_students, bulk_regsiter, and progress reports
 - increased security in admin against CSRF
 - experimental Git integration
 - experimental OpenShift deployment
 - multi-language pluralization engine 
 - ace text web editor in admin
 - Ukrainian translations, thanks Vladyslav Kozlovskyy
 - Romanian translation for welcome, thanks ionel
 - support for mercurial 2.6, thanks Vlad

 ### Scheduler Improvements (thanks to niphlod, ykessler, dhx, toomim)

 - web2py.py -K myapp -X starts the myapp scheduler alongside the webserver
 - tasks are marked EXPIRED (if stop_time passed)
 - functions with no result don't end up in scheduler_run
 - more options: web2py.py -E -b -L
 - scheduler can now handle 10k tasks with 20 concurrent workers and with 
 no issues
 - new params:
 tasks can be found in the environment (no need to define the tasks 
 parameter)
 max_empty_runs kills the workers automatically if no new tasks are 
 found in queue (nice for spikes of processing power)
 discard_results to completely discard the results (if you don't need 
 the output of the task)
 utc_time enables datetime calculations with UTC time
 - scheduler_task 

[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Don_X
Let it be said  Let it be heard :
Web2py is not only awesome .. It is simply the best python framework out 
there ! ... 
at least for me, and many others !

Congratulations to the web2py developer team 

Move over ! make way !  PHP  Python Frameworks .. here we come !

-- 





Re: [web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Ovidio Marinho
I´m test now.



   Ovidio Marinho Falcao Neto
Web Developer
 ovidio...@gmail.com
  ovidiomari...@itjp.net.br
 ITJP - itjp.net.br
   83   8826 9088 - Oi
   83   9334 0266 - Claro
Brasil




2012/8/30 Don_X don.clerm...@gmail.com

 Let it be said  Let it be heard :
 Web2py is not only awesome .. It is simply the best python framework out
 there ! ...
 at least for me, and many others !

 Congratulations to the web2py developer team

 Move over ! make way !  PHP  Python Frameworks .. here we come !

 --





-- 





[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread chinakr
Thanks a lot, Massimo!

在 2012年8月30日星期四UTC+8上午11时41分34秒,Massimo Di Pierro写道:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization 
 system, better markmin with oembed support and better scaffolding app, 
 increased security.
 - Lots of experimental features including GIS support, mongodb support, 
 built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us know 
 ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, Jonathan, 
 Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, Patrick, 
 Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us know 
 ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and db.define_table(on_define=lambda 
 table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, _after_update, 
 _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index: 
 return auth.wiki()
 - auth.settings.everybody_group_id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form improvements

 - FORM.confirm('Are you sure?',{'Back':URL(...)})
 - SQLFORM.smartdictform(dict)
 - form.add_button(value,link)
 - SQLFORM.grid(groupby='...')
 - fixed security issue with SQLFORM.grid and SQLFORM.smartgrid
 - more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml, 
 csv, ...)

 ### Admin improvements

 - new admin pages: manage_students, bulk_regsiter, and progress reports
 - increased security in admin against CSRF
 - experimental Git integration
 - experimental OpenShift deployment
 - multi-language pluralization engine 
 - ace text web editor in admin
 - Ukrainian translations, thanks Vladyslav Kozlovskyy
 - Romanian translation for welcome, thanks ionel
 - support for mercurial 2.6, thanks Vlad

 ### Scheduler Improvements (thanks to niphlod, ykessler, dhx, toomim)

 - web2py.py -K myapp -X starts the myapp scheduler alongside the webserver
 - tasks are marked EXPIRED (if stop_time passed)
 - functions with no result don't end up in scheduler_run
 - more options: web2py.py -E -b -L
 - scheduler can now handle 10k tasks with 20 concurrent workers and with 
 no issues
 - new params:
 tasks can be found in the environment (no need to define the tasks 
 parameter)
 max_empty_runs kills the workers automatically if no new tasks are 
 found in queue (nice for spikes of processing power)
 discard_results to completely discard the results (if you don't need 
 the output of the task)
 utc_time enables datetime calculations with UTC time
 - scheduler_task changes:
 task_name is no longer required (filled automatically with 
 

[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Tyrone

I'm having a problem with the scheduler when I upgraded my application. It 
appears that if I attempt to run the line:
Scheduler(db, dict(demo=demo))

I'm getting the error:

class 'sqlite3.OperationalError' Cannot add a UNIQUE column

Regards

-- 





[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Tyrone
It appears that it's an incompatibility with the original tables, when I 
delete everything the problem goes away. I got around the problem by 
deleting everything, and then overwriting the new database with the old 
one, excluding the scheduler tables.

-- 





[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Igor Hercowitz
Mama mia

There's only one word to describe Web2Py: Amazing!!! :D

Thank you all folks!!!

Igor

Em quinta-feira, 30 de agosto de 2012 00h41min34s UTC-3, Massimo Di Pierro 
escreveu:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization 
 system, better markmin with oembed support and better scaffolding app, 
 increased security.
 - Lots of experimental features including GIS support, mongodb support, 
 built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us know 
 ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, Jonathan, 
 Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, Patrick, 
 Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us know 
 ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and db.define_table(on_define=lambda 
 table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, _after_update, 
 _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index: 
 return auth.wiki()
 - auth.settings.everybody_group_id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form improvements

 - FORM.confirm('Are you sure?',{'Back':URL(...)})
 - SQLFORM.smartdictform(dict)
 - form.add_button(value,link)
 - SQLFORM.grid(groupby='...')
 - fixed security issue with SQLFORM.grid and SQLFORM.smartgrid
 - more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml, 
 csv, ...)

 ### Admin improvements

 - new admin pages: manage_students, bulk_regsiter, and progress reports
 - increased security in admin against CSRF
 - experimental Git integration
 - experimental OpenShift deployment
 - multi-language pluralization engine 
 - ace text web editor in admin
 - Ukrainian translations, thanks Vladyslav Kozlovskyy
 - Romanian translation for welcome, thanks ionel
 - support for mercurial 2.6, thanks Vlad

 ### Scheduler Improvements (thanks to niphlod, ykessler, dhx, toomim)

 - web2py.py -K myapp -X starts the myapp scheduler alongside the webserver
 - tasks are marked EXPIRED (if stop_time passed)
 - functions with no result don't end up in scheduler_run
 - more options: web2py.py -E -b -L
 - scheduler can now handle 10k tasks with 20 concurrent workers and with 
 no issues
 - new params:
 tasks can be found in the environment (no need to define the tasks 
 parameter)
 max_empty_runs kills the workers automatically if no new tasks are 
 found in queue (nice for spikes of processing power)
 discard_results to completely discard the results (if you don't need 
 the output of the task)
 utc_time enables datetime calculations with UTC 

[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Sridhar
Hi Team, 

Thanks a ton for the new features and improvements!

I'm just getting started and was trying to run web2py.exe on Windows 7 
after downloading it from 
http://www.web2py.com/examples/static/web2py_win.zip (2.0.2 stable).

However, ran into this error:

** 
D:\web2pyweb2py -S welcome
Traceback (most recent call last):
  File web2py.py, line 16, in module
  File gluon/__init__.py, line 15, in module
  File gluon/globals.py, line 24, in module
  File gluon/serializers.py, line 11, in module
  File gluon/languages.py, line 264, in module
  File gluon/languages.py, line 250, in read_possible_plurals
WindowsError: [Error 3] The system cannot find the path specified: 
'D:\\web2py\\gluon\\contrib\\rules/*.*'
**

Then, realized there was no folder called gluon in the extracted folder. 
I downloaded the source 
from http://www.web2py.com/examples/static/web2py_src.zip and copied the 
gluon folder from this source code to the previous web2py folder.

This solved the error and was able to web2py GUI. Hope this helps.

Regards,
Sridhar

On Thursday, August 30, 2012 9:11:34 AM UTC+5:30, Massimo Di Pierro wrote:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization 
 system, better markmin with oembed support and better scaffolding app, 
 increased security.
 - Lots of experimental features including GIS support, mongodb support, 
 built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us know 
 ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, Jonathan, 
 Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, Patrick, 
 Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us know 
 ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and db.define_table(on_define=lambda 
 table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, _after_update, 
 _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index: 
 return auth.wiki()
 - auth.settings.everybody_group_id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form improvements

 - FORM.confirm('Are you sure?',{'Back':URL(...)})
 - SQLFORM.smartdictform(dict)
 - form.add_button(value,link)
 - SQLFORM.grid(groupby='...')
 - fixed security issue with SQLFORM.grid and SQLFORM.smartgrid
 - more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml, 
 csv, ...)

 ### Admin improvements

 - new admin pages: manage_students, bulk_regsiter, and progress reports
 - increased security in admin against CSRF
 - experimental Git integration
 - experimental 

[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Niphlod
yep, a new column was added and it's defined to be unique. When it gets 
created if you have n rows already in the table the values in the column 
are not unique, hence the error. If no rows are in the scheduler_task 
table, no error should show up.

On Thursday, August 30, 2012 2:23:18 PM UTC+2, Tyrone wrote:

 It appears that it's an incompatibility with the original tables, when I 
 delete everything the problem goes away. I got around the problem by 
 deleting everything, and then overwriting the new database with the old 
 one, excluding the scheduler tables.

-- 





[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Massimo Di Pierro
Please can you post a concrete example?

On Thursday, 30 August 2012 02:02:42 UTC-5, Annet wrote:

 Congratulations to all!

 Should be 100% backward compatible. If you run into any issue let us know 
 ASAP.


 It's not a backward compatibility issue but after updating from 2.0.1 to 
 2.0.2 the admin's flash messages no longer show up.

 Kind regards,

 Annet


-- 





[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Mike Girard
Great news. Can't wait to try it out. Thanks, everyone!

On Wednesday, August 29, 2012 11:41:34 PM UTC-4, Massimo Di Pierro wrote:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization 
 system, better markmin with oembed support and better scaffolding app, 
 increased security.
 - Lots of experimental features including GIS support, mongodb support, 
 built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us know 
 ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, Jonathan, 
 Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, Patrick, 
 Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us know 
 ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and db.define_table(on_define=lambda 
 table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, _after_update, 
 _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index: 
 return auth.wiki()
 - auth.settings.everybody_group_id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form improvements

 - FORM.confirm('Are you sure?',{'Back':URL(...)})
 - SQLFORM.smartdictform(dict)
 - form.add_button(value,link)
 - SQLFORM.grid(groupby='...')
 - fixed security issue with SQLFORM.grid and SQLFORM.smartgrid
 - more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml, 
 csv, ...)

 ### Admin improvements

 - new admin pages: manage_students, bulk_regsiter, and progress reports
 - increased security in admin against CSRF
 - experimental Git integration
 - experimental OpenShift deployment
 - multi-language pluralization engine 
 - ace text web editor in admin
 - Ukrainian translations, thanks Vladyslav Kozlovskyy
 - Romanian translation for welcome, thanks ionel
 - support for mercurial 2.6, thanks Vlad

 ### Scheduler Improvements (thanks to niphlod, ykessler, dhx, toomim)

 - web2py.py -K myapp -X starts the myapp scheduler alongside the webserver
 - tasks are marked EXPIRED (if stop_time passed)
 - functions with no result don't end up in scheduler_run
 - more options: web2py.py -E -b -L
 - scheduler can now handle 10k tasks with 20 concurrent workers and with 
 no issues
 - new params:
 tasks can be found in the environment (no need to define the tasks 
 parameter)
 max_empty_runs kills the workers automatically if no new tasks are 
 found in queue (nice for spikes of processing power)
 discard_results to completely discard the results (if you don't need 
 the output of the task)
 utc_time enables datetime calculations with UTC time
 - scheduler_task changes:
 task_name is no 

[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Yarin
Congratulations and many thanks to Massimo and all contributors - the best 
framework keeps getting better

-- 





Re: [web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Richard Vézina
Only one word : Thanks

Richard

On Thu, Aug 30, 2012 at 10:09 AM, Yarin ykess...@gmail.com wrote:

 Congratulations and many thanks to Massimo and all contributors - the best
 framework keeps getting better

 --





-- 





[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Adi
Thank you Massimo and ALL contributors!!!

Starting migration tests now...


On Wednesday, August 29, 2012 11:41:34 PM UTC-4, Massimo Di Pierro wrote:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization 
 system, better markmin with oembed support and better scaffolding app, 
 increased security.
 - Lots of experimental features including GIS support, mongodb support, 
 built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us know 
 ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, Jonathan, 
 Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, Patrick, 
 Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us know 
 ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and db.define_table(on_define=lambda 
 table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, _after_update, 
 _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index: 
 return auth.wiki()
 - auth.settings.everybody_group_id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form improvements

 - FORM.confirm('Are you sure?',{'Back':URL(...)})
 - SQLFORM.smartdictform(dict)
 - form.add_button(value,link)
 - SQLFORM.grid(groupby='...')
 - fixed security issue with SQLFORM.grid and SQLFORM.smartgrid
 - more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml, 
 csv, ...)

 ### Admin improvements

 - new admin pages: manage_students, bulk_regsiter, and progress reports
 - increased security in admin against CSRF
 - experimental Git integration
 - experimental OpenShift deployment
 - multi-language pluralization engine 
 - ace text web editor in admin
 - Ukrainian translations, thanks Vladyslav Kozlovskyy
 - Romanian translation for welcome, thanks ionel
 - support for mercurial 2.6, thanks Vlad

 ### Scheduler Improvements (thanks to niphlod, ykessler, dhx, toomim)

 - web2py.py -K myapp -X starts the myapp scheduler alongside the webserver
 - tasks are marked EXPIRED (if stop_time passed)
 - functions with no result don't end up in scheduler_run
 - more options: web2py.py -E -b -L
 - scheduler can now handle 10k tasks with 20 concurrent workers and with 
 no issues
 - new params:
 tasks can be found in the environment (no need to define the tasks 
 parameter)
 max_empty_runs kills the workers automatically if no new tasks are 
 found in queue (nice for spikes of processing power)
 discard_results to completely discard the results (if you don't need 
 the output of the task)
 utc_time enables datetime calculations with UTC time
 - scheduler_task changes:

[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Annet


 Please can you post a concrete example?


In:

Editing file init/models/db.py 

... when I click the save button, normally a flash showed up in the 
top-right corner: 

div class=flash style=display: none;file saved on Thu Aug 30 17:55:13 
2012/div


In 2.0.2 the div is empty after clicking the save button:

div class=flash style=display: none;/div


I also noticed that when I inspect the footer element there's a div with 
the following contents:

div id=footer class=fixed
div style=height: auto; width: auto; top: -4px; left: -4px; 
visibility: hidden; position: absolute; overflow: visible; white-space: 
nowrap; font-family: 'Monaco','Menlo','Ubuntu Mono','Droid Sans 
Mono','Consolas',monospace; font-size: 12px; font-weight: 400; font-style: 
normal; line-height: 
16.25px;XyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyX/div


Kind regards,

Annet

-- 





[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread apps in tables
Hi massimo,

I would like to thank your family and the families of the contributors, for 
their great support.

Their support made it come true.

Regards,

Ashraf

-- 





[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread jotbe
Congratulations to Massimo and all contributors! Great job! :)

Jan

Am Donnerstag, 30. August 2012 05:41:34 UTC+2 schrieb Massimo Di Pierro:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization 
 system, better markmin with oembed support and better scaffolding app, 
 increased security.
 - Lots of experimental features including GIS support, mongodb support, 
 built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us know 
 ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, Jonathan, 
 Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, Patrick, 
 Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us know 
 ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and db.define_table(on_define=lambda 
 table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, _after_update, 
 _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index: 
 return auth.wiki()
 - auth.settings.everybody_group_id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form improvements

 - FORM.confirm('Are you sure?',{'Back':URL(...)})
 - SQLFORM.smartdictform(dict)
 - form.add_button(value,link)
 - SQLFORM.grid(groupby='...')
 - fixed security issue with SQLFORM.grid and SQLFORM.smartgrid
 - more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml, 
 csv, ...)

 ### Admin improvements

 - new admin pages: manage_students, bulk_regsiter, and progress reports
 - increased security in admin against CSRF
 - experimental Git integration
 - experimental OpenShift deployment
 - multi-language pluralization engine 
 - ace text web editor in admin
 - Ukrainian translations, thanks Vladyslav Kozlovskyy
 - Romanian translation for welcome, thanks ionel
 - support for mercurial 2.6, thanks Vlad

 ### Scheduler Improvements (thanks to niphlod, ykessler, dhx, toomim)

 - web2py.py -K myapp -X starts the myapp scheduler alongside the webserver
 - tasks are marked EXPIRED (if stop_time passed)
 - functions with no result don't end up in scheduler_run
 - more options: web2py.py -E -b -L
 - scheduler can now handle 10k tasks with 20 concurrent workers and with 
 no issues
 - new params:
 tasks can be found in the environment (no need to define the tasks 
 parameter)
 max_empty_runs kills the workers automatically if no new tasks are 
 found in queue (nice for spikes of processing power)
 discard_results to completely discard the results (if you don't need 
 the output of the task)
 utc_time enables datetime calculations with UTC time
 - scheduler_task changes:
 

[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Massimo Di Pierro
All bugs reported today have been fixed in 2.0.3 out now (except a minor 
issue with markmin that we are investigating).

If you find other issues, please continue report them. We'd rather fix them 
sooner rather than later.

Thanks for all your help and testing.

Massimo



On Wednesday, 29 August 2012 22:41:34 UTC-5, Massimo Di Pierro wrote:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization 
 system, better markmin with oembed support and better scaffolding app, 
 increased security.
 - Lots of experimental features including GIS support, mongodb support, 
 built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us know 
 ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, Jonathan, 
 Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, Patrick, 
 Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us know 
 ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and db.define_table(on_define=lambda 
 table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, _after_update, 
 _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index: 
 return auth.wiki()
 - auth.settings.everybody_group_id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form improvements

 - FORM.confirm('Are you sure?',{'Back':URL(...)})
 - SQLFORM.smartdictform(dict)
 - form.add_button(value,link)
 - SQLFORM.grid(groupby='...')
 - fixed security issue with SQLFORM.grid and SQLFORM.smartgrid
 - more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml, 
 csv, ...)

 ### Admin improvements

 - new admin pages: manage_students, bulk_regsiter, and progress reports
 - increased security in admin against CSRF
 - experimental Git integration
 - experimental OpenShift deployment
 - multi-language pluralization engine 
 - ace text web editor in admin
 - Ukrainian translations, thanks Vladyslav Kozlovskyy
 - Romanian translation for welcome, thanks ionel
 - support for mercurial 2.6, thanks Vlad

 ### Scheduler Improvements (thanks to niphlod, ykessler, dhx, toomim)

 - web2py.py -K myapp -X starts the myapp scheduler alongside the webserver
 - tasks are marked EXPIRED (if stop_time passed)
 - functions with no result don't end up in scheduler_run
 - more options: web2py.py -E -b -L
 - scheduler can now handle 10k tasks with 20 concurrent workers and with 
 no issues
 - new params:
 tasks can be found in the environment (no need to define the tasks 
 parameter)
 max_empty_runs kills the workers automatically if no new tasks are 
 found in queue (nice for spikes of processing 

[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Cliff Kachinske
This is the best Christmas ever.  So many shiny new toys.  

Thanks to Massimo and all who contributed.

Cliff Kachinske

-- 





[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Massimo Di Pierro
I made a mistake in the announcement. We do not have GIS support. What I 
meant is Spatialite and PostGIS support for Slite and postgresql 
geographical functionalities.

massimo

On Wednesday, 29 August 2012 22:41:34 UTC-5, Massimo Di Pierro wrote:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization 
 system, better markmin with oembed support and better scaffolding app, 
 increased security.
 - Lots of experimental features including GIS support, mongodb support, 
 built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us know 
 ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, Jonathan, 
 Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, Patrick, 
 Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us know 
 ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and db.define_table(on_define=lambda 
 table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, _after_update, 
 _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index: 
 return auth.wiki()
 - auth.settings.everybody_group_id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form improvements

 - FORM.confirm('Are you sure?',{'Back':URL(...)})
 - SQLFORM.smartdictform(dict)
 - form.add_button(value,link)
 - SQLFORM.grid(groupby='...')
 - fixed security issue with SQLFORM.grid and SQLFORM.smartgrid
 - more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml, 
 csv, ...)

 ### Admin improvements

 - new admin pages: manage_students, bulk_regsiter, and progress reports
 - increased security in admin against CSRF
 - experimental Git integration
 - experimental OpenShift deployment
 - multi-language pluralization engine 
 - ace text web editor in admin
 - Ukrainian translations, thanks Vladyslav Kozlovskyy
 - Romanian translation for welcome, thanks ionel
 - support for mercurial 2.6, thanks Vlad

 ### Scheduler Improvements (thanks to niphlod, ykessler, dhx, toomim)

 - web2py.py -K myapp -X starts the myapp scheduler alongside the webserver
 - tasks are marked EXPIRED (if stop_time passed)
 - functions with no result don't end up in scheduler_run
 - more options: web2py.py -E -b -L
 - scheduler can now handle 10k tasks with 20 concurrent workers and with 
 no issues
 - new params:
 tasks can be found in the environment (no need to define the tasks 
 parameter)
 max_empty_runs kills the workers automatically if no new tasks are 
 found in queue (nice for spikes of processing power)
 discard_results to completely discard the results (if you don't need 
 the output of 

[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Mike Girard
This seems like a good place to say that leaving php/Drupal for 
Python/web2py has been like getting out of jail. This is great software 
with a supernaturally patient and helpful community. 

On Wednesday, August 29, 2012 11:41:34 PM UTC-4, Massimo Di Pierro wrote:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization 
 system, better markmin with oembed support and better scaffolding app, 
 increased security.
 - Lots of experimental features including GIS support, mongodb support, 
 built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us know 
 ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, Jonathan, 
 Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, Patrick, 
 Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us know 
 ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and db.define_table(on_define=lambda 
 table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, _after_update, 
 _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index: 
 return auth.wiki()
 - auth.settings.everybody_group_id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form improvements

 - FORM.confirm('Are you sure?',{'Back':URL(...)})
 - SQLFORM.smartdictform(dict)
 - form.add_button(value,link)
 - SQLFORM.grid(groupby='...')
 - fixed security issue with SQLFORM.grid and SQLFORM.smartgrid
 - more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml, 
 csv, ...)

 ### Admin improvements

 - new admin pages: manage_students, bulk_regsiter, and progress reports
 - increased security in admin against CSRF
 - experimental Git integration
 - experimental OpenShift deployment
 - multi-language pluralization engine 
 - ace text web editor in admin
 - Ukrainian translations, thanks Vladyslav Kozlovskyy
 - Romanian translation for welcome, thanks ionel
 - support for mercurial 2.6, thanks Vlad

 ### Scheduler Improvements (thanks to niphlod, ykessler, dhx, toomim)

 - web2py.py -K myapp -X starts the myapp scheduler alongside the webserver
 - tasks are marked EXPIRED (if stop_time passed)
 - functions with no result don't end up in scheduler_run
 - more options: web2py.py -E -b -L
 - scheduler can now handle 10k tasks with 20 concurrent workers and with 
 no issues
 - new params:
 tasks can be found in the environment (no need to define the tasks 
 parameter)
 max_empty_runs kills the workers automatically if no new tasks are 
 found in queue (nice for spikes of processing power)
 discard_results to completely discard the results (if you don't 

[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Massimo Di Pierro
:-)

On Thursday, 30 August 2012 17:43:16 UTC-5, Mike Girard wrote:

 This seems like a good place to say that leaving php/Drupal for 
 Python/web2py has been like getting out of jail. This is great software 
 with a supernaturally patient and helpful community. 

 On Wednesday, August 29, 2012 11:41:34 PM UTC-4, Massimo Di Pierro wrote:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization 
 system, better markmin with oembed support and better scaffolding app, 
 increased security.
 - Lots of experimental features including GIS support, mongodb support, 
 built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us know 
 ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, 
 Jonathan, Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, 
 Patrick, Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us 
 know ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and db.define_table(on_define=lambda 
 table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x 
 faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, 
 _after_update, _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index: 
 return auth.wiki()
 - auth.settings.everybody_group_id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form improvements

 - FORM.confirm('Are you sure?',{'Back':URL(...)})
 - SQLFORM.smartdictform(dict)
 - form.add_button(value,link)
 - SQLFORM.grid(groupby='...')
 - fixed security issue with SQLFORM.grid and SQLFORM.smartgrid
 - more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml, 
 csv, ...)

 ### Admin improvements

 - new admin pages: manage_students, bulk_regsiter, and progress reports
 - increased security in admin against CSRF
 - experimental Git integration
 - experimental OpenShift deployment
 - multi-language pluralization engine 
 - ace text web editor in admin
 - Ukrainian translations, thanks Vladyslav Kozlovskyy
 - Romanian translation for welcome, thanks ionel
 - support for mercurial 2.6, thanks Vlad

 ### Scheduler Improvements (thanks to niphlod, ykessler, dhx, toomim)

 - web2py.py -K myapp -X starts the myapp scheduler alongside the webserver
 - tasks are marked EXPIRED (if stop_time passed)
 - functions with no result don't end up in scheduler_run
 - more options: web2py.py -E -b -L
 - scheduler can now handle 10k tasks with 20 concurrent workers and with 
 no issues
 - new params:
 tasks can be found in the environment (no need to define the tasks 
 parameter)
 max_empty_runs kills the workers automatically if no new tasks are 
 found in queue (nice for spikes of processing 

[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Andrew
The Issue is still there in 2.0.3

On Thursday, August 30, 2012 11:40:07 PM UTC+12, Sridhar wrote:

 Hi Team, 

 Thanks a ton for the new features and improvements!

 I'm just getting started and was trying to run web2py.exe on Windows 7 
 after downloading it from 
 http://www.web2py.com/examples/static/web2py_win.zip (2.0.2 stable).

 However, ran into this error:

 ** 
 D:\web2pyweb2py -S welcome
 Traceback (most recent call last):
   File web2py.py, line 16, in module
   File gluon/__init__.py, line 15, in module
   File gluon/globals.py, line 24, in module
   File gluon/serializers.py, line 11, in module
   File gluon/languages.py, line 264, in module
   File gluon/languages.py, line 250, in read_possible_plurals
 WindowsError: [Error 3] The system cannot find the path specified: 
 'D:\\web2py\\gluon\\contrib\\rules/*.*'
 **

 Then, realized there was no folder called gluon in the extracted folder. 
 I downloaded the source from 
 http://www.web2py.com/examples/static/web2py_src.zip and copied the 
 gluon folder from this source code to the previous web2py folder.

 This solved the error and was able to web2py GUI. Hope this helps.

 Regards,
 Sridhar

 On Thursday, August 30, 2012 9:11:34 AM UTC+5:30, Massimo Di Pierro wrote:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization 
 system, better markmin with oembed support and better scaffolding app, 
 increased security.
 - Lots of experimental features including GIS support, mongodb support, 
 built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us know 
 ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, 
 Jonathan, Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, 
 Patrick, Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us 
 know ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and db.define_table(on_define=lambda 
 table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x 
 faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, 
 _after_update, _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index: 
 return auth.wiki()
 - auth.settings.everybody_group_id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form improvements

 - FORM.confirm('Are you sure?',{'Back':URL(...)})
 - SQLFORM.smartdictform(dict)
 - form.add_button(value,link)
 - SQLFORM.grid(groupby='...')
 - fixed security issue with SQLFORM.grid and SQLFORM.smartgrid
 - more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml, 
 csv, ...)

 ### Admin improvements

 - new admin pages: manage_students, 

[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Andrew
Well, perhaps not.
The Download page says 2.0.3, but when I start it says 2.0.2. in the app ?  
Perhaps the windoes exe has not been updated.   


On Friday, August 31, 2012 2:09:29 PM UTC+12, Andrew wrote:

 The Issue is still there in 2.0.3

 On Thursday, August 30, 2012 11:40:07 PM UTC+12, Sridhar wrote:

 Hi Team, 

 Thanks a ton for the new features and improvements!

 I'm just getting started and was trying to run web2py.exe on Windows 7 
 after downloading it from 
 http://www.web2py.com/examples/static/web2py_win.zip (2.0.2 stable).

 However, ran into this error:

 ** 
 D:\web2pyweb2py -S welcome
 Traceback (most recent call last):
   File web2py.py, line 16, in module
   File gluon/__init__.py, line 15, in module
   File gluon/globals.py, line 24, in module
   File gluon/serializers.py, line 11, in module
   File gluon/languages.py, line 264, in module
   File gluon/languages.py, line 250, in read_possible_plurals
 WindowsError: [Error 3] The system cannot find the path specified: 
 'D:\\web2py\\gluon\\contrib\\rules/*.*'
 **

 Then, realized there was no folder called gluon in the extracted 
 folder. I downloaded the source from 
 http://www.web2py.com/examples/static/web2py_src.zip and copied the 
 gluon folder from this source code to the previous web2py folder.

 This solved the error and was able to web2py GUI. Hope this helps.

 Regards,
 Sridhar

 On Thursday, August 30, 2012 9:11:34 AM UTC+5:30, Massimo Di Pierro wrote:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization 
 system, better markmin with oembed support and better scaffolding app, 
 increased security.
 - Lots of experimental features including GIS support, mongodb support, 
 built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us 
 know ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, 
 Jonathan, Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, 
 Patrick, Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us 
 know ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and db.define_table(on_define=lambda 
 table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x 
 faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, 
 _after_update, _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index: 
 return auth.wiki()
 - auth.settings.everybody_group_id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form improvements

 - FORM.confirm('Are you sure?',{'Back':URL(...)})
 - SQLFORM.smartdictform(dict)
 - form.add_button(value,link)
 - SQLFORM.grid(groupby='...')
 - 

[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Massimo Di Pierro
Can you please try again the windows binary and let me know if the problem 
persists.

On Thursday, 30 August 2012 21:13:18 UTC-5, Andrew wrote:

 Well, perhaps not.
 The Download page says 2.0.3, but when I start it says 2.0.2. in the app 
 ?  Perhaps the windoes exe has not been updated.   


 On Friday, August 31, 2012 2:09:29 PM UTC+12, Andrew wrote:

 The Issue is still there in 2.0.3

 On Thursday, August 30, 2012 11:40:07 PM UTC+12, Sridhar wrote:

 Hi Team, 

 Thanks a ton for the new features and improvements!

 I'm just getting started and was trying to run web2py.exe on Windows 7 
 after downloading it from 
 http://www.web2py.com/examples/static/web2py_win.zip (2.0.2 stable).

 However, ran into this error:

 ** 
 D:\web2pyweb2py -S welcome
 Traceback (most recent call last):
   File web2py.py, line 16, in module
   File gluon/__init__.py, line 15, in module
   File gluon/globals.py, line 24, in module
   File gluon/serializers.py, line 11, in module
   File gluon/languages.py, line 264, in module
   File gluon/languages.py, line 250, in read_possible_plurals
 WindowsError: [Error 3] The system cannot find the path specified: 
 'D:\\web2py\\gluon\\contrib\\rules/*.*'
 **

 Then, realized there was no folder called gluon in the extracted 
 folder. I downloaded the source from 
 http://www.web2py.com/examples/static/web2py_src.zip and copied the 
 gluon folder from this source code to the previous web2py folder.

 This solved the error and was able to web2py GUI. Hope this helps.

 Regards,
 Sridhar

 On Thursday, August 30, 2012 9:11:34 AM UTC+5:30, Massimo Di Pierro 
 wrote:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization 
 system, better markmin with oembed support and better scaffolding app, 
 increased security.
 - Lots of experimental features including GIS support, mongodb support, 
 built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us 
 know ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, 
 Jonathan, Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, 
 Patrick, Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us 
 know ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and 
 db.define_table(on_define=lambda table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x 
 faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, 
 _after_update, _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index: 
 return auth.wiki()
 - auth.settings.everybody_group_id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form 

[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Ramkrishan Bhatt
Congtras all of you . Is CMS is also completed?

On Thursday, 30 August 2012 09:11:34 UTC+5:30, Massimo Di Pierro wrote:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization 
 system, better markmin with oembed support and better scaffolding app, 
 increased security.
 - Lots of experimental features including GIS support, mongodb support, 
 built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us know 
 ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, Jonathan, 
 Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, Patrick, 
 Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us know 
 ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and db.define_table(on_define=lambda 
 table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, _after_update, 
 _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index: 
 return auth.wiki()
 - auth.settings.everybody_group_id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form improvements

 - FORM.confirm('Are you sure?',{'Back':URL(...)})
 - SQLFORM.smartdictform(dict)
 - form.add_button(value,link)
 - SQLFORM.grid(groupby='...')
 - fixed security issue with SQLFORM.grid and SQLFORM.smartgrid
 - more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml, 
 csv, ...)

 ### Admin improvements

 - new admin pages: manage_students, bulk_regsiter, and progress reports
 - increased security in admin against CSRF
 - experimental Git integration
 - experimental OpenShift deployment
 - multi-language pluralization engine 
 - ace text web editor in admin
 - Ukrainian translations, thanks Vladyslav Kozlovskyy
 - Romanian translation for welcome, thanks ionel
 - support for mercurial 2.6, thanks Vlad

 ### Scheduler Improvements (thanks to niphlod, ykessler, dhx, toomim)

 - web2py.py -K myapp -X starts the myapp scheduler alongside the webserver
 - tasks are marked EXPIRED (if stop_time passed)
 - functions with no result don't end up in scheduler_run
 - more options: web2py.py -E -b -L
 - scheduler can now handle 10k tasks with 20 concurrent workers and with 
 no issues
 - new params:
 tasks can be found in the environment (no need to define the tasks 
 parameter)
 max_empty_runs kills the workers automatically if no new tasks are 
 found in queue (nice for spikes of processing power)
 discard_results to completely discard the results (if you don't need 
 the output of the task)
 utc_time enables datetime calculations with UTC time
 - scheduler_task changes:
 task_name is no longer 

[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Andrew
Still 2.0.2.

On Friday, August 31, 2012 3:31:20 PM UTC+12, Massimo Di Pierro wrote:

 Can you please try again the windows binary and let me know if the problem 
 persists.

 On Thursday, 30 August 2012 21:13:18 UTC-5, Andrew wrote:

 Well, perhaps not.
 The Download page says 2.0.3, but when I start it says 2.0.2. in the app 
 ?  Perhaps the windoes exe has not been updated.   


 On Friday, August 31, 2012 2:09:29 PM UTC+12, Andrew wrote:

 The Issue is still there in 2.0.3

 On Thursday, August 30, 2012 11:40:07 PM UTC+12, Sridhar wrote:

 Hi Team, 

 Thanks a ton for the new features and improvements!

 I'm just getting started and was trying to run web2py.exe on Windows 7 
 after downloading it from 
 http://www.web2py.com/examples/static/web2py_win.zip (2.0.2 stable).

 However, ran into this error:

 ** 
 D:\web2pyweb2py -S welcome
 Traceback (most recent call last):
   File web2py.py, line 16, in module
   File gluon/__init__.py, line 15, in module
   File gluon/globals.py, line 24, in module
   File gluon/serializers.py, line 11, in module
   File gluon/languages.py, line 264, in module
   File gluon/languages.py, line 250, in read_possible_plurals
 WindowsError: [Error 3] The system cannot find the path specified: 
 'D:\\web2py\\gluon\\contrib\\rules/*.*'
 **

 Then, realized there was no folder called gluon in the extracted 
 folder. I downloaded the source from 
 http://www.web2py.com/examples/static/web2py_src.zip and copied the 
 gluon folder from this source code to the previous web2py folder.

 This solved the error and was able to web2py GUI. Hope this helps.

 Regards,
 Sridhar

 On Thursday, August 30, 2012 9:11:34 AM UTC+5:30, Massimo Di Pierro 
 wrote:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization 
 system, better markmin with oembed support and better scaffolding app, 
 increased security.
 - Lots of experimental features including GIS support, mongodb 
 support, built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us 
 know ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, 
 Jonathan, Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, 
 Patrick, Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us 
 know ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and 
 db.define_table(on_define=lambda table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x 
 faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, 
 _after_update, _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this 
 table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def 
 index: return auth.wiki()
 - 

[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Juan Diego Romero González
The problem I have with the admin application comes from this import.

from gluon.languages import (regex_language, read_possible_languages,
 lang_sampling,
 read_dict, write_dict, read_plural_dict,
 write_plural_dict, PLURAL_RULES)

Regards.

J.

-- 





[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Massimo Di Pierro
I just downloaded it myself, unziped and VERSION says 2.0.3. 

I am not sure what is wrong. try another clean download in its own folder. 
many sure you only have one web2py running.

On Friday, 31 August 2012 00:00:32 UTC-5, Andrew W wrote:

 Still 2.0.2.

 On Friday, August 31, 2012 3:31:20 PM UTC+12, Massimo Di Pierro wrote:

 Can you please try again the windows binary and let me know if the 
 problem persists.

 On Thursday, 30 August 2012 21:13:18 UTC-5, Andrew wrote:

 Well, perhaps not.
 The Download page says 2.0.3, but when I start it says 2.0.2. in the app 
 ?  Perhaps the windoes exe has not been updated.   


 On Friday, August 31, 2012 2:09:29 PM UTC+12, Andrew wrote:

 The Issue is still there in 2.0.3

 On Thursday, August 30, 2012 11:40:07 PM UTC+12, Sridhar wrote:

 Hi Team, 

 Thanks a ton for the new features and improvements!

 I'm just getting started and was trying to run web2py.exe on Windows 7 
 after downloading it from 
 http://www.web2py.com/examples/static/web2py_win.zip (2.0.2 stable).

 However, ran into this error:

 ** 
 D:\web2pyweb2py -S welcome
 Traceback (most recent call last):
   File web2py.py, line 16, in module
   File gluon/__init__.py, line 15, in module
   File gluon/globals.py, line 24, in module
   File gluon/serializers.py, line 11, in module
   File gluon/languages.py, line 264, in module
   File gluon/languages.py, line 250, in read_possible_plurals
 WindowsError: [Error 3] The system cannot find the path specified: 
 'D:\\web2py\\gluon\\contrib\\rules/*.*'
 **

 Then, realized there was no folder called gluon in the extracted 
 folder. I downloaded the source from 
 http://www.web2py.com/examples/static/web2py_src.zip and copied the 
 gluon folder from this source code to the previous web2py folder.

 This solved the error and was able to web2py GUI. Hope this helps.

 Regards,
 Sridhar

 On Thursday, August 30, 2012 9:11:34 AM UTC+5:30, Massimo Di Pierro 
 wrote:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and 
 improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and 
 pluralization system, better markmin with oembed support and better 
 scaffolding app, increased security.
 - Lots of experimental features including GIS support, mongodb 
 support, built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us 
 know ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, 
 Jonathan, Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, 
 Patrick, Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us 
 know ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and 
 db.define_table(on_define=lambda table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x 
 faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, 
 _after_update, _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this 
 table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all 
 tables
 - @auth.requires_login(otherwise=URL(...))
 - 

[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Annet
I am still having this issue:

On Thursday, 30 August 2012 18:03:36 UTC+2, Annet wrote:


 Please can you post a concrete example?


 In:

 Editing file init/models/db.py 

 ... when I click the save button, normally a flash showed up in the 
 top-right corner: 

 div class=flash style=display: none;file saved on Thu Aug 30 
 17:55:13 2012/div


 In 2.0.2 the div is empty after clicking the save button:

 div class=flash style=display: none;/div


 I also noticed that when I inspect the footer element there's a div with 
 the following contents:

 div id=footer class=fixed
 div style=height: auto; width: auto; top: -4px; left: -4px; 
 visibility: hidden; position: absolute; overflow: visible; white-space: 
 nowrap; font-family: 'Monaco','Menlo','Ubuntu Mono','Droid Sans 
 Mono','Consolas',monospace; font-size: 12px; font-weight: 400; font-style: 
 normal; line-height: 
 16.25px;XyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyX/div


 Kind regards,

 Annet


-- 





[web2py] Re: web2py 2.0.2 is out

2012-08-30 Thread Massimo Di Pierro
ace.js does that. Yes it is odd. I am not sure why. Also there is no flash 
because of the box that now flashes green. We may move from ace to 
codemirror.

On Friday, 31 August 2012 00:42:14 UTC-5, Annet wrote:

 I am still having this issue:

 On Thursday, 30 August 2012 18:03:36 UTC+2, Annet wrote:


 Please can you post a concrete example?


 In:

 Editing file init/models/db.py 

 ... when I click the save button, normally a flash showed up in the 
 top-right corner: 

 div class=flash style=display: none;file saved on Thu Aug 30 
 17:55:13 2012/div


 In 2.0.2 the div is empty after clicking the save button:

 div class=flash style=display: none;/div


 I also noticed that when I inspect the footer element there's a div 
 with the following contents:

 div id=footer class=fixed
 div style=height: auto; width: auto; top: -4px; left: -4px; 
 visibility: hidden; position: absolute; overflow: visible; white-space: 
 nowrap; font-family: 'Monaco','Menlo','Ubuntu Mono','Droid Sans 
 Mono','Consolas',monospace; font-size: 12px; font-weight: 400; font-style: 
 normal; line-height: 
 16.25px;XyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyXyX/div


 Kind regards,

 Annet



-- 





[web2py] Re: web2py 2.0.2 is out

2012-08-29 Thread Anthony
Congratulations to all! And special thanks to Massimo for all his hard 
work, diligence, and patience.

Anthony

On Wednesday, August 29, 2012 11:41:34 PM UTC-4, Massimo Di Pierro wrote:

 After 5 months. It is done. This is the most waited and the most 
 feature-packed release.

 I am sure we'll find some corners that need to be ironed but it is 
 considerably better than 1.99.7. It adds lot of new features and improves 
 many existing ones:

 - 57,000 new lines of code and closed 279 issues since 1.99.7.
 - Retrieving data from DB should be faster, in particular 
 select(cacheable=True)
 - Has a new scheduler, a built-in wiki, new language and pluralization 
 system, better markmin with oembed support and better scaffolding app, 
 increased security.
 - Lots of experimental features including GIS support, mongodb support, 
 built-in auth.wiki(), and more.

 Should be 100% backward compatible. If you run into any issue let us know 
 ASAP.

 I personally want to thank the major contributors to this release (in 
 alphabetic order)
 Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, Jonathan, 
 Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, Patrick, 
 Vladyslav, 
 They spend many nights testing, coding, debugging at a very fast pace.

 Many many people have contributed.

 If your contribution has not been properly acknowledged please let us know 
 ASAP. It is probably an oversight.


 Massimo


 Detailed changelog
 ===

 ## 2.00.2

 ### DAL Improvements

 - Support for DAL(lazy_tables=True) and db.define_table(on_define=lambda 
 table:), thanks Jonathan
 - db(...).select(cacheable=True) make select 30% faster
 - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x faster
 - db(...).count(cache=(cache.ram,3600)) now supported
 - MongoDB support in DAL (experimental), thanks Mark Breedveld
 - geodal and spatialite, thanks Denes and Fran (experimental)
 - db.mytable._before_insert, _after_insert, _before_update, _after_update, 
 _before_delete. _after_delete (list of callbacks)
 - db(...).update_naive(...) same as update but ignores 
 table._before_update and table._after_update
 - DAL BIGINT support and DAL(...,bigint_id=True)
 - IS_IN_DB(..., distinct=True)
 - new syntax: db.mytable.insert(myuploadfield=open()), thank you 
 Iceberg
 - db(...).select(db.mytable.myfield.count(distinct=True))
 - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id))
 - db.mytable.myfield.filter_in, filter_out
 - db.mytable._enable_record_versioning(db) adds versioning to this table
 - teradata adapter, thanks Andrew Willimott
 - experimental Sybase Adapter
 - added db.table.field.avg()
 - Support for Google App Engine projections, thanks Christian
 - 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
 - executesql(...,fields=,columns=) allows parsing of results in Rows, 
 thanks Anthony

 ### Auth improvements

 - auth.enable_record_versioning(db)  adds full versioning to all tables
 - @auth.requires_login(otherwise=URL(...))
 - auth supports salt and compatible with third party data, thanks Dave 
 Stoll
 - CRYPT now defaults to pbkdf2(1000,20,sha1)
 - Built-in wiki with menu, tags, search, media, permissions. def index: 
 return auth.wiki()
 - auth.settings.everybody_group_id
 - allow storage of uploads on any PyFileSystem (including amazon)

 ### Form improvements

 - FORM.confirm('Are you sure?',{'Back':URL(...)})
 - SQLFORM.smartdictform(dict)
 - form.add_button(value,link)
 - SQLFORM.grid(groupby='...')
 - fixed security issue with SQLFORM.grid and SQLFORM.smartgrid
 - more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml, 
 csv, ...)

 ### Admin improvements

 - new admin pages: manage_students, bulk_regsiter, and progress reports
 - increased security in admin against CSRF
 - experimental Git integration
 - experimental OpenShift deployment
 - multi-language pluralization engine 
 - ace text web editor in admin
 - Ukrainian translations, thanks Vladyslav Kozlovskyy
 - Romanian translation for welcome, thanks ionel
 - support for mercurial 2.6, thanks Vlad

 ### Scheduler Improvements (thanks to niphlod, ykessler, dhx, toomim)

 - web2py.py -K myapp -X starts the myapp scheduler alongside the webserver
 - tasks are marked EXPIRED (if stop_time passed)
 - functions with no result don't end up in scheduler_run
 - more options: web2py.py -E -b -L
 - scheduler can now handle 10k tasks with 20 concurrent workers and with 
 no issues
 - new params:
 tasks can be found in the environment (no need to define the tasks 
 parameter)
 max_empty_runs kills the workers automatically if no new tasks are 
 found in queue (nice for spikes of processing power)
 discard_results to completely discard the results (if you don't need 
 the output of the task)
 utc_time enables datetime calculations with UTC 

[web2py] Re: web2py 2.0.2 is out

2012-08-29 Thread qwer qwer
Its very nice that you have created such a wonderful framework. Its 
awesome...:)

-- 





[web2py] Re: web2py 2.0.2 is out

2012-08-29 Thread Michael Toomim
Wow, this is cool!

But I'm hitting a bug in rewrite_on_error: 
http://code.google.com/p/web2py/issues/detail?id=964

-- 





[web2py] Re: web2py 2.0.2 is out

2012-08-29 Thread Michael Toomim
I'm really excited about the new scheduler -X option.

What do -E -b -L do? I don't see them in --help or in the widget.py code.

On Wednesday, August 29, 2012 10:17:48 PM UTC-7, Michael Toomim wrote:

 Wow, this is cool!

 But I'm hitting a bug in rewrite_on_error: 
 http://code.google.com/p/web2py/issues/detail?id=964


-- 





[web2py] Re: web2py 2.0.2 is out

2012-08-29 Thread Michael Toomim
Oh, I see, these are scheduler.py options!
  -b: sets the heartbeat time
  -L: sets the logging level
  -E: sets the max empty runs

On Wednesday, August 29, 2012 10:23:29 PM UTC-7, Michael Toomim wrote:

 What do -E -b -L do? I don't see them in --help or in the widget.py code.

-- 





[web2py] Re: web2py 2.0.2 is out

2012-08-29 Thread Rahul
I just can't think of a better web framework for Python than WEB2PY .. 
which just got better [best, I mean] :)  .. Great job done by entire web2py 
team.. Thanks all and Massimo for this wonderful framework. ..

Cheers, Rahul D.

On Thursday, August 30, 2012 11:16:12 AM UTC+5:30, Michael Toomim wrote:

 Oh, I see, these are scheduler.py options!
   -b: sets the heartbeat time
   -L: sets the logging level
   -E: sets the max empty runs

 On Wednesday, August 29, 2012 10:23:29 PM UTC-7, Michael Toomim wrote:

 What do -E -b -L do? I don't see them in --help or in the widget.py code.



--