summaryrefslogtreecommitdiff
path: root/TODO.txt
blob: 7c66c85c2cf50e0198b100e2576c27299e4a00af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
Pyramid TODOs
=============

Should-Have
-----------

- Render HTML versions of http exceptions by default for use by debug
  toolbar.

- Make it possible to use tween aliases in explicit tween config?  If not,
  the tween factories of all add-ons must be APIs.

- Tween factories that are instances get a weird name.  Disallow?

- BeforeRender event subclasses dict but implements a bunch of shit.  Its
  repr is currently broken (it always shows empty).  Decide what to do.

- Replace weberror with pyramid_exclog for exception logging/email-out in all
  production.ini.

- Come up with an analogue of repoze.zodbconn that doesn't require a closer
  in the pipeline and use it in the ZODB scaffold and tutorial.

- Deprecate pyramid.security.view_execution_permitted (it only works for
  traversal).

- Make "localizer" a property of request (instead of requiring
  "get_localizer(request)"

- Make ``current_route_url`` a method of request.

- Create a ``current_route_path`` function and make it a method of request.

- "static_path" API (omit host and port).

- Provide a way to set the authentication policy and the authorization policy
  during a config.include (they are related, so just exposing the currently
  underscored-private _set_auth* methods won't cut it).

- Try to figure out a way to keep "settings" as the original dictionary
  passed to the Configurator instead of copying it.

- Merge Michael's route group work.

- Kill off ``bfg.routes`` envvars in router.

- Alias the stupid long default session factory name.

- Fix indirect circular import between router and config.

- Eliminate non-deployment-non-scaffold-related Paste dependencies:
  ``paste.urlparser.StaticURLParser``, ``paste.auth.auth_tkt`` (cutnpaste or
  reimplement both).

Nice-to-Have
------------

- Add narrative docs for wsgiapp and wsgiapp2.

- Provide a ``has_view`` function.

- Debug option to print view matching decision (e.g. debug_viewlookup or so).

- Speed up startup time (defer _bootstrap and registerCommonDirectives()
  until needed by ZCML, as well as unfound speedups).

- Nicer Mako exceptions in debug toolbar.

- Better "Extending" chapter.

- Try to make test suite pass on IronPython.

- Non-bwcompat use of threadlocals that need to be documented or ameliorated:

  security.principals_allowed_by_permission

  resource.OverrideProvider._get_overrides: can't credibly be removed,
  because it stores an overrideprovider as a module-scope global.

  traversal.traverse: this API is a stepchild, and needs to be changed.

  Configurator.add_translation_dirs: not passed any context but a message,
  can't credibly be removed.

- Supply ``X-Vhm-Host`` support.

- Basic WSGI documentation (pipeline / app / server).

- Change docs about creating a venusian decorator to not use ZCA.

- 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.

- Update App engine chapter with less creaky directions.

Probably Bad Ideas
------------------

- Add functionality that mocks the behavior of ``repoze.browserid``.

- Consider implementing the API outlined in
  http://plope.com/pyramid_auth_design_api_postmortem, phasing out the
  current auth-n-auth abstractions in a backwards compatible way.

- Maybe add ``add_renderer_globals`` method to Configurator.