:mod:`repoze.bfg` TODOs ======================= - Supply ``X-Vhm-Host`` support. - Basic WSGI documentation (pipeline / app / server). - Provide a webob.Response class facade for forward compat. - Fix message catalog extraction / compilation documentation. - Change docs about creating a venusian decorator to not use ZCA. - ``decorator=`` parameter to bfg_view. - Try to better explain the relationship between a renderer and a template in the templates chapter and elsewhere. Scan the documentation for reference to a renderer as *only* view configuration (it's a larger concept now). - Create a ``render_view`` that works by using config.derive_view against an existing view instead of querying the registry. - Create a function which performs a recursive request. - Debug option to print route matching decision. - 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 - Ability to use configurator as a context manager. - Switch tutorials and templates to non-ZCML. - Adding two static views: /static first and /static2 second doesnt work (resources are not found under static2). The problem appears to be in the handling of route matching. - Race condition when caching templates: https://bugs.launchpad.net/karl3/+bug/621364. - Provide a response_cookies attribute on the request for rendered responses that can be used as input to response.set_cookie. - Raise an exception when a value in response_headerlist is not a string or decide to encode. - These methods of Configurator should allow the arguments it receives named below them to be strings: __init__ [ ] package setup_registry [ ] root_factory [.] authentication_policy [.] authorization_policy [ ] locale_negotiator [ ] request_factory [ ] renderer_globals_factory add_subscriber() [ ] subscriber [ ] iface derive_view() [ ] view add_view() [ ] view [ ] for_ [ ] request_type [ ] containment [ ] context add_route() [.] view [.] view_for [ ] factory [.] for_ [.] view_context scan() [ ] package add_renderer() [ ] factory set_forbidden_view() [ ] view set_notfound_view() [ ] view set_request_factory() [ ] factory set_renderer_globals_factory() [ ] factory set_locale_negotiator() [ ] negotiator testing_add_subscriber [ ] event_iface - Make NewResponse event carry request. - Change docs so that we dont use INewReponse, but instead just NewResponse (likewise for INewRequest, etc).