• Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL



Who Should Use This Book

This book is designed for any developer who wants to build next generation Web applications using the popular Open Source Web Application Server—Zope.

We hope that this book will help you appreciate how Zope can significantly reduce the time it takes to build complex Web applications.

If you've never downloaded Zope, you'll be surprised to find how small the standard distribution of Zope is (at the time of writing, the .tgz archive or self-extracting Zip archive is less than 5MB). However, when you unzip and/or untar your Zope installation, you'll be pleased to find that it comes with every thing you need to start your first experiments, such as an object-oriented database and Web server.

Whether you're a seasoned Zope developer looking to learn new tricks or an aspiring Web application developer interested in acquiring some Zope Zen, we trust you'll find what you're looking for in this book. We assume that you have already mastered a programming or scripting language, such as Python (the language in which much of Zope was written) as well as some Structured Query Language (SQL). Building on what you already know, we'll teach you how to use ZClasses and DTML for basic prototyping, introduce you to several great Zope Products that can be easily customized, and how to use some of the hundreds of available Python modules that cover everything related to the generation of dynamic graphs and PDF documents.

How to Use This Book

After we've covered basics, such as the installation of Zope, we'll explain how to compile a database adapter so that you can hook a relational database to Zope. If you're not interested in working with a relational database but prefer to use Zope's built-in database (ZODB) instead, feel free to skip Chapter 3, “Connecting Zope to External Relational Databases.”

Of course, you always use the ZODB when working with Zope because the objects you create are stored within it. In Chapter 3, you will find a section dedicated to the ZODB.

If you're interested in learning how to generate dynamic PDF files and how to deliver them via Zope, feel free to jump to Chapter 12, “Generating Dynamic PDFs.” However, please be aware that throughout the book we are gradually trying to impart some Zope Zen; if you skip and jump all around the book, you might miss some important connections.

We do encourage you to find the pace you feel comfortable with and to experiment. After you've got Zope installed, its Web management interface is surprisingly versatile, allowing you to control almost all of Zope's functions and code. As a result, getting into Zope is surprisingly easy and addictive!

Section I: Introduction and Review

Section I of this book introduces Zope and the philosophy behind it—the so-called Zope Zen. It describes what project Zope is best used for, how to install and configure Zope, and how to connect it to your database. The last part of the section describes Zope's own programming language.

Chapter 1, “The Zope Web Application Construction Kit,” explains what Zope is and basic Zope concepts. It also introduces Zope products and Python modules that can be used to expand Zope's functions and can be modified to fit your needs.

In Chapter 2, “Installation and Configuration,” you learn how to install Zope on the Windows and UNIX platforms, using Linux as an example. It also explains what the ZServer is and how to run Zope with it or Apache.

Chapter 3, “Connecting Zope to External Relational Databases,” describes how to connect external relational databases to Zope via database adapters that already exist for the most common databases, such as Oracle, Sybase, MySQL, and Postgres. It explains how to send information from and to the database by using SQL statements.

Chapter 4, “Building a Prototype,” explores Zope's Document Template Markup Language (DTML), Zope's Undo System, and ZClasses that make for a great prototyping combination. It shows how to create a message board with a ZClass and how the board's entries are stored in a database.

Section II: Building a Portal and Adding Services

In Section II, you learn how to create a portal where members can interact with each other and how a content management system helps you to more easily maintain a Web site. All this is done by taking existing Zope products and modifying them to your own needs.

Chapter 5, “The Content Management Framework (CMF),” introduces the free, open-source Zope product CMF. The CMF provides a basic portal where logged-in members can publish contents and interact with each other. This chapter explains how to install the CMF and how to change its design and create new content types.

Chapter 6, “The MetaPublisher,” introduces the Metapublisher, a free Zope product that helps you to easily create things like guestbooks or photo galleries. This chapter explains the basic usage of the MetaPublisher and shows how it can be used in conjunction with the CMF portal to allow the portal member to add entries.

Chapter 7, “Creating a Threaded Discussion Group,” shows how to integrate an existing discussion product into a CMF portal and how to modify it for your own needs.

Chapter 8, “Creating Polls and Surveys,” describes different Zope products that, when modified properly, can help you find out how well your site and Web applications are received by its users.

Section III: More Cool Web Applications

Section III offers an overview of other Web applications that help you make your Web site more accessible for visitors and shows you the best way to add a search engine. We also cover more advanced Python modules and how to integrate them into Zope to generate dynamic graphs and PDFs.

In Chapter 9, “Automatically Building Sitemaps,” you learn why sitemaps are useful and how to create a dynamic sitemap using Zope's integrated Tree- and In-Tag. The chapter also introduces an existing sitemap product NFGnav and shows you how to modify them to meet your needs.

Chapter 10, “Adding Search Capabilities,” teaches you how to effectively add a search engine to your Web site or portal by using the ZCatalog, a search engine that comes with Zope.

In Chapter 11, “Creating Dynamic Graphs in Zope,” you learn how to use the Python Image Library (PIL) and the occasional Zope product to create dynamic graphs in Zope that show, for example, the results of a survey or poll in the form of a pie chart or bar graph.

Chapter 12, “Generating Dynamic PDFs,” shows you how to use The ReportLab Library, a very powerful system to create dynamic Adobe Acrobat (PDF) files for documents, such as reports or contracts that can then be delivered in a customized form via Zope.

  • Creative Edge
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint