We are ready to start testing the next version of TurboGears: 2.1.
This release is the first of what will be a series of alpha and beta
releases before we move into production.  2.1 is not a huge departure
from the 2.1 codebase, rather, it’s efforts are to clean up and speed
up the existing codebase, both conceptually and technically.  So, if
you have some time, install it today and give it a whirl!

Major Differences (Things that affect present 2.0 users)
==================================================

Rendering
-----------------
The item that will affect most 2.0 users is the renderer.  The json is
now not a special hard-coded case, so you will need to add it to your
default config.  Most 2.0 apps will have to add the following line to
their app_cfg.py if you are using @expose(‘json’) at all::

base_config.renderers.append(‘json’)

If you should forget to do this, you will get an error message
reminding you to do so.

TurboJson
----------------------
Support for TurboJson has been removed.  We have not found many people
using this, and in fact, if you still need it, you can still put it
into your TG application.  For the most part SimpleJson does a good
job of rendering Json for us, and because it is a part of the python
default library in 2.6, it makes sense to utilize it.  This allowed us
to remove about 8 package dependencies.


Minor Differences (Things that affect folks familiar with how TG
already works)
==================================================================

Dispatch
-----------------
The dispatch mechanism has been completely refactored.  This means
that pesky things like requiring *args at the end of a
RestController.edit are now not required.  The new dispatcher is much
faster, up to 200% faster for RestController dispatching.  It also has
the flexibility to add a _dispatch() method to your Controller class
to drive the dispatch.  This is not yet documented, but it’s on the
high priority list for documentation.

Setup-app
---------------------

Setup-app has been broken into two pieces, schema creation and
bootstrapping.  This will not affect existing TurboGears apps, but if
you were familiar with a certain way quickstart works, this has
changed.  There are now schema.py and bootstrap.py modules in the
websetup directory of your quickstart.  These isolate database schema
creation from adding bootstrap data to the database.  This helps when
you are writing scripts that modify a database, but do not add the
bootstrap data (useful for testing).  Having them in separate modules
makes the separation of concerns more apparent.

Catwalk
--------------
While the branding was nice, we decided to drop the Catwalk name in
order to make it easier to follow tutorials that utilize tgext.admin.
Therefore, in quickstarts, you will no longer see catwalk, just
tgext.admin calls.  This also allowed us to drop yet another
dependency.  Catwalk will still remain a viable package, but it will
no longer be maintained.  The good news is that nearly all the
functionality for the admin resides withing tgext.admin.  Catwalk was
simply a configuration of the former.

New Features
===============

Documentation
-----------------------
A concerted effort has been made to increase the depth, breadth, and
organization of the docs.  Areas of focus have been: Organization of
the docs themselves, Configuration, Tutorials, and Utilities.  Part of
the 2.1 push will be to get the docs to a level of completion never
seen before, and an organized effort is taking place to ensure this
aspect of the project’s success.

Mako!!
------------
TurboGears2 has always supported Mako, but we are now providing
template support in our quickstart.  When you quickstart a new
project, it will ask you if you want to use mako templates instead of
Genshi.  Mako is usually about 3x as fast as Genshi for complex
rendered pages, and up to 10x as fast for simple ones.  Careful
attention has been given the Admin to make sure it still works with
Mako (it does), so you can be certain if you make the choice to use
mako, it will work out of the box.

local:
--------
In order to handle template inheritance gracefully, an identifier for
the local project has been added to the template lookup in Mako.  This
allows the admin to inherit your local project’s master.mak file.  An
inhertance clause in Mako that uses local would looks something like::

<%inherit file="app:templates.master"/>

Genshi has support for this automatically, but it is not explicit, and
we are looking at ways to support this explicitly before 2.1 goes to
final.

ToscaWidgets2 Support
----------------------------------
ToscaWidgets2 recently made a 2.0a1 release.  We have included in
TurboGears2.1 the ability to easily configure your application for
TW2, along with other added support for this next-generation widget
framework.

Thanks
=======

This release comes not without considerable effort on the part of the
TurboGears team.  I would like to thank Michael Pedersen for his
undying effort with the docs.  Michael helped to collect about 190
todo items for our docs, and squashed a countless number of them.  We
now have about 130 items todo on the docs, but that number is ever-
decreasing with his and other’s effort.  Thanks to those folks who
have contributed to the DocSprint, and who still continue to
contribute, including Michael Fletcher, Jorge Vargas, and Seth Davis.
If you use TurboGears, and find you need to dig into the source code
to figure stuff out, please help us make the docs better by
contributing to a DocSprint or sending us a pull request.

Thanks to Jorge for straightening out the Json rendering issue.  Also,
by removing TurboJson from the stack of required packages, we have
opened the door for TurboGears to run on AppEngine and Jython.  This
would not be possible without Jorge’s effort.

Thanks also to Mark Ramm, Christopher Ardnt, Florent Aide, Alberto
Valverde, Paul Johnston, Christoph Zwerschke, and Lee McFadden for
their continued support of TG.

Finally, I just wanted to send a thank you to the folks who have
contributed to the TG codebase by association.  Mike Bayer, Jason
Kirtland, Ben Bangert, Philip Jenvey, Chris McDonough, and last but
not least Ian Bicking.  Thanks for all of your effort making possible
this great conglomeration of parts.

cheers.
-chris

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TurboGears Trunk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/turbogears-trunk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to