<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pyramid/docs/tutorials/bfgwiki/src/models, branch main</title>
<subtitle>Pyramid web framework (fork of https://github.com/Pylons/pyramid).</subtitle>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/pyramid/'/>
<entry>
<title>rename bfgwiki to wiki</title>
<updated>2010-10-25T21:41:12+00:00</updated>
<author>
<name>Chris McDonough</name>
<email>chrism@plope.com</email>
</author>
<published>2010-10-25T21:41:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/pyramid/commit/?id=4b679b4d7cf4a045293f9e652aee818cd8649dc3'/>
<id>4b679b4d7cf4a045293f9e652aee818cd8649dc3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>convert bfgwiki tutorial to pyramid</title>
<updated>2010-10-25T21:38:13+00:00</updated>
<author>
<name>Chris McDonough</name>
<email>chrism@plope.com</email>
</author>
<published>2010-10-25T21:38:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/pyramid/commit/?id=ae8e4ad63449212da28c6a169c36aac54ed38a9e'/>
<id>ae8e4ad63449212da28c6a169c36aac54ed38a9e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>first cut at converting bfg to pyramid</title>
<updated>2010-10-25T14:30:28+00:00</updated>
<author>
<name>Chris McDonough</name>
<email>chrism@plope.com</email>
</author>
<published>2010-10-25T14:30:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/pyramid/commit/?id=b60bdb238fbf7965121ef6073e70343428d6dc83'/>
<id>b60bdb238fbf7965121ef6073e70343428d6dc83</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>merge tutorialfix branch</title>
<updated>2010-10-13T23:55:28+00:00</updated>
<author>
<name>Chris McDonough</name>
<email>chrism@agendaless.com</email>
</author>
<published>2010-10-13T23:55:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/pyramid/commit/?id=3dbdfef11d770a5b79df08c01258e070ee8b7f70'/>
<id>3dbdfef11d770a5b79df08c01258e070ee8b7f70</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Normalize.</title>
<updated>2010-01-05T19:38:23+00:00</updated>
<author>
<name>Chris McDonough</name>
<email>chrism@agendaless.com</email>
</author>
<published>2010-01-05T19:38:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/pyramid/commit/?id=4a3a68da7707cdb3c1dfaf61a3fb8a29644d431d'/>
<id>4a3a68da7707cdb3c1dfaf61a3fb8a29644d431d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Features</title>
<updated>2010-01-03T03:39:30+00:00</updated>
<author>
<name>Chris McDonough</name>
<email>chrism@agendaless.com</email>
</author>
<published>2010-01-03T03:39:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/pyramid/commit/?id=eecdbc34962b00e35d41039af014462cf558acee'/>
<id>eecdbc34962b00e35d41039af014462cf558acee</id>
<content type='text'>
--------

- The ``Configurator.add_view`` method now accepts an argument named
  ``context``.  This is an alias for the older argument named
  ``for_``; it is preferred over ``for_``, but ``for_`` will continue
  to be supported "forever".

- The ``view`` ZCML directive now accepts an attribute named
  ``context``.  This is an alias for the older attribute named
  ``for``; it is preferred over ``for``, but ``for`` will continue to
  be supported "forever".

- The ``Configurator.add_route`` method now accepts an argument named
  ``view_context``.  This is an alias for the older argument named
  ``view_for``; it is preferred over ``view_for``, but ``view_for``
  will continue to be supported "forever".

- The ``route`` ZCML directive now accepts an attribute named
  ``view_context``.  This is an alias for the older attribute named
  ``view_for``; it is preferred over ``view_for``, but ``view_for``
  will continue to be supported "forever".

Documentation and Paster Templates
----------------------------------

- All uses of the ``Configurator.add_view`` method that used its
  ``for_`` argument now use the ``context``argument instead.

- All uses of the ``Configurator.add_route`` method that used its
  ``view_for`` argument now use the ``view_context``argument instead.

- All uses of the ``view`` ZCML directive that used its ``for``
  attribute now use the ``context`` attribute instead.

- All uses of the ``route`` ZCML directive that used its ``view_for``
  attribute now use the ``view_context`` attribute instead.



</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
--------

- The ``Configurator.add_view`` method now accepts an argument named
  ``context``.  This is an alias for the older argument named
  ``for_``; it is preferred over ``for_``, but ``for_`` will continue
  to be supported "forever".

- The ``view`` ZCML directive now accepts an attribute named
  ``context``.  This is an alias for the older attribute named
  ``for``; it is preferred over ``for``, but ``for`` will continue to
  be supported "forever".

- The ``Configurator.add_route`` method now accepts an argument named
  ``view_context``.  This is an alias for the older argument named
  ``view_for``; it is preferred over ``view_for``, but ``view_for``
  will continue to be supported "forever".

- The ``route`` ZCML directive now accepts an attribute named
  ``view_context``.  This is an alias for the older attribute named
  ``view_for``; it is preferred over ``view_for``, but ``view_for``
  will continue to be supported "forever".

Documentation and Paster Templates
----------------------------------

- All uses of the ``Configurator.add_view`` method that used its
  ``for_`` argument now use the ``context``argument instead.

- All uses of the ``Configurator.add_route`` method that used its
  ``view_for`` argument now use the ``view_context``argument instead.

- All uses of the ``view`` ZCML directive that used its ``for``
  attribute now use the ``context`` attribute instead.

- All uses of the ``route`` ZCML directive that used its ``view_for``
  attribute now use the ``view_context`` attribute instead.



</pre>
</div>
</content>
</entry>
<entry>
<title>Features</title>
<updated>2009-12-17T16:00:02+00:00</updated>
<author>
<name>Chris McDonough</name>
<email>chrism@agendaless.com</email>
</author>
<published>2009-12-17T16:00:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/pyramid/commit/?id=bc857e7e6e71a4001f03c608a18bac7dab36ccff'/>
<id>bc857e7e6e71a4001f03c608a18bac7dab36ccff</id>
<content type='text'>
--------

- The ``Configurator`` object now has two new methods: ``begin`` and
  ``end``.  The ``begin`` method is meant to be called before any
  "configuration" begins (e.g. before ``add_view``, et. al are
  called).  The ``end`` method is meant to be called after all
  "configuration" is complete.

  Previously, before there was imperative configuration at all (1.1
  and prior), configuration begin and end was invariably implied by
  the process of loading a ZCML file.  When a ZCML load happened, the
  threadlocal data structure containing the request and registry was
  modified before the load, and torn down after the load, making sure
  that all framework code that needed ``get_current_registry`` for the
  duration of the ZCML load was satisfied.

  Some API methods called during imperative configuration, (such as
  ``Configurator.add_view`` when a renderer is involved) end up for
  historical reasons calling ``get_current_registry``.  However, in
  1.2a5 and below, the Configurator supplied no functionality that
  allowed people to make sure that ``get_current_registry`` returned
  the registry implied by the configurator being used.  ``begin`` now
  serves this purpose.  Inversely, ``end`` pops the thread local
  stack, undoing the actions of ``begin``.

  We make this boundary explicit to reduce the potential for confusion
  when the configurator is used in different circumstances (e.g. in
  unit tests and app code vs. just in initial app setup).

  Existing code written for 1.2a1-1.2a5 which does not call ``begin``
  or ``end`` continues to work in the same manner it did before.  It
  is however suggested that this code be changed to call ``begin`` and
  ``end`` to reduce the potential for confusion in the future.

- All ``paster`` templates which generate an application skeleton now
  make use of the new ``begin`` and ``end`` methods of the
  Configurator they use in their respective copies of ``run.py`` and
  ``tests.py``.

Documentation
-------------

- All documentation that makes use of a ``Configurator`` object to do
  application setup and test setup now makes use of the new ``begin``
  and ``end`` methods of the configurator.

Bug Fixes
---------

- When a ``repoze.bfg.exceptions.NotFound`` or
  ``repoze.bfg.exceptions.Forbidden`` *class* (as opposed to instance)
  was raised as an exception within a root factory (or route root
  factory), the exception would not be caught properly by the
  ``repoze.bfg.`` Router and it would propagate to up the call stack,
  as opposed to rendering the not found view or the forbidden view as
  would have been expected.


</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
--------

- The ``Configurator`` object now has two new methods: ``begin`` and
  ``end``.  The ``begin`` method is meant to be called before any
  "configuration" begins (e.g. before ``add_view``, et. al are
  called).  The ``end`` method is meant to be called after all
  "configuration" is complete.

  Previously, before there was imperative configuration at all (1.1
  and prior), configuration begin and end was invariably implied by
  the process of loading a ZCML file.  When a ZCML load happened, the
  threadlocal data structure containing the request and registry was
  modified before the load, and torn down after the load, making sure
  that all framework code that needed ``get_current_registry`` for the
  duration of the ZCML load was satisfied.

  Some API methods called during imperative configuration, (such as
  ``Configurator.add_view`` when a renderer is involved) end up for
  historical reasons calling ``get_current_registry``.  However, in
  1.2a5 and below, the Configurator supplied no functionality that
  allowed people to make sure that ``get_current_registry`` returned
  the registry implied by the configurator being used.  ``begin`` now
  serves this purpose.  Inversely, ``end`` pops the thread local
  stack, undoing the actions of ``begin``.

  We make this boundary explicit to reduce the potential for confusion
  when the configurator is used in different circumstances (e.g. in
  unit tests and app code vs. just in initial app setup).

  Existing code written for 1.2a1-1.2a5 which does not call ``begin``
  or ``end`` continues to work in the same manner it did before.  It
  is however suggested that this code be changed to call ``begin`` and
  ``end`` to reduce the potential for confusion in the future.

- All ``paster`` templates which generate an application skeleton now
  make use of the new ``begin`` and ``end`` methods of the
  Configurator they use in their respective copies of ``run.py`` and
  ``tests.py``.

Documentation
-------------

- All documentation that makes use of a ``Configurator`` object to do
  application setup and test setup now makes use of the new ``begin``
  and ``end`` methods of the configurator.

Bug Fixes
---------

- When a ``repoze.bfg.exceptions.NotFound`` or
  ``repoze.bfg.exceptions.Forbidden`` *class* (as opposed to instance)
  was raised as an exception within a root factory (or route root
  factory), the exception would not be caught properly by the
  ``repoze.bfg.`` Router and it would propagate to up the call stack,
  as opposed to rendering the not found view or the forbidden view as
  would have been expected.


</pre>
</div>
</content>
</entry>
<entry>
<title>Updates.</title>
<updated>2009-11-28T05:16:50+00:00</updated>
<author>
<name>Chris McDonough</name>
<email>chrism@agendaless.com</email>
</author>
<published>2009-11-28T05:16:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/pyramid/commit/?id=7c4ee90fb28dcc352dbc8b5e6ffc31d27c02e947'/>
<id>7c4ee90fb28dcc352dbc8b5e6ffc31d27c02e947</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>More usage of setup and teardown.</title>
<updated>2009-11-10T05:17:22+00:00</updated>
<author>
<name>Chris McDonough</name>
<email>chrism@agendaless.com</email>
</author>
<published>2009-11-10T05:17:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/pyramid/commit/?id=3b2ad38748a3bfefb5cd67c7d024e70f34beb29f'/>
<id>3b2ad38748a3bfefb5cd67c7d024e70f34beb29f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Templates</title>
<updated>2009-11-10T05:03:02+00:00</updated>
<author>
<name>Chris McDonough</name>
<email>chrism@agendaless.com</email>
</author>
<published>2009-11-10T05:03:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/pyramid/commit/?id=c1bc021263d4ae2299851b809d5c4d0e48399f61'/>
<id>c1bc021263d4ae2299851b809d5c4d0e48399f61</id>
<content type='text'>
---------

- Remove ``ez_setup.py`` and its import from all paster templates,
  samples, and tutorials for ``distribute`` compatibility.  The
  documentation already explains how to install virtualenv (which will
  include some ``setuptools`` package), so these files, imports and
  usages were superfluous.

Deprecations
------------

- The ``options`` kw arg to the ``repoze.bfg.router.make_app``
  function is deprecated.  In its place is the keyword argument
  ``settings``.  The ``options`` keyword continues to work, and a
  deprecation warning is not emitted when it is detected.  However,
  the paster templates, code samples, and documentation now make
  reference to ``settings`` rather than ``options``.  This
  change/deprecation was mainly made for purposes of clarity and
  symmetry with the ``get_settings()`` API and dicussions of
  "settings" in various places in the docs: we want to use the same
  name to refer to the same thing everywhere.


</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
---------

- Remove ``ez_setup.py`` and its import from all paster templates,
  samples, and tutorials for ``distribute`` compatibility.  The
  documentation already explains how to install virtualenv (which will
  include some ``setuptools`` package), so these files, imports and
  usages were superfluous.

Deprecations
------------

- The ``options`` kw arg to the ``repoze.bfg.router.make_app``
  function is deprecated.  In its place is the keyword argument
  ``settings``.  The ``options`` keyword continues to work, and a
  deprecation warning is not emitted when it is detected.  However,
  the paster templates, code samples, and documentation now make
  reference to ``settings`` rather than ``options``.  This
  change/deprecation was mainly made for purposes of clarity and
  symmetry with the ``get_settings()`` API and dicussions of
  "settings" in various places in the docs: we want to use the same
  name to refer to the same thing everywhere.


</pre>
</div>
</content>
</entry>
</feed>
