summaryrefslogtreecommitdiff
path: root/docs/narr
AgeCommit message (Collapse)Author
2009-06-21Make views that do not have a route_name match when any route is used.Chris McDonough
2009-06-19- Add interface docs related to how to create authentication policiesChris McDonough
and authorization policies to the "Security" narrative chapter.
2009-06-19- Added a (fairly sad) "Combining Traversal and URL Dispatch" chapterChris McDonough
to the narrative documentation.
2009-06-19Add a router chapter.Chris McDonough
2009-06-19Edit.Chris McDonough
2009-06-18IForbiddenView utility registration -> forbidden directiveChris McDonough
INotFoundView utility registry -> notfound directive
2009-06-18Document request-only calling convention.Chris McDonough
2009-06-11Document route_name (badly).Chris McDonough
2009-06-11Merge unifyroutesandtraversal branch into trunkChris McDonough
2009-06-07Extending explanation a little bitCarlos de la Guardia
2009-06-07Virtualenv needs the win32api package to workCarlos de la Guardia
2009-06-06typoCarlos de la Guardia
2009-06-03Subclass factories from dict in examples.Chris McDonough
2009-06-02Use bat instead of bash.Chris McDonough
2009-06-01Add headers.Chris McDonough
2009-05-31- The ``route`` ZCML directive now accepts ``request_type`` as anChris McDonough
alias for its ``condition_method`` argument for symmetry with the ``view`` directive.
2009-05-31- The ``request_type`` argument of ZCML ``view`` declarations andChris McDonough
``bfg_view`` decorators can now be one of the strings ``GET``, ``POST``, ``PUT``, ``DELETE``, or ``HEAD`` instead of a reference to the respective interface type imported from ``repoze.bfg.interfaces``.
2009-05-31GAE.Chris McDonough
2009-05-31- Add description to narrative templating chapter about how to useChris McDonough
Chameleon text templates.
2009-05-31Side effects.Chris McDonough
2009-05-31FeaturesChris McDonough
-------- - It is now possible to register a custom ``repoze.bfg.interfaces.INotFoundView`` for a given application. This feature replaces the ``repoze.bfg.interfaces.INotFoundAppFactory`` feature previously described in the Hooks chapter. The INotFoundView will be called when the framework detects that a view lookup done as a result of a reqest fails; it should accept a context object and a request object; it should return an IResponse object (a webob response, basically). See the Hooks narrative chapter of the BFG docs for more info. Deprecations ------------ - The ``repoze.bfg.interfaces.IUnauthorizedAppFactory`` interface has been deprecated in favor of using the new ``repoze.bfg.interfaces.IForbiddenResponseFactory`` mechanism.
2009-05-31- Renamed ``repoze.bfg.interfaces.IForbiddenResponseFactory`` toChris McDonough
``repoze.bfg.interfaces.IForbiddenView``.
2009-05-29New nosetests output.Chris McDonough
2009-05-28Docs for Windows people, add paster to index.Chris McDonough
2009-05-27Rendering.Chris McDonough
2009-05-27Don't mix the streams.Chris McDonough
2009-05-27(no commit message)Chris McDonough
2009-05-27(no commit message)Chris McDonough
2009-05-27From jpenny.Chris McDonough
2009-05-27- A paster command has been added named "bfgshell". This command canChris McDonough
be used to get an interactive prompt with your BFG root object in the global namespace. E.g.:: bin/paster bfgshell /path/to/myapp.ini myapp See the ``Project`` chapter in the BFG documentation for more information.
2009-05-27Merge authchanges branch to trunk.Chris McDonough
2009-05-26Revert all work towards creating a "forbidden" API on the security policy; ↵Chris McDonough
I'll do this work on the authchanges branch first.
2009-05-25IForbiddenAppFactory -> IForbiddenResponseFactory.Chris McDonough
2009-05-25Change the semantics of IForbiddenAppFactory.Chris McDonough
2009-05-24FeaturesChris McDonough
-------- - It is now possible to write a custom security policy that returns a customized ``Forbidden`` WSGI application when BFG cannot authorize an invocation of a view. To this end, ISecurityPolicy objects must now have a ``forbidden`` method. This method should return a WSGI application. The returned WSGI application should generate a response which is appropriate when access to a view resource was forbidden by the security policy (e.g. perhaps a login page). ``repoze.bfg`` is willing to operate with a custom security policy that does not have a ``forbidden`` method, but it will issue a warning; eventually security policies without a ``forbidden`` method will cease to work under ``repoze.bfg``. Note that the ``forbidden`` WSGI application returned by the security policy is not used if a developer has registered an IForbiddenAppFactory (see the "Hooks" narrative chapter); the explicitly registered IForbiddenAppFactory will be preferred over the (more general) security policy forbidden app factory. - All default security policies now have a ``forbidden`` callable attached to them. This particular callable returns a WSGI application which generates a ``401 Unauthorized`` response for backwards compatibility (had backwards compatibility not been an issue, this callable would have returned a WSGI app that generated a ``403 Forbidden`` response). Backwards Incompatibilities --------------------------- - Custom NotFound and Forbidden (nee' Unauthorized) WSGI applications (registered a a utility for INotFoundAppFactory and IUnauthorizedAppFactory) could rely on an environment key named ``message`` describing the circumstance of the response. This key has been renamed to ``repoze.bfg.message`` (as per the WSGI spec, which requires environment extensions to contain dots). Deprecations ------------ - The ``repoze.bfg.interfaces.IUnauthorizedAppFactory`` interface has been renamed to ``repoze.bfg.interfaces.IForbiddenAppFactory``.
2009-05-22Tweak.Chris McDonough
2009-05-22Tweak.Chris McDonough
2009-05-22Tweak.Chris McDonough
2009-05-22Import fix.Chris McDonough
2009-05-22Expand.Chris McDonough
2009-05-22note->warning.Chris McDonough
2009-05-21Tweaks.Chris McDonough
2009-05-21Disambiguate.Chris McDonough
2009-05-21Disambiguate.Chris McDonough
2009-05-21- Class objects may now be used as view callables (both via ZCML andChris McDonough
via use of the ``bfg_view`` decorator in Python 2.6 as a class decorator). The calling semantics when using a class as a view callable is similar to that of using a class as a Zope "browser view": the class' ``__init__`` must accept two positional parameters (conventionally named ``context``, and ``request``). The resulting instance must be callable (it must have a ``__call__`` method). When called, the instance should return a response. For example:: from webob import Response class MyView(object): def __init__(self, context, request): self.context = context self.request = request def __call__(self): return Response('hello from %s!' % self.context) See the "Views" chapter in the documentation and the ``repoze.bfg.view`` API documentation for more information.
2009-05-21- Removed the pickling of ZCML actions (the code that wroteChris McDonough
``configure.zcml.cache`` next to ``configure.zcml`` files in projects). The code which managed writing and reading of the cache file was a source of subtle bugs when users switched between imperative (e.g. ``@bfg_view``) registrations and declarative registrations (e.g. the ``view`` directive in ZCML) on the same project. On a moderately-sized project (535 ZCML actions and 15 ZCML files), executing actions read from the pickle was saving us only about 200ms (2.5 sec vs 2.7 sec average). On very small projects (1 ZCML file and 4 actions), startup time was comparable, and sometimes even slower when reading from the pickle, and both ways were so fast that it really just didn't matter anyway.
2009-05-16``get_options`` no longer exists.Chris McDonough
2009-05-16Speed up common case (use default factory).Chris McDonough
2009-05-16These are useless to explain; I don't even understand them.Chris McDonough
2009-05-16Remove non-sequitur.Chris McDonough