Introduction
Zope is an open source web application framework. It has three
distinct audiences:
- Site Managers
- individuals who use of Zope's "out of the box" features
to build websites. This audience is interested in making use
of Zope's existing array of features to create content
management solutions. They will likely make heavy use of
"through the web" scripting using DTML, Page Templates, and
Python Scripts as well as (of course) HTML and XML. They are
generally less concerned about code reuse than the speed with
which they can create a custom application or website.
- Developers
- individuals who wish to extend Zope to create
highly customized solutions. This audience is likely interested
in creating highly reusable custom code that makes Zope do something
new and interesting.
- Administrators
- individuals responsible for keeping a Zope
site running and performing installations and upgrades.
This guide is intended to document Zope for the second audience,
developers, as defined above. If you fit more into the "user"
audience defined above, you'll probably want to start by reading
The Zope Book . If
you fit more into the "administrator" audience defined above,
you'll likely be interested in The Zope Administrator's
Guide, although it
is currently unfinished.
Throughout this guide, it is assumed that you know how to program
in the Python programming language. Most
of the examples in this guide will be in Python. There are a number
of great resources and books for learning Python; the best online
resource is the Python.org web site and
many books can be found on the shelves of your local bookstore.
This book describes Zope's services to the developer from a
hands on, example-oriented standpoint. This book is not a complete
reference to the Zope API, but rather a practical guide to applying
Zope's services to develop and deploy your own web applications.
This book covers the following topics:
- Components and Interfaces
- Zope is moving toward a
component-centric development model. This chapter describes the
new component model in Zope and how Zope components are described
through interfaces.
- Object Publishing
- Developing applications for Zope involves
more than just creating a component, that component must be
publishable on the web. This chapter describes publication, and
how your components need to be designed to be published.
- Zope Products
- New Zope components are distributed and installed
in packages called "Products". This chapter explains Products in
detail.
- Persistent Components
- Zope provides a built-in, transparent
Python object database called ZODB. This chapter describes how to
create persistent components, and how they work in conjunction
with the ZODB.
- Acquisition
- Zope relies heavily on a dynamic technique called
acquisition. This chapter explores acquisition thoroughly.
- Security
- When your component is used by many different people
through the web, security becomes a big concern. This chapter
describes Zope's security API and how you can use it to make
security assertions about your object.
- Debugging and Testing
- Zope has built in debugging and testing
support. This chapter describes these facilities and how you can
debug and test your components.
- Appendix A
- Zope Core Permissions
- Appendix B
- Zope Directories
- Appendix C
- Zope Page Templates Reference