forked from Pylons/pyramid
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO.txt
129 lines (80 loc) · 4.06 KB
/
TODO.txt
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
129
Pyramid TODOs
=============
Must-Have
---------
- Introspection:
* Review narrative docs.
* ``default root factory`` category?
* ``default view mapper`` category?
* get rid of "tweens" category (can't sort properly?)
* implement ptweens and proutes based on introspection instead of current
state of affairs.
* introspection hiding for directives?
- Fix deployment recipes in cookbook (discourage proxying without changing
server).
Nice-to-Have
------------
- Implement analogue of "paster request"?
- CherryPy server testing / exploded from CherryPy itself.
- Try "with transaction.manager" in an exception view with SQLA (preempt
homina homina response about how to write "to the database" from within in
an exception view).
- Add a default-view-config-params decorator that can be applied to a class
which names defaults for method-based view_config decorator options.
- Add narrative docs for wsgiapp and wsgiapp2.
- Flesh out "Paste" narrative docs chapter.
- 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).
- Add better docs about what-to-do-when-behind-a-proxy: paste.urlmap ("/foo =
app1" and "domain app1.localhost = app1"), ProxyPreserveHost and the nginx
equivalent, preserving HTTPS URLs.
- _fix_registry should dictify the registry being fixed.
- Make "localizer" a property of request (instead of requiring
"get_localizer(request)"?
- Alias the stupid long default session factory name.
- Debug option to print view matching decision (e.g. debug_viewlookup or so).
- 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.
- Deprecate pyramid.security.view_execution_permitted (it only works for
traversal).
- Create a function which performs a recursive request.
- Create a ``render_view`` that works by using config.derive_view against an
existing view callable instead of querying the registry (some sort of API
for rendering a view callable object to a response from within another view
callable). Possible idea: have config.add_view mark up the
function/method/class like @view_config does, then use the attached info to
derive a view callable whenever called via some API.
- Provide a ``has_view`` function.
- Update App engine chapter with less creaky directions.
Future
------
- 1.4: Kill off ``bfg.routes`` envvars in router.
- 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.4: Remove ``pyramid.settings.get_settings`` (deprecated).
- 1.5: Remove all deprecated ``pyramid.testing`` functions.
- 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.5: Remove ``pyramid.requests.DeprecatedRequestMethodsMixin``.
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.
- Supply ``X-Vhm-Host`` support (probably better to do what paste#prefix
middleware does).
- Have ``remember`` and ``forget`` actually set headers on the response using
a response callback (and return the empty list)?