summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-05-22 00:20:42 +0000
committerChris McDonough <chrism@agendaless.com>2009-05-22 00:20:42 +0000
commit060d7d620d70403341dd45d0607b35f53df0afa3 (patch)
treef4bd5507d325babb90b867724c6355d3cc37b9f5 /docs
parentfc3c09c74c999bfcbf4e65f9e87c2a924bb86d33 (diff)
downloadpyramid-060d7d620d70403341dd45d0607b35f53df0afa3.tar.gz
pyramid-060d7d620d70403341dd45d0607b35f53df0afa3.tar.bz2
pyramid-060d7d620d70403341dd45d0607b35f53df0afa3.zip
Cleanup.
Diffstat (limited to 'docs')
-rw-r--r--docs/glossary.rst142
1 files changed, 73 insertions, 69 deletions
diff --git a/docs/glossary.rst b/docs/glossary.rst
index f6b63a789..fa671b9cb 100644
--- a/docs/glossary.rst
+++ b/docs/glossary.rst
@@ -39,12 +39,17 @@ Glossary
Dotted Python name
A reference to a Python object by name using a string, in the form
``path.to.modulename:attributename``. Often used in Paste and
- setuptools configurations.
+ setuptools configurations. A variant is used in dotted names
+ within :term:`ZCML` attributes that name objects (such as the ZCML
+ "view" directive's "view" attribute): the colon (``:``) is not
+ used; in its place is a dot.
View
A "view" is a callable which returns a response object. It should
- accept two values: context and request.
+ accept two values: :term:`context` and :term:`request`. A view is
+ the primary mechanism by which a developer writes user interface
+ code within :mod:`repoze.bfg`.
View name
- The "URL name" of a view, e.g "index.html". If a view is
+ The "URL name" of a view, e.g ``index.html``. If a view is
configured without a name, its name is considered to be the empty
string (which implies the "default view").
Virtualenv
@@ -53,9 +58,11 @@ Glossary
Python. `virtualenv <http://pypi.python.org/pypi/virtualenv>`_
was created by Ian Bicking.
Model
- An object representing data in the system. A model is part of the
- object graph traversed by the system. Models are traversed to
- determine a context.
+ An object representing data in the system. If :mod:`traversal` is
+ used, a model is a node in the object graph traversed by the
+ system. If :mod:`url dispatch` is used, a model is generated for
+ each request. A model instance becomes the :term:`context` of a
+ :term:`view`.
Traversal
The act of descending "down" a graph of model objects from a root
model in order to find a :term:`context`. The :mod:`repoze.bfg`
@@ -64,22 +71,24 @@ Glossary
Router
The :term:`WSGI` application created when you start a
:mod:`repoze.bfg` application. The router intercepts requests,
- invokes traversal, calls view functions, and returns responses to
- the WSGI server on behalf of your :mod:`repoze.bfg` application.
+ invokes traversal and/or URL dispatch, calls view functions, and
+ returns responses to the WSGI server on behalf of your
+ :mod:`repoze.bfg` application.
URL dispatch
An alternative to graph traversal as a mechanism for locating a
:term:`context` for a :term:`view`. When you use :term:`Routes`
- in your :mod:`repoze.bfg` application via a ``<route>`` declaration in ZCML,
- you are using URL dispatch. See the :ref:`urldispatch_chapter` for more
- information.
+ in your :mod:`repoze.bfg` application via a ``<route>``
+ declaration in ZCML, you are using URL dispatch. See the
+ :ref:`urldispatch_chapter` for more information.
Context
An object in the system that is found during :term:`traversal` or
:term:`URL dispatch` based on URL data; if it's found via
- traversal, it's usually a :term:`model` object; if it's found via
- :term:`URL dispatch`, it's a manufactured context object that
- contains routing information. A context becomes the subject of a
- :term:`view`, and typically has security information attached to
- it. See the :ref:`traversal_chapter` chapter and the
+ traversal, it's usually a :term:`model` object that is part of an
+ object graph; if it's found via :term:`URL dispatch`, it's a
+ manufactured context object that contains routing information. A
+ context becomes the subject of a :term:`view`, and typically has
+ security information attached to it. See the
+ :ref:`traversal_chapter` chapter and the
:ref:`urldispatch_chapter` chapter for more information about how
a URL is resolved to a context.
Application registry
@@ -87,21 +96,13 @@ Glossary
other application-specific component registrations. Every
:mod:`repoze.bfg` application has one (and only one) application
registry, which is represented on disk by its ``configure.zcml``
- file.
+ file (and any other included .zcml files)
Template
A file with replaceable parts that is capable of representing some
text, XML, or HTML when rendered.
Location
The path to an object in a model graph. See :ref:`location_aware`
for more information about how to make a model object *location-aware*.
- Security policy
- An object that provides a mechanism to check authorization using
- authentication data and a permission associated with a model. It
- essentially returns "true" if the combination of the authorization
- information in the model (e.g. an :term:`ACL`) and the
- authentication data in the request (e.g. the ``REMOTE_USER``
- environment variable) allow the action implied by the permission
- associated with the view (e.g. ``add`` or ``read``).
Principal
A user id or group id.
Permission
@@ -144,7 +145,8 @@ Glossary
action. In bfg terms, this means determining whether, for a given
context, any :term:`principal` (or principals) associated with the
request have the requisite :term:`permission` to allow the request
- to continue.
+ to continue. Authorization in :mod:`repoze.bfg` is performed via
+ its :term:`security policy`.
Principal
A *principal* is a string or unicode object representing a user or
a user's membership in a group. It is provided by the
@@ -155,13 +157,13 @@ Glossary
indictate that Bob was represented by three principals: "bob",
"group foo" and "group bar".
Security Policy
- A security policy in bfg terms is a bit of code which accepts a
- request, the :term:`ACL` associated with a context, and the
- :term:`permission` associated with a particular view, and
- subsequently determines whether or not the principals associated
- with the request can perform the action associated with the
- permission based on the ACL found on the :term:`context` (or any
- of its parents).
+ A security policy in :mod:`repoze.bfg` terms is a bit of code
+ which accepts a request, the :term:`ACL` associated with a
+ context, and the :term:`permission` associated with a particular
+ view, and subsequently determines whether or not the principals
+ associated with the request can perform the action associated with
+ the permission based on the ACL found on the :term:`context` (or
+ any of its parents).
WSGI
`Web Server Gateway Interface <http://wsgi.org/>`_. This is a
Python standard for connecting web applications to web servers,
@@ -204,15 +206,15 @@ Glossary
:term:`WSGI` components together declaratively within an ``.ini``
file. It was developed by Ian Bicking as part of :term:`Paste`.
Chameleon
- `chameleon <http://pypi.python.org/pypi/chameleon.core>`_ is an
- attribute language template compiler which supports both the
- :term:`ZPT` and :term:`Genshi` templating specifications. It is
- written and maintained by Malthe Borch. It has serveral
- extensions, such as the ability to use bracketed (Genshi-style)
- ``${name}`` syntax, even within ZPT. It is also much faster than
- the reference implementations of both ZPT and Genshi.
- :mod:`repoze.bfg` offers Chameleon templating out of the box in
- ZPT flavor and offers the Genshi flavor as an add on within the
+ `chameleon <http://chameleon.repoze.org>`_ is an attribute
+ language template compiler which supports both the :term:`ZPT` and
+ :term:`Genshi` templating specifications. It is written and
+ maintained by Malthe Borch. It has serveral extensions, such as
+ the ability to use bracketed (Genshi-style) ``${name}`` syntax,
+ even within ZPT. It is also much faster than the reference
+ implementations of both ZPT and Genshi. :mod:`repoze.bfg` offers
+ Chameleon templating out of the box in ZPT flavor and offers the
+ Genshi flavor as an add on within the
:mod:`repoze.bfg.chameleon_genshi` package.
chameleon.zpt
``chameleon.zpt`` is the package which provides :term:`ZPT`
@@ -255,10 +257,11 @@ Glossary
ReStructuredText
A `plain text format <http://docutils.sourceforge.net/rst.html>`_
that is the defacto standard for descriptive text shipped in
- :term:`distribution` files, and Python docstrings.
+ :term:`distribution` files, and Python docstrings. This
+ documentation is authored in ReStructuredText format.
Root
The object at which :term:`traversal` begins when
- :mod:`repoze.bfg` searches for a context (for :term:`URL
+ :mod:`repoze.bfg` searches for a :term:`context` (for :term:`URL
Dispatch`, the root is *always* the context).
Subpath
A list of element "left over" after the :term:`router` has
@@ -266,22 +269,23 @@ Glossary
sequence of strings, e.g. ``['left', 'over', 'names']``.
Interface
A `Zope interface <http://pypi.python.org/pypi/zope.interface>`_
- object. In bfg, an interface may be attached to an model object
- or a request object in order to identify that the object is "of a
- type". Interfaces are used internally by :mod:`repoze.bfg` to
- perform view lookups and security policy lookups. Interfaces are
- exposed to application programmers by the ``view`` ZCML directive
- or the corresponding ``bfg_view`` decorator in the form of both
- the ``for`` attribute and the ``request_type`` attribute. They
- may be exposed to application developers when using the
- :term:`event` system as well. Fundamentally, :mod:`repoze.bfg`
- programmers can think of an interface as something that they can
- attach to an object that stamps it with a "type" unrelated to its
- underlying Python type. Interfaces can also be used to describe
- the behavior of an object (its methods and attributes), but unless
- they choose to, :mod:`repoze.bfg` programmers do not need to
- understand or use this feature of interfaces. In other words, bfg
- developers need to only understand "marker" interfaces.
+ object. In :mod:`repoze.bfg`, an interface may be attached to an
+ model object or a request object in order to identify that the
+ object is "of a type". Interfaces are used internally by
+ :mod:`repoze.bfg` to perform view lookups and security policy
+ lookups. Interfaces are exposed to application programmers by the
+ ``view`` ZCML directive or the corresponding ``bfg_view``
+ decorator in the form of both the ``for`` attribute and the
+ ``request_type`` attribute. They may be exposed to application
+ developers when using the :term:`event` system as
+ well. Fundamentally, :mod:`repoze.bfg` programmers can think of an
+ interface as something that they can attach to an object that
+ stamps it with a "type" unrelated to its underlying Python type.
+ Interfaces can also be used to describe the behavior of an object
+ (its methods and attributes), but unless they choose to,
+ :mod:`repoze.bfg` programmers do not need to understand or use
+ this feature of interfaces. In other words, bfg developers need
+ to only understand "marker" interfaces.
Event
An object broadcast to zero or more :term:`subscriber` callables
during normal system operations. :mod:`repoze.bfg` emits events
@@ -292,7 +296,7 @@ Glossary
Application-code generated events may be subscribed to in the same
way as system-generated events.
Subscriber
- A callable which receives an event. A callable becomes a
+ A callable which receives an :term:`event`. A callable becomes a
subscriber through an application registry registration. See
:ref:`events_chapter` for more information.
Request type
@@ -313,20 +317,20 @@ Glossary
``repoze.bfg.interfaces.INewRequest`` event type.
repoze.lemonade
Zope2 CMF-like `data structures and helper facilities
- <http://static.repoze.org/lemonadedocs>`_ for
- CA-and-ZODB-based applications useful within bfg applications.
+ <http://docs.repoze.org/lemonade>`_ for CA-and-ZODB-based
+ applications useful within bfg applications.
repoze.catalog
An indexing and search facility (fielded and full-text) based on
- `zope.index <http://pypi.python.org/pypi/zope.index>`_. See
- `the documentation <http://static.repoze.org/catalogdocs>`_ for more
+ `zope.index <http://pypi.python.org/pypi/zope.index>`_. See `the
+ documentation <http://docs.repoze.org/catalog>`_ for more
information.
repoze.who
- `Authentication middleware <http://static.repoze.org/whodocs>`_
- for :term:`WSGI` applications. It can be used by
- :mod:`repoze.bfg` to provide authentication information.
+ `Authentication middleware <http://docs.repoze.org/who>`_ for
+ :term:`WSGI` applications. It can be used by :mod:`repoze.bfg` to
+ provide authentication information.
repoze.workflow
`Barebones workflow for Python apps
- <http://static.repoze.org/workflowdocs>`_ . It can be used by
+ <http://docs.repoze.org/workflow>`_ . It can be used by
:mod:`repoze.bfg` to form a workflow system.
Virtual root
A model object representing the "virtual" root of a request; this