Chris McDonough
2010-11-22 ecee85c8a87e2440abd1aeda3d1043b01cf1f4ab
commit | author | age
051143 1 Pyramid TODOs
CM 2 =============
69364d 3
485ef6 4 Must-Have (before 1.0)
CM 5 ----------------------
6
7 - Add a ``handler`` ZCML directive.  This implies some slightly dicey
8   refactoring of the configurator to allow it to generate ZCML
94a527 9   "discriminators" for views and routes, that could be implemented in terms
CM 10   of "twophase configuration" in "should have" below.
485ef6 11
CM 12 - Provide a .flash API on session object.
13
14 - Use ``@register_view`` instead of ``@view_config`` and change view docs to
15   use "view registration" instead of "view configuration".
16
17 Should-Have
18 -----------
19
165020 20 - Add docs for httpexceptions module for each webob.exc class that inherits
CM 21   from WSGIHTTPException.
22
485ef6 23 - Create a ``docs`` directory for each paster template.
CM 24
25 - Remove "BFG" from Pyramid-specific environ variables.
26
27 - translationdir ZCML directive use of ``path_spec`` should maybe die.
28
29 - Add CRSF token creation/checking machinery (only "should have" vs. "must
30   have" because I'm not sure it belongs in Pyramid.. it definitely must exist
31   in formgen libraries, and *might* belong in Pyramid).
32
33 - Change "Cleaning up After a Request" in the urldispatch chapter to
34   use ``request.add_response_callback``.
35
d15421 36 - Twophase configuration (config = Configurator(autocommit=False)).  Maybe
CM 37   use ``zope.configuration`` ConfigurationContext as config.registry.ctx and
38   push execution into the configurator.
94a527 39
485ef6 40 Nice-to-Have
CM 41 ------------
42
94a527 43 - Try to make test suite pass on IronPython.
CM 44
f765a6 45 - Non-bwcompat use of threadlocals that need to be documented or ameliorated:
CM 46
47   security.principals_allowed_by_permission
48
49   resource.OverrideProvider._get_overrides: can't credibly be removed,
50   because it stores an overrideprovider as a module-scope global.
51
52   traversal.traverse: this API is a stepchild, and needs to be changed.
53
54   Configurator.add_translation_dirs: not passed any context but a message,
55   can't credibly be removed.
56
69364d 57 - Supply ``X-Vhm-Host`` support.
6fd5e1 58
9ec2d6 59 - Basic WSGI documentation (pipeline / app / server).
ff1213 60
0b3260 61 - Fix message catalog extraction / compilation documentation.
CM 62
84c5ec 63 - Change docs about creating a venusian decorator to not use ZCA.
CM 64
8a444e 65 - ``decorator=`` parameter to view_config.  This would replace the existing
CM 66   _map_view "decorator" if it existed.
a91594 67
250c02 68 - Try to better explain the relationship between a renderer and a
CM 69   template in the templates chapter and elsewhere.  Scan the
70   documentation for reference to a renderer as *only* view
71   configuration (it's a larger concept now).
388f9d 72
f07765 73 - Create a ``render_view`` that works by using config.derive_view
CM 74   against an existing view instead of querying the registry.
75
76 - Create a function which performs a recursive request.
77
baa634 78 - Debug option to print route matching decision.
CM 79
80 - Debug option to print view matching decision.
303c16 81
345474 82 - Script or paster command that prints, for a given URL, the views
CM 83   that might match.  Underneath each potentially matching route, list
84   the predicates required.  Underneath each route+predicate set, print
85   each view that might match and its predicates.  E.g. with the input
86   URL ``/foo``::
87
88     '/foo' (foo_xhr)
89        xhr = True
90          (no view predicates)
91            mypackage.views.MyXHRFooView.__call__
92
93     '/{action}' (action_route)
94        request_method = 'POST'
95          action = '^foo$'
96            mypackage.views.MyView.foo_POST
97        request_method = 'GET'
98          action = '^foo$'
99            mypackage.views.MyView.foo_GET
100
5951ab 101 - Provide a response_cookies attribute on the request for rendered
CM 102   responses that can be used as input to response.set_cookie.
103
6d9191 104 - Raise an exception when a value in response_headerlist is not a
CM 105   string or decide to encode.
106
485ef6 107 - Update App engine chapter with less creaky directions.
d89aee 108
485ef6 109 - Add functionality that mocks the behavior of ``repoze.browserid``.
c8e78c 110