summaryrefslogtreecommitdiff
path: root/docs
AgeCommit message (Collapse)Author
2010-07-23- New argument to ``repoze.bfg.configuration.Configurator.add_route``Chris McDonough
and the ``route`` ZCML directive: ``traverse``. If you would like to cause the ``context`` to be something other than the ``root`` object when this route matches, you can spell a traversal pattern as the ``traverse`` argument. This traversal pattern will be used as the traversal path: traversal will begin at the root object implied by this route (either the global root, or the object returned by the ``factory`` associated with this route). The syntax of the ``traverse`` argument is the same as it is for ``path``. For example, if the ``path`` provided is ``articles/:article/edit``, and the ``traverse`` argument provided is ``/:article``, when a request comes in that causes the route to match in such a way that the ``article`` match value is '1' (when the request URI is ``/articles/1/edit``), the traversal path will be generated as ``/1``. This means that the root object's ``__getitem__`` will be called with the name ``1`` during the traversal phase. If the ``1`` object exists, it will become the ``context`` of the request. The Traversal narrative has more information about traversal. If the traversal path contains segment marker names which are not present in the path argument, a runtime error will occur. The ``traverse`` pattern should not contain segment markers that do not exist in the ``path``. A similar combining of routing and traversal is available when a route is matched which contains a ``*traverse`` remainder marker in its path. The ``traverse`` argument allows you to associate route patterns with an arbitrary traversal path without using a a ``*traverse`` remainder marker; instead you can use other match information. Note that the ``traverse`` argument is ignored when attached to a route that has a ``*traverse`` remainder marker in its path.
2010-07-15updateChris McDonough
2010-07-15FeaturesChris McDonough
-------- - New view predicate: match_val. The ``match_val`` value represents the presence of a value in the structure added to the request named ``matchdict`` during URL dispatch representing the match values from the route pattern (e.g. if the route pattern has ``:foo`` in it, and the route matches, a key will exist in the matchdict named ``foo``). Like all other view predicates, this feature is exposed via the ``bfg_view`` API, the Configurator ``add_view`` API, and the ZCML ``view`` directive. Documentation ------------- - API documentation for the ``add_view`` method of the configurator changed to include ``match_val``. - ZCML documentation for ``view`` ZCML directive changed to include ``match_val``. - The ``Views`` narrative chapter now contains a description of the ``match_val`` predicate. Bug Fixes --------- - The ``header`` predicate (when used as either a view predicate or a route predicate) had a problem when specified with a name/regex pair. When the header did not exist in the headers dictionary, the regex match could be fed ``None``, causing it to throw a ``TypeError: expected string or buffer`` exception. Now, the predicate returns False as intended. Internal -------- - Remove ``repoze.bfg.configuration.isclass`` function in favor of using ``inspect.isclass``.
2010-07-14prep for 1.3a5Chris McDonough
2010-07-14Describe bw incompatibilitiesChris McDonough
2010-07-13docs tweaksChris McDonough
2010-07-12- New internal exception: ``repoze.bfg.exceptions.URLDecodeError``.Chris McDonough
This URL is a subclass of the built-in Python exception named ``UnicodeDecodeError``. - When decoding a URL segment to Unicode fails, the exception raised is now ``repoze.bfg.exceptions.URLDecodeError`` instead of ``UnicodeDecodeError``. This makes it possible to register an exception view invoked specifically when ``repoze.bfg`` cannot decode a URL.
2010-07-07mention 2.7Chris McDonough
2010-07-07it does do i18n nowChris McDonough
2010-07-04prep for 1.3a4Chris McDonough
2010-07-04documentation updatesChris McDonough
2010-07-02update whatsnewChris McDonough
2010-07-02- The ``repoze.bfg.url.route_url`` API has changed. If a keywordChris McDonough
``_app_url`` is present in the arguments passed to ``route_url``, this value will be used as the protocol/hostname/port/leading path prefix of the generated URL. For example, using an ``_app_url`` of ``http://example.com:8080/foo`` would cause the URL ``http://example.com:8080/foo/fleeb/flub`` to be returned from this function if the expansion of the route pattern associated with the ``route_name`` expanded to ``/fleeb/flub``. - It is now possible to use a URL as the ``name`` argument fed to ``repoze.bfg.configuration.Configurator.add_static_view``. When the name argument is a URL, the ``repoze.bfg.url.static_url`` API will generate join this URL (as a prefix) to a path including the static file name. This makes it more possible to put static media on a separate webserver for production, while keeping static media package-internal and served by the development webserver during development.
2010-06-30more documentation fallout from allowing predicates access to route matching ↵Chris McDonough
information
2010-06-30document return valueChris McDonough
2010-06-30fix referencesChris McDonough
2010-06-30- A section named ``Custom Predicates`` was added to the URL DispatchChris McDonough
narrative chapter.
2010-06-23- The authorization chapter of the SQLAlchemy Wiki TutorialChris McDonough
(docs/tutorials/bfgwiki2) was changed to demonstrate authorization via a group rather than via a direct username.
2010-06-23whitespaceChris McDonough
2010-06-23do an indirection through a group at the behest of alex marandonChris McDonough
2010-06-18once-over on chrisw docsChris McDonough
2010-06-07A documented example of using Venusian to add your own decorator.Chris Withers
2010-05-24typoChris McDonough
2010-05-19blue penciling per jpenny's irc notes:Reed OBrien
<http://irclogs.rulim.de/%23repoze.2010-05-19.log.html#t2010-05-19T17:04:50>
2010-05-14jace noticed that this pointed at a nonexistent moduleChris McDonough
2010-05-11removed extra wordCarlos de la Guardia
2010-05-05Fix from teix.Chris McDonough
2010-05-03more trivial fixesCarlos de la Guardia
2010-05-03couple of trivial fixesCarlos de la Guardia
2010-05-02Fixed typos in the new 'Detecting Available Languages' section.Damien Baty
2010-05-01Prep for release.Chris McDonough
2010-05-01Fix Google chrome <pre> tag renderings.Chris McDonough
2010-05-01(no commit message)Chris McDonough
2010-05-01- A section entitled Detecting Available Languages was added to theChris McDonough
i18n narrative docs chapter.
2010-04-30Fixed grammar.Mike Naberezny
2010-04-29Wording.Chris McDonough
2010-04-29Next releaseChris McDonough
============ Paster Templates ---------------- - The ``bfg_alchemy`` and ``bfg_routesalchemy`` templates no longer register a ``handle_teardown`` event listener which calls ``DBSession.remove``. This was found by Chris Withers to be unnecessary. Documentation ------------- - The "bfgwiki2" (URL dispatch wiki) tutorial code and documentation was changed to remove the ``handle_teardown`` event listener which calls ``DBSession.remove``. - Any mention of the ``handle_teardown`` event listener as used by the paster templates was removed from the URL Dispatch narrative chapter.
2010-04-28(no commit message)Chris McDonough
2010-04-28Typo.Chris McDonough
2010-04-28(no commit message)Chris McDonough
2010-04-28Prep for 1.3a2.Chris McDonough
2010-04-27- Expanded portion of i18n narrative chapter docs which discussChris McDonough
working with gettext files.
2010-04-27FeaturesChris McDonough
-------- - A locale negotiator no longer needs to be registered explicitly. The default locale negotiator at ``repoze.bfg.i18n.default_locale_negotiator`` is now used unconditionally as... um, the default locale negotiator. - The default locale negotiator has become more complex. * First, the negotiator looks for the ``_LOCALE_`` attribute of the request object (possibly set by an :term:`event listener`). * Then it looks for the ``request.params['_LOCALE_']`` value. * Then it looks for the ``request.cookies['_LOCALE_']`` value. Backwards Incompatibilities --------------------------- - The default locale negotiator now looks for the parameter named ``_LOCALE_`` rather than a parameter named ``locale`` in ``request.params``. Behavior Changes ---------------- - A locale negotiator may now return ``None``, signifying that the default locale should be used. Documentation ------------- - Documentation concerning locale negotiation in the Internationalizationa and Localization chapter was updated.
2010-04-26Prep for 1.3a1.Chris McDonough
2010-04-25Comment out XXX lines.Chris McDonough
2010-04-25Add to what's new.Chris McDonough
2010-04-25- Add a new method of the Configurator named ``derive_view`` which canChris McDonough
be used to generate a BFG view callable from a user-supplied function, instance, or class. This useful for external framework and plugin authors wishing to wrap callables supplied by their users which follow the same calling conventions and response conventions as objects that can be supplied directly to BFG as a view callable. See the ``derive_view`` method in the ``repoze.bfg.configuration.Configurator`` docs.
2010-04-25Normalize ZCML vs. imperative as per other chapter formatting.Chris McDonough
2010-04-25Typo.Chris McDonough
2010-04-25Get proper i18n reference.Chris McDonough