summaryrefslogtreecommitdiff
path: root/TODO.txt
blob: 95bd2b917306ea6b2ef471310bccdcd738ca2f82 (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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
Pyramid TODOs
=============

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

- Example of using paste prefix middleware to fix https-vs-http when
  deploying via proxy:
  https://docs.pylonsproject.org/projects/pyramid_cookbook/dev/deployment/nginx.html#step-2-starting-paster

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

- Consider adding exclog to all scaffolds to print tracebacks to the console
  while the debug toolbar is enabled.

- Flesh out "paste" chapter.

- Move config-related stuff from "renderers" to config/rendering, and
  possibly mako/chameleon rendering stuff to config/rendering.

- _fix_registry should dictify the registry being fixed.

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

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

- Some sort of API for rendering a view callable object to a response from
  within another view callable.

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

- Alias the stupid long default session factory name.

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

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

Future
------

- 1.5: turn ``pyramid.settings.Settings`` into a function that returns the
  original dict (after ``__getattr__`` deprecation period, it was deprecated
  in 1.2).

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

- 1.3/1.4: Kill off dependencies on Paste for non-deployment-related
  features.

- 1.3/1.4: use zope.registry rather than zope.component.

- 1.3/1.4: get rid of zope.configuration dependency.

- 1.3: Michael's route group work

- 1.3: Add a default-view-config-params decorator that can be applied to a
  class which names defaults for method-based view_config decorator options.

- 1.4: Remove ``chameleon_text`` / ``chameleon_zpt`` deprecated functions
  (render_*)

- 1.4: Remove ``pyramid.configuration.ConfigurationError`` (deprecated).

- 1.4: Remove ``pyramid.paster.PyramidTemplate`` (deprecated).

- 1.3: Remove ``pyramid.renderers.renderer_from_name`` (deprecated).

- 1.5: Remove ``pyramid.requests.DeprecatedRequestMethodsMixin``.

- 1.4: Remove ``pyramid.settings.get_settings`` (deprecated).

- 1.5: Remove all deprecated ``pyramid.testing`` functions.

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.