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:\web2py>web2py -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 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, cast=int, otherwise=URL(...)), thanks Anthony >>> - redirect(...,type='auto') will be handled properly in ajax responses >>> - routes in can redirect outside with >>> routes_in=[('/path','303->http://..')] >>> - better memcache support >>> - improved spreadsheet, thanks Alan >>> - new internationalization engine, thanks Vladyslav >>> - pluralization engine, thanks Vladyslav >>> - new markmin with support for nested lists, <i>, <em>, autolinks, >>> thanks Vladyslav >>> - new syntax: {{=BR()*5}} >>> - gluon.cache.lazy_cache decorator allows caching functions in modules >>> - .coffee and .less support in response.files, thanks Sam Sheftel >>> - ldap certificate support >>> - pg8000 postgresql driver support (experimental) >>> - @cache('%(name)s%(args)s%(vars)s',5) and cache.autokey >>> - added tox.ini, thanks Marc >>> - web2py.py --run_system_tests, thanks Marc Abramowitz >>> - html.py (and web2py helpers) can be used without web2py dependencies >>> - new fpdf, thanks Mariano >>> >> --