You are not logged in Log in Join
You are here: Home » Members » klm » Getting Started With Zope

Log in
Name

Password

 

Getting Started With Zope

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.


What Is Zope?

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

More Leads

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.


Getting Zope Going

Preliminary Requirements and Obtaining Zope

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...-)

Installing Zope and Connecting with the Web

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 .