summaryrefslogtreecommitdiff
path: root/docs
AgeCommit message (Collapse)Author
2009-01-07Note existence of the ZODB template.Chris McDonough
2009-01-07Move change history down into its own section.Chris McDonough
2009-01-07- Add a method named ``assert_`` to the DummyTemplateRenderer. ThisChris McDonough
method accepts keyword arguments. Each key/value pair in the keyword arguments causes an assertion to be made that the renderer received this key with a value equal to the asserted value. - Projects generated by the paster templates now use the ``DummyTemplateRenderer.assert_`` method in their view tests.
2009-01-06Get new paster template accounted against unreleased version; fix inclusion ↵Tres Seaver
of changelog in docs.
2009-01-06Prepare for additional paster templates.Tres Seaver
2009-01-06Prep for 0.6.1.Chris McDonough
2009-01-06 - A ``static`` helper class was added to the ``repoze.bfg.views``Chris McDonough
module. Instances of this class are willing to act as BFG views which return static resources using files on disk. See the :mod:`repoze.bfg.view` docs for more info.
2009-01-05 New ModulesChris McDonough
- A new module ``repoze.bfg.url`` has been added. It contains the ``model_url`` API (moved from ``repoze.bfg.traversal``) and an implementation of ``urlencode`` (like Python's ``urllib.urlencode``) which can handle Unicode keys and values in parameters to the ``query`` argument. Deprecations - The ``model_url`` function has been moved from ``repoze.bfg.traversal`` into ``repoze.bfg.url``. It can still be imported from ``repoze.bfg.traversal`` but an import from ``repoze.bfg.traversal`` will emit a DeprecationWarning. Features - The ``repoze.bfg.url.model_url`` API (nee' ``repoze.bfg.traversal.model_url``) now accepts and honors a keyword argument named ``query``. The value of this argument will be used to compose a query string, which will be attached to the generated URL before it is returned. See the API docs (in the docs directory or `on the web <http://static.repoze.org/bfgdocs>`_) for more information.
2008-12-26Bump doc revision up.Chris McDonough
2008-12-21Explain.Chris McDonough
2008-12-21Fix.Chris McDonough
2008-12-21Add info about creating a static view.Chris McDonough
2008-12-21Use docs link rather than SVN link.Chris McDonough
2008-12-21Point at lemonade docs.Chris McDonough
2008-12-21 - Updated paster template "ez_setup.py" to one that requiresChris McDonough
setuptools 0.6c9. - Turn ``view_execution_permitted`` from the :mod:`repoze.bfg.view` module into a documented API. - Doc cleanups.
2008-12-21Typo.Chris McDonough
2008-12-21 Backwards Incompatibilities (Major)Chris McDonough
- Rather than prepare the "stock" implementations of the ZCML directives from the ``zope.configuration`` package for use under :mod:`repoze.bfg`, :mod:`repoze.bfg` now makes available the implementations of directives from the ``repoze.zcml`` package (see http://static.repoze.org/zcmldocs). As a result, the :mod:`repoze.bfg` package now depends on the ``repoze.zcml`` package, and no longer depends directly on the ``zope.component``, ``zope.configuration``, ``zope.interface``, or ``zope.proxy`` packages. The primary reason for this change is to enable us to eventually reduce the number of inappropriate :mod:`repoze.bfg` Zope package dependencies, as well as to shed features of dependent package directives that don't make sense for :mod:`repoze.bfg`. Note that currently the set of requirements necessary to use bfg has not changed. This is due to inappropriate Zope package requirements in ``chameleon.zpt``, which will hopefully be remedied soon. - BFG applications written prior to this release which expect the "stock" ``zope.component`` ZCML directive implementations (e.g. ``adapter``, ``subscriber``, or ``utility``) to function now must either 1) include the ``meta.zcml`` file from ``zope.component`` manually (e.g. ``<include package="zope.component" file="meta.zcml">``) and include the ``zope.security`` package as an ``install_requires`` dependency or 2) change the ZCML in their applications to use the declarations from `repoze.zcml <http://static.repoze.org/zcmldocs/>`_ instead of the stock declarations. ``repoze.zcml`` only makes available the ``adapter``, ``subscriber`` and ``utility`` directives. - The ``http://namespaces.repoze.org/bfg`` XML namespace is now the default XML namespace in ZCML for paster-generated applications. - The copies of BFG's ``meta.zcml`` and ``configure.zcml`` were removed from the root of the ``repoze.bfg`` package. In 0.3.6, a new package named ``repoze.bfg.includes`` was added, which contains the "correct" copies of these ZCML files; the ones that were removed were for backwards compatibility purposes. Other - The minimum requirement for ``chameleon.core`` is now 1.0b13. The minimum requirement for ``chameleon.zpt`` is now 1.0b7. The minimum requirement for ``chameleon.genshi`` is now 1.0b2.
2008-12-18Prep for 0.5.6.Chris McDonough
2008-12-17Fix bug found by jpenney.Chris McDonough
2008-12-17Prep for 0.5.5 release.Chris McDonough
2008-12-17Update traversal docs.Chris McDonough
2008-12-17 - In the past, during traversal, the ModelGraphTraverser (theChris McDonough
default traverser) always passed each URL path segment to any ``__getitem__`` method of a model object as a byte string (a ``str`` object). Now, by default the ModelGraphTraverser attempts to decode the path segment to Unicode (a ``unicode`` object) using the UTF-8 encoding before passing it to the ``__getitem__`` method of a model object. This makes it possible for model objects to be dumber in ``__getitem__`` when trying to resolve a subobject, as model objects themselves no longer need to try to divine whether or not to try to decode the path segment passed by the traverser. Note that since 0.5.4, URLs generated by repoze.bfg's ``model_url`` API will contain UTF-8 encoded path segments as necessary, so any URL generated by BFG itself will be decodeable by the traverser. If another application generates URLs to a BFG application, to be resolved successully, it should generate the URL with UTF-8 encoded path segments to be successfully resolved. The decoder is not at all magical: if a non-UTF-8-decodeable path segment (e.g. one encoded using UTF-16 or some other insanity) is passed in the URL, BFG will raise a ``TypeError`` with a message indicating it could not decode the path segment. To turn on the older behavior, where path segments were not decoded to Unicode before being passed to model object ``__getitem__`` by the traverser, and were passed as a raw byte string, set the ``unicode_path_segments`` configuration setting to a false value in your BFG application's section of the paste .ini file, for example:: unicode_path_segments = False Or start the application using the ``BFG_UNICODE_PATH_SEGMENT`` envvar set to a false value:: BFG_UNICODE_PATH_SEGMENTS=0
2008-12-14Prep for 0.5.4 release.Chris McDonough
2008-12-09Slight rewording.Chris McDonough
2008-12-09Add context.root to router so the root model can be easily accessed from a viewFernando Correa Neto
2008-12-07Prep for 0.5.3.Chris McDonough
2008-12-05Prepare for 0.5.2.Chris McDonough
2008-11-25Prep for 0.5.1.Chris McDonough
2008-11-25Add reference.Chris McDonough
2008-11-19 - Fix ModelGraphTraverser; don't try to change the ``__name__`` orChris McDonough
``__parent__`` of an object that claims it implements ILocation during traversal even if the ``__name__`` or ``__parent__`` of the object traversed does not match the name used in the traversal step or the or the traversal parent . Rationale: it was insane to do so. This bug was only found due to a misconfiguration in an application that mistakenly had intermediate persistent non-ILocation objects; traversal was causing a persistent write on every request under this setup. - ``repoze.bfg.location.locate`` now unconditionally sets ``__name__`` and ``__parent__`` on objects which provide ILocation (it previously only set them conditionally if they didn't match attributes already present on the object via equality). Prep for 0.5.0.
2008-11-17 - Add chameleon text template API (chameleon ${name} renderingsChris McDonough
where the template does not need to be wrapped in any containing XML). Prep for 0.4.9.
2008-11-17Continue the charade of telling people where to invoke things from.Chris McDonough
2008-11-17Explain in terms of virtualenv.Chris McDonough
2008-11-16Describe registration.Chris McDonough
2008-11-16Don't mention REST; I don't understand it obviously.Chris McDonough
2008-11-15Use elif.Chris McDonough
2008-11-15Don't mention XML-RPC.Chris McDonough
2008-11-15Grammar.Chris McDonough
2008-11-15Misspelling.Chris McDonough
2008-11-15Typo.Chris McDonough
2008-11-14Describe doing an HTTP redirect.Chris McDonough
2008-11-14Fix code and improve narrative.Chris McDonough
2008-11-14Models-as-class-only.Chris McDonough
API functions that act against models.
2008-11-14 - Document adding a request type interface to the request via aChris McDonough
subscriber function in the events narrative documentation.
2008-11-14(no commit message)Chris McDonough
2008-11-14 - Change the default paster template to register its single viewChris McDonough
against a class rather than an interface.
2008-11-14Note that subclasses work too.Chris McDonough
2008-11-14 - Document view registrations against classes andChris McDonough
``repoze.bfg.convention`` in context.
2008-11-14 - Change paster template ``tests.py`` to include a true unit test.Chris McDonough
Retain old test as an integration test. Update documentation.
2008-11-12 - ``repoze.bfg.traversal.model_url`` now always appends a slash toChris McDonough
all generated URLs unless further elements are passed in as the third and following arguments. Rationale: views often use ``model_url`` without the third-and-following arguments in order to generate a URL for a model in order to point at the default view of a model. The URL that points to the default view of the *root* model is technically ``http://mysite/`` as opposed to ``http://mysite`` (browsers happen to ask for '/' implicitly in the GET request). Because URLs are never automatically generated for anything *except* models by ``model_url``, and because the root model is not really special, we continue this pattern. The impact of this change is minimal (at most you will have too many slashes in your URL, which BFG deals with gracefully anyway). Prep for 0.4.8.