summaryrefslogtreecommitdiff
path: root/docs/tutorials/cmf/index.rst
blob: 26aa336a9939e77e73f44c46dc1d95fbeb593f0a (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
Converting an Existing Zope/CMF Application to :app:`Pyramid`
================================================================

The Zope `Content Management Framework
<http://www.zope.org/Products/CMF/>`_ (aka CMF) is a layer on top of
:term:`Zope` 2 that provides facilities for creating content-driven
websites.  It's reasonably easy to convert a modern Zope/CMF
application to :app:`Pyramid`.

The main difference between CMF and :app:`Pyramid` is that :app:`Pyramid`
does not advertise itself as a system into which you can plug arbitrary
"packages" that extend a system-supplied management user interface.  You
*could* build a CMF-like layer on top of :app:`Pyramid` but none currently
exists.  For those sorts of high-extensibility, highly-regularized-UI
systems, CMF is still the better choice.

:app:`Pyramid` (and other more lightweight systems) is often a
better choice when you're building the a user interface from scratch,
which often happens when the paradigms of some CMF-provided user
interface don't match the requirements of an application very closely.
Even so, a good number of developers tend to use CMF even when they do
start an application for which they need to build a UI from scratch,
because CMF happens to provide other helpful services, such as types,
skins, and workflow; this tutorial is for those sorts of developers
and projects.

.. toctree::
   :maxdepth: 2

   content.rst
   catalog.rst
   skins.rst
   actions.rst
   workflow.rst
   missing.rst