Web Component Development with Zope 3

Philipp von Weitershausen

Publisher: Springer-Verlag, 2005, 467 pages

ISBN: 3-540-22359-2

Keywords: Python, Web Programming

Last modified: June 11, 2008, 1:29 p.m.

Zope is a powerful Python web application platform for developing complex web applications rapidly and collaboratively. Zope 2, especially in combina- tion with the Content Management Framework (CMF), has been the basis of several successful open source content management systems such as Plone. With version 3, Zope has been rebuilt on top of a Component Architecture that combines the best ideas available from modern web platforms.

This book focuses on Zope 3, though it also addresses the needs of Zope 2 developers who want to use Zope 3 features as they are backported into the Zope 2 platform. First, the key concepts of Zope and its Component Architecture are introduced. Each of Zope?s capabilities is demonstrated by building a sample application and then extending it with more features. The book is targeted towards all developers familiar with web technologies such as HTTP, (X)HTML and XML, and Zope's implementation language itself: Python.

  • Part I Beginner
    • 1 Introduction
      • 1.1 About this book
      • 1.2 What is Zope?
      • 1.3 Zope’s features
      • 1.4 The history of Zope
      • 1.5 The Python Programming Language
      • 1.6 Changes since Zope X3 3.0
    • 2 Zope and the Component Architecture
      • 2.1 How Zope works—an overview
      • 2.2 Introducing components
      • 2.3 Interfaces
      • 2.4 Content components
      • 2.5 Adapters
      • 2.6 Utilities
      • 2.7 Configuring components
      • 2.8 Security
    • 3 Installing Zope
      • 3.1 Requirements
      • 3.2 Download, compilation and installation
      • 3.3 Setting up a Zope instance
      • 3.4 The example application
    • 4 Interfaces
      • 4.1 Interface semantics
      • 4.2 Defining interfaces
      • 4.3 Declaring that an object provides an interface
      • 4.4 Verifying implementations
      • 4.5 Schemas
    • 5 Content Components
      • 5.1 Schema-based content
      • 5.2 Configuration via ZCML
      • 5.3 Content types
      • 5.4 Factories
    • 6 Persistency
      • 6.1 The problem of object storage
      • 6.2 Making persistent objects
      • 6.3 Working with persistent objects
      • 6.4 BTrees
    • 7 Simple Views and Browser Pages
      • 7.1 Introduction to views
      • 7.2 Page Templates
      • 7.2.1 TAL
      • 7.2.2 TALES
      • 7.2.3 Scopes
      • 7.3 A simple view Page Template
      • 7.4 Enhanced browser pages
    • 8 Browser Forms
      • 8.1 Schema-based forms
      • 8.2 Adding objects and add forms
      • 8.3 Custom widgets
  • Part II Intermediate
    • 9 Internationalization
      • 9.1 Overview
      • 9.2 Messages and translation domains
      • 9.3 Internationalizing an application
      • 9.3.1 Python code
      • 9.3.2 Page Templates
      • 9.3.3 ZCML
      • 9.4 Message catalogs
      • 9.5 Localization
    • 10 Customizing a Site’s Layout
      • 10.1 Layers and skins
      • 10.2 Page Template macros
      • 10.3 Custom skins
      • 10.4 Content providers and viewlets
    • 11 Adapters
      • 11.1 Size
      • 11.2 File representation
      • 11.3 Customizing an existing adapter
    • 12 Automated Testing
      • 12.1 Introduction
      • 12.2 Unit tests
      • 12.3 Doctests
      • 12.4 Running tests
      • 12.5 Integration tests
    • 13 Advanced Views
      • 13.1 Browser pages with non-HTML content
      • 13.2 Browser menus
      • 13.3 Other HTTP protocols
      • 13.3.1 WebDAV
      • 13.3.2 XML-RPC
    • 14 Metadata
      • 14.1 Annotations
      • 14.2 The Dublin Core
      • 14.3 Custom metadata
    • 15 Containers
      • 15.1 Object hierarchies and traversal
      • 15.2 Containment and location
      • 15.3 Containment constraints
      • 15.4 Names of contained objects
      • 15.5 File representation
    • 16 Events
      • 16.1 Introduction
      • 16.2 Object events
      • 16.3 Sending emails for event notification
  • Part III Expert
    • 17 Sources and Vocabularies
      • 17.1 Sources
      • 17.2 Vocabularies
      • 17.3 Using vocabularies
    • 18 Sites
      • 18.1 Introduction
      • 18.2 Local utilities
      • 18.3 Implementing sites
    • 19 Indexing and Searching
      • 19.1 Indexing and object references
      • 19.2 The catalog and its indices
      • 19.3 Querying the catalog for searching
      • 19.4 Database generations
    • 20 Browser Sessions
      • 20.1 Identifying clients
      • 20.2 Storing session data
      • 20.3 Using sessions
    • 21 Security
      • 21.1 Overview
      • 21.2 Permissions
      • 21.3 Roles
    • 22 Authentication and User Management
      • 22.1 The Pluggable Authentication Utility
      • 22.2 Login and logout with credential plug-ins
      • 22.3 Managing principals with authenticator plug-ins
      • 22.4 Principal metadata
    • 23 Debugging Zope
      • 23.1 Self-documenting code with APIDoc
      • 23.2 Online debugging tools
      • 23.3 Using the Python debugger
    • 24 Packaging and Deployment
      • 24.1 Packaging an application
      • 24.2 Preparing a production instance
      • 24.3 Virtual hosting
      • 24.4 Improving scalability
  • Part IV Appendices
    1. API Reference
    2. ZCML Reference

Reviews

Web Component Development with Zope 3

Reviewed by Roland Buresund

Very Good ******** (8 out of 10)

Last modified: June 11, 2008, 1:29 p.m.

A no-nonsense Zope 3 technical book.

A refreshingly technical view of the Zope 3 development environment and what you need when developing for Zope 3. Absolutely not for the beginner, this is an advanced book.

Comments

There are currently no comments

New Comment

required

required (not published)

optional

required

captcha

required