Chris McDonough
2011-07-12 f55b54a16def0bb0c463ee302dd12eefaa3638ad
TODO.txt
@@ -1,43 +1,41 @@
Pyramid TODOs
=============
Must-Have
---------
- add_route discriminator wrong
- tutorial models.initialize_sql doesn't match scaffold
  (DBSession.rollback()/transaction.abort() in scaffold vs. "pass" in
  tutorial)
- deprecate request.add_response_callback (or at least review docs, in light
  of request.response property).
Should-Have
-----------
- MultiDict documentation.
- Make "localizer" a property of request (instead of requiring
  "get_localizer(request)"?
- Speed up startup time (defer _bootstrap and registerCommonDirectives()
  until needed by ZCML, as well as unfound speedups).
- Fix misleading conflict error reports for static views ala
  http://cluebin.appspot.com/pasted/7242843
- Nicer Mako exceptions in WebError.
- Consider adding a default exception view for HTTPException and attendant
  ``redirect`` and ``abort`` functions ala Pylons (promised Mike I'd enable
  this in 1.1).
- Static (URL-generation only) routes.
- Investigate mod_wsgi tutorial to make sure it still works (2 reports say
  no; application package not found).
- Add narrative docs for wsgiapp and wsgiapp2.
- translationdir ZCML directive use of ``path_spec`` should maybe die.
- Provide a response_set_cookie method on the request for rendered responses
  that can be used as input to response.set_cookie?  Or maybe accessing
  ``request.response`` creates a Response, and you do
  ``request.response.set_cookie(...)``.  See also
  https://github.com/Pylons/pyramid/issues/175
- Fix message catalog extraction / compilation documentation.
- Review http://alexmarandon.com/articles/zodb_bfg_pyramid_notes .
Nice-to-Have
------------
- Consider per-form_id CSRF instead of per-session global CSRF token.
- Maybe add ``add_renderer_globals`` method to Configurator.
- Speed up startup time (defer _bootstrap and registerCommonDirectives()
  until needed by ZCML, as well as unfound speedups).
- Nicer Mako exceptions in WebError.
- Response.RequestClass should probably be pyramid.request.Request but this
  may imply actually subclassing webob.Response
- Better "Extending" chapter.
@@ -72,28 +70,6 @@
- Create a function which performs a recursive request.
- Debug option to print view matching decision.
- Script or paster command that prints, for a given URL, the views
  that might match.  Underneath each potentially matching route, list
  the predicates required.  Underneath each route+predicate set, print
  each view that might match and its predicates.  E.g. with the input
  URL ``/foo``::
    '/foo' (foo_xhr)
       xhr = True
         (no view predicates)
           mypackage.views.MyXHRFooView.__call__
    '/{action}' (action_route)
       request_method = 'POST'
         action = '^foo$'
           mypackage.views.MyView.foo_POST
       request_method = 'GET'
         action = '^foo$'
           mypackage.views.MyView.foo_GET
- Raise an exception when a value in response_headerlist is not a
  string or decide to encode.
- Update App engine chapter with less creaky directions.