|
Getting Started With Zope
Created by .
Last modified on 2003/08/05.
About this How-To
This will probably always be work-in-progress,
but i think it's basically useful at this point. (klm 9/22/1999).
This how-to is about Zope, a network application server platform.
If "network application server platform" doesn't answer your
questions, then this how-to may be for you - it's intended to as
orientation, a concise Zope overview. Ultimately, i hope it's
useful to you as a jumping-off point for further investigations. As
such, I'll touch on many points, and tend to not delve very deeply
into any. When possible, however, I'll include links to resources
which do go into greater detail, which you can pursue as suits your
purposes.
Here is what's covered:
- "What Zope Is":#WhatIs
This section provides some fundamental orientation, and then
bunches of pointers to manuals, guides, and other reference
materials.
- Getting Zope Going
This is a bit of extra information for someone considering
running Zope - including a wild, seat-of-the-pants estimate at
the minimum hardware.
Formally, Zope is a web application server [1]. This means that
Zope is related to typical web servers, which "publish" information
on the web. However Zope is much more. Zope provides mechanisms
for processing the content, and a layer on top of that for
managing content via the web.
- Content management
Zope provides a comprehensive framework for management of web
content, via the web itself. An extensive, easy-to-use management
interface, comprehensive access control facilities, transactional
operation (eg, generic undo for any management operations), rich
document types, and other features enable much more than just the
ability to change content via the web. These capabilities enable
highly flexible and assured delegation of site management without
any resort to programming.
The primary Zope management manuals are:
- Programming Web Sites
Zope provides facilities, via the content management framework and
through lower level interfaces, for implementing programs that
function as part of the web site infrastructure. In essence, Zope
enables you to transform parts of your web site into programs that
interoperate with each other, other content on the site, and other
systems on your host and out on the network.
The canonical manual for Zope programmers is under development -
it will be called the Zope Developers Guide. There is a bunch
of more specific leads in the More Leads section,
below.
- The Combination
In reality, the Content Management interface is built on top of
Zope's programming facilities. These facilities (and many others)
are available as programming components. In turn, while there are
many ways that a programmer can change and extend Zope, much
programming can be accomplished via the content management
interface using a standard form of Zope content, known as Document
Template Markup Language (DTML).
In general, the content management interface is instrumental in
programming Zope, and conversely, content managers can avail
themselves of programming benefits in manageable steps, according
to their level of comfort and desire.
- The Open Source Context
It so happens that Zope's political/social context is another
crucial factor in the systems character. Zope is a prominent
example of an Open Source product, a phenomenon whereby some or
all software related to a system is freely available to the
public in source form. While Zope is a central product of
Digital Creations, a commercial company,
it is available to everyone free of charge, and in source form.
Though sometimes surprising, this can work in the interest of
everyone - Zope's creators and users. (For a serious peek at the
rationale behind this business model, see the
presentation
by Hadar Pedhazur, a primary Digital Creations investor.)
One crucial consequence of being open source is that the users -
content managers, programmers, and in between - can be intimately
involved in the development of the system, feeding back
information about problems, fixes, and extensions, to contribute
to its growth. This has particular significance in the context of
the Web/Internet, where collaboration - something which Zope
itself can facilitate - can have profound benefits.
In fact, the Zope site provides a central basis for collaboration
and education about Zope, with community members publishing
various contributions just by creating and releasing them on the
site. That URL is http://www.zope.org.
The Zope mailing lists, hosted at zope.org, provide another
central gathering place. They are potent sources of education,
support, and collaboration opportunities. A roster of these lists
is found at:
http://www.zope.org/Resources/MailingLists
Zope Intro:
- DevShed Intro
- Brian Lloyd (Digital Creations) presents an overview of Zope
- Jon Udell's Byte Intro
- A bit of crossover from a mainstream computer tech magazine
- Bobo and Principia
- Amos Latteier's (DC) more technical introduction to Zope,
soon after it became "Zope"
Zope Content Management:
Zope Programming:
- Zope distributions include basic documentation in the doc
subdir, in a bunch of text files. There's also a
README.txt in the distribution root directory.
-
Developer Documentation
has the growing repertoire of central docs.
- Contributed How-Tos
document Zope tips, tricks, and techniques. The page is
consolidated from the items that Zope.org members create
and designate for release.
- Contributed Tips
are like the How-Tos, but i think they're supposed to be a
bit smaller.
- The Zope Documentation Project has a
growing collection of community generated documentation.
The Community/Open Source:
[1] Zope is not, by any means, limited to web protocols. FTP and
webdav are some other supported access modes; the web just happens to
be the most prominent application domain.
Generally, you need a computer with a network connection. (You
can do without the network connection, but you definitely need
the computer.-)
Zope will run on Microsoft Windows (9x and NT) and many Unix
variants. Precompiled binaries are available for many of these
platforms, and Zope comes with a built in Web server, so you
don't need one of your own - and you can hook up Zope with the
prevalent Web servers, if you wish.
Zope is also available in source form, consisting of mostly
Python code plus several C extension modules - so if you wish to
build it yourself, you will need Python 1.5.2 or later and a C
compiler.
We have no definite answer concerning suitable system
capabilities. The parameters vary drastically depending on your
requirements. That said, we'll venture a seat-of-the-pants
minimum system.
For the reference point I'll use an intel processor, since
they're so prevalent.
For basic operation, you can probably make do with:
- a 166 MHz pentium class machine, or equivalent,
- with upwards of 64 MB of memory when running Windows 9x, or
- possibly less memory when running Linux
- probably more memory when running under Windows NT
For what it's worth, your mileage may vary all other things being
equal - caveat emptor. (All warranties are void if you fail to
fasten your seatbelts...-)
See the
Zope Administrator's Guide.
The various Zope distributions include complete installation
instructions - it all starts from the README.txt in the base
directory. There are some HowTo's with useful suplemental
information - notably, the
Zope/Apache Virtual Host HowTo .
|