summaryrefslogtreecommitdiff
path: root/TODO.txt
blob: 70d760f4569def319b7b86cf2a46b646322a79c9 (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
129
130
131
132
133
134
135
136
137
138
139
140
141
:mod:`repoze.bfg` TODOs
=======================

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

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

- Fix message catalog extraction / compilation documentation.

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

- ``decorator=`` parameter to bfg_view.

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

- Debug option to print route matching decision.

- Debug option to print view matching decision.

- Script or paster command that prints, for a given URL, the views
  that might match.  Underneath each potentially matching route, list
  the predicates required.  Underneath each route+predicate set, print
  each view that might match and its predicates.  E.g. with the input
  URL ``/foo``::

    '/foo' (foo_xhr)
       xhr = True
         (no view predicates)
           mypackage.views.MyXHRFooView.__call__

    '/{action}' (action_route)
       request_method = 'POST'
         action = '^foo$'
           mypackage.views.MyView.foo_POST
       request_method = 'GET'
         action = '^foo$'
           mypackage.views.MyView.foo_GET

- Ability to use configurator as a context manager.

- Provide a response_cookies attribute on the request for rendered
  responses that can be used as input to response.set_cookie.

- Raise an exception when a value in response_headerlist is not a
  string or decide to encode.

- Change "Cleaning up After a Request" in the urldispatch chapter to
  use ``request.add_response_callback``.

- Update App engine chapter.

- Browser id?

- .flash API on session.

- CRSF token machinery

- ``add_handler`` documentation.

- ``handler`` ZCML directive.

- ``docs`` directory for each paster template.

- "BFG" in environ variables.

- Test on GAE, Jython, PyPy, IronPython.

- Add docs for httpexceptions.

- RendererHelper -> RendererInfo?

- Do something about ZODB session chapter: either remove or create a
  pyramid_zodbsessions package.

- translationdir ZCML directive use of ``path_spec`` should maybe die.

- Option for route_url to omit the host and port (perhaps a different
  function named ``route_path``).

- SQLAlchemy idiomatics:

   <RaFromBRC> mcdonc: those paster templates all look pretty good... the
   only thing i'd consider is adjusting your config variable names to match
   exactly what sqlalchemy uses as parameter names, see here:
   http://www.sqlalchemy.org/docs/core/engines.html

   <RaFromBRC> mcdonc: especially in the pylons_sqla ini file, where the db
   initialization is mixed in w/ the app config...

   <RaFromBRC> ... i'd use "sqlalchemy.PARAMETER" for all of the sqla
   settings, so it could easily be handed to engine_from_config w/o any need
   to parse by hand

   <RaFromBRC> mcdonc: in the other ini files, where sqlalchemy is given its
   own part, the "sqlalchemy." prefix probably isn't necessary, but matching
   the parameter names (e.g. 'url' instead of 'db_string') is still probably
   a good idea

- Default renderer.

- Non-bwcompat use of threadlocals:

  security.principals_allowed_by_permission

  chameleon_text.TextTemplateRenderer.template (also uses get_settings)

  chameleon_zpt.ZPTTemplateRenderer.template (also uses get_settings)

  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.

- Add deprecation warnings for:

  - Use of chameleon_zpt and chameleon_text templating functions (use
    renderer API instead).

  - settings.get_settings

  - zcml.zcml_configure

  - zcml.file_configure

- Add static_url as method of request.