Tres Seaver
2016-04-16 3779dd8cffe9e87ea040127be5fe40e3a3a79cff
commit | author | age
051143 1 Pyramid TODOs
CM 2 =============
69364d 3
8ac9e6 4 Nice-to-Have
CM 5 ------------
0db4a1 6
63c969 7 - Add docs about upgrading between Pyramid versions (e.g. how to see
CM 8   deprecation warnings).
9
4786ca 10 - Fix renderers chapter to better document system values passed to template
CM 11   renderers.
12
37f3ba 13 - Modify view mapper narrative docs to not use pyramid_handlers.
8ac9e6 14
cd422c 15 - Modify the urldispatch chapter examples to assume a scan rather than
CM 16   ``add_view``.
17
56a100 18 - Context manager for creating a new configurator (replacing
CM 19   ``with_package``).  E.g.::
20
21     with config.partial(package='bar') as c:
22         c.add_view(...)
23
8fc93b 24   or::
CM 25
26     with config.partial(introspection=False) as c:
27         c.add_view(..)
cd422c 28
8ac9e6 29 - Introspection:
57a0d7 30
63c969 31   * ``default root factory`` category (prevent folks from needing to searh
CM 32     "root factories" category)?
58c01f 33
63c969 34   * ``default view mapper`` category (prevent folks from needing to search
CM 35     "view mappers" category)?
58c01f 36
4a4ef4 37   * get rid of "tweens" category (can't sort properly?)
CM 38
bfc01f 39 - Fix deployment recipes in cookbook (discourage proxying without changing
CM 40   server).
41
773024 42 - Try "with transaction.manager" in an exception view with SQLA (preempt
CM 43   homina homina response about how to write "to the database" from within in
63c969 44   an exception view).  Note: tried this and couldn't formulate the right
CM 45   situation where the database could not be written to within an exception
46   view (but didn't try exhaustively).
e307fc 47
95eab9 48 - Add narrative docs for wsgiapp and wsgiapp2.
CM 49
50 - Flesh out "Paste" narrative docs chapter.
51
52 - Basic WSGI documentation (pipeline / app / server).
53
63c969 54 - Change docs about creating a venusian decorator to not use ZCA (use
CM 55   configurator methods instead).
95eab9 56
CM 57 - Try to better explain the relationship between a renderer and a template in
58   the templates chapter and elsewhere.  Scan the documentation for reference
59   to a renderer as *only* view configuration (it's a larger concept now).
3d338e 60
a7d50d 61 - Add better docs about what-to-do-when-behind-a-proxy: paste.urlmap ("/foo =
CM 62   app1" and "domain app1.localhost = app1"), ProxyPreserveHost and the nginx
63   equivalent, preserving HTTPS URLs.
64
449287 65 - _fix_registry should dictify the registry being fixed.
CM 66
51add8 67 - Make "localizer" a property of request (instead of requiring
CM 68   "get_localizer(request)"?
69
b5ffe3 70 - Alias the stupid long default session factory name.
371a67 71
6aafc5 72 - Debug option to print view matching decision (e.g. debug_viewlookup or so).
94a527 73
f765a6 74 - Non-bwcompat use of threadlocals that need to be documented or ameliorated:
CM 75
76   security.principals_allowed_by_permission
77
78   resource.OverrideProvider._get_overrides: can't credibly be removed,
79   because it stores an overrideprovider as a module-scope global.
80
81   traversal.traverse: this API is a stepchild, and needs to be changed.
82
83   Configurator.add_translation_dirs: not passed any context but a message,
84   can't credibly be removed.
85
95eab9 86 - Deprecate pyramid.security.view_execution_permitted (it only works for
CM 87   traversal).
f07765 88
CM 89 - Create a function which performs a recursive request.
90
95eab9 91 - Create a ``render_view`` that works by using config.derive_view against an
CM 92   existing view callable instead of querying the registry (some sort of API
93   for rendering a view callable object to a response from within another view
94   callable). Possible idea: have config.add_view mark up the
95   function/method/class like @view_config does, then use the attached info to
96   derive a view callable whenever called via some API.
7c1549 97
CM 98 - Provide a ``has_view`` function.
99
485ef6 100 - Update App engine chapter with less creaky directions.
d8d14a 101
cccc91 102 Future
CM 103 ------
104
f1f6e8 105 - 1.4: Kill off ``bfg.routes`` envvars in router.
2a9682 106
33516a 107 - 1.4: Remove ``chameleon_text`` / ``chameleon_zpt`` deprecated functions
CM 108   (render_*)
109
110 - 1.4: Remove ``pyramid.configuration.ConfigurationError`` (deprecated).
111
112 - 1.4: Remove ``pyramid.paster.PyramidTemplate`` (deprecated).
113
114 - 1.4: Remove ``pyramid.settings.get_settings`` (deprecated).
115
116 - 1.5: Remove all deprecated ``pyramid.testing`` functions.
641301 117
2a9682 118 - 1.5: turn ``pyramid.settings.Settings`` into a function that returns the
CM 119   original dict (after ``__getattr__`` deprecation period, it was deprecated
120   in 1.2).
121
122 - 1.5: Remove ``pyramid.requests.DeprecatedRequestMethodsMixin``.
123
63c969 124 - 1.6: Remove IContextURL and TraversalContextURL.
CM 125
d8d14a 126 Probably Bad Ideas
CM 127 ------------------
d89aee 128
485ef6 129 - Add functionality that mocks the behavior of ``repoze.browserid``.
c8e78c 130
5f3fc0 131 - Consider implementing the API outlined in
CM 132   http://plope.com/pyramid_auth_design_api_postmortem, phasing out the
133   current auth-n-auth abstractions in a backwards compatible way.
9d3bd8 134
d8d14a 135 - Maybe add ``add_renderer_globals`` method to Configurator.
CM 136
95eab9 137 - Supply ``X-Vhm-Host`` support (probably better to do what paste#prefix
CM 138   middleware does).
139
c5724c 140 - Have ``remember`` and ``forget`` actually set headers on the response using
CM 141   a response callback (and return the empty list)?