summaryrefslogtreecommitdiff
path: root/docs/index.rst
blob: 0e42a6b75f45479cc5777d31e87eae602f89191a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
.. _index:

===========
repoze.bfg
===========

:mod:`repoze.bfg` is a Python web application framework.  It is
inspired by :term:`Zope`, :term:`Pylons`, and :term:`Django`.  It uses
various Zope-related and Pylons-related libraries internally to do
much of its work.  :mod:`repoze.bfg` uses the WSGI protocol to handle
request and responses.

:mod:`repoze.bfg` is developed as part of the `Repoze
<http://repoze.org>`_ project by `Agendaless Consulting
<http://agendaless.com>`_ and other contributors.  It is licensed
under a `BSD-like license <http://repoze.org/license.html>`_.

Narrative documentation
=======================

Narrative documentation in chapter form explaining how to use
:mod:`repoze.bfg`.

.. toctree::
   :maxdepth: 2

   narr/introduction
   narr/install
   narr/project
   narr/startup
   narr/router
   narr/urlmapping
   narr/traversal
   narr/urldispatch
   narr/views
   narr/templates
   narr/models
   narr/security
   narr/hybrid
   narr/vhosting
   narr/events
   narr/environment
   narr/unittesting
   narr/hooks
   glossary

API documentation
=================

Per-module :mod:`repoze.bfg` API documentation.

.. toctree::
   :maxdepth: 2

   api/authentication
   api/authorization
   api/events
   api/interfaces
   api/location
   api/paster
   api/push
   api/router
   api/scripting
   api/security
   api/settings
   api/template
   api/testing
   api/traversal
   api/url
   api/view
   api/wsgi

Tutorials
=========

Step-by-step tutorials which demonstrate how you might use and deploy
:mod:`repoze.bfg`.

ZODB + traversal BFG Wiki tutorial, demonstrating how to build a
:term:`traversal` based application using :term:`ZODB` and
:term:`authentication`.  Good for people with prior Zope experience
(or no experience at all).

.. toctree::
   :maxdepth: 2

   tutorials/bfgwiki/index.rst

SQLAlchemy + url dispatch BFG Wiki tutorial, demonstrating how to
build a :term:`url dispatch` based application using
:term:`SQLAlchemy` and :term:`authentication`.  Good for people with
prior Pylons experience (or no experience at all).

.. toctree::
   :maxdepth: 2

   tutorials/bfgwiki2/index.rst

:mod:`repoze.bfg` for Zope CMF Developers

.. toctree::
   :maxdepth: 2

   tutorials/cmf/index.rst

:mod:`repoze.bfg` on Google's App Engine

.. toctree::
   :maxdepth: 2

   tutorials/gae/index.rst

Change History
==============

.. toctree::
   :maxdepth: 1

   changes

Sample Applications
===================

`repoze.cluegun <http://svn.repoze.org/repoze.cluegun/trunk/>`_ is a
simple pastebin application based on Rocky Burt's `ClueBin
<http://pypi.python.org/pypi/ClueBin/0.2.3>`_.  It demonstrates form
processing, security, and the use of :term:`ZODB` within a
:mod:`repoze.bfg` application.  It also has very simple
:term:`repoze.who` integration. Check this application out of
Subversion via::

  svn co http://svn.repoze.org/repoze.cluegun/trunk repoze.cluegun

`repoze.virginia <http://svn.repoze.org/repoze.virginia/trunk/>`_ is a
very simple dynamic file rendering application.  It is willing to
render structured text documents, HTML documents, and images from a
filesystem directory.  This application runs the `repoze.org
<http://repoze.org>`_ website.  Check this application out of
Subversion via::

  svn co http://svn.repoze.org/repoze.virginia/trunk repoze.virginia

`repoze.shootout <http://svn.repoze.org/repoze.shootout/trunk/>`_ is
an example "idea competition" application by Carlos de la Guardia.  It
demonstrates a hybrid of :term:`URL dispatch` and :term:`traversal`
and integration with `SQLAlchemy <http://www.sqlalchemy.org/>`_ and
:term:`repoze.who`.  Check this application out of Subversion via::

  svn co http://svn.repoze.org/repoze.shootout/trunk repoze.shootout

`bfgsite <http://svn.repoze.org/bfgsite/trunk>`_ is the software which
runs the `bfg.repoze.org <http://bfg.repoze.org>`_ website.  It
demonstrates integration with Trac, and includes several
mini-applications such as a pastebin and tutorial engine.  Check a
buildout for this application out of Subversion via::

  svn co http://svn.repoze.org/buildouts/bfgsite/ bfgsite_buildout

`KARL <http://karlproject.org>`_ is a moderately-sized application
(roughly 40K lines of Python code) built on top of :mod:`repoze.bfg`
and other Repoze software.  It is an open source web system for
collaboration, organizational intranets, and knowledge management, It
provides facilities for wikis, calendars, manuals, searching, tagging,
commenting, and file uploads.  See the `KARL site
<http://karlproject.org>`_ for download and installation details.

Support and Development
=======================

To report bugs, use the `Repoze bug tracker <http://bugs.repoze.org>`_.

If you've got questions that aren't answered by this documentation,
contact the `Repoze-dev maillist
<http://lists.repoze.org/listinfo/repoze-dev>`_ or join the `#repoze
IRC channel <irc://irc.freenode.net/#repoze>`_.

Browse and check out tagged and trunk versions of :mod:`repoze.bfg`
via the `Repoze Subversion repository
<http://http://svn.repoze.org/repoze.bfg/>`_.  To check out the trunk
via Subversion, use this command::

  svn co http://svn.repoze.org/repoze.bfg/trunk repoze.bfg

To find out how to become a contributor to :mod:`repoze.bfg`, please
see the `contributor's page <http://repoze.org/contributing.html>`_.

Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
* :ref:`glossary`