The Book of Zope
How to Build and Deliver Web Applications
Publisher: No Starch, 2001 , 403 pages
ISBN: 1-886411-57-3
Synopsis:
- Toggle Synopsis
-
Zope, the leading Open Source Web application server, helps teams of developers create and manage dynamic, Web-based business applications like Intranets and portals. Zope makes it easy to add features such as site search, news, personalization, and e-commerce. The Book of Zope is a comprehensive introduction to Zope, covering installation; DTML programming; concepts such as users, roles, and permissions; ZClasses; ZCatalog; databases; programming Zope with Python; debugging; and the use of external data sources. Zope runs on Windows and almost all Unix-based platforms, and includes its own Web server, transactional object-oriented database, search engine, Web page templating system, Web development and management tool, and comprehensive extension support.
Table of Contents:
- Toggle Table of Contents
-
- Chapter 1: Zope Fundamentals
- 1.1 Web Applications
- 1.1.1 The Advantages of Zope for Web Application Programmers
- 1.2 Zope As a Web Application Server
- 1.2.1 "Content-by-Role"
- 1.2.2 SQL = Structured Query Language
- 1.2.3 Python
- 1.3 Zope as a Content Management Server
- 1.3.1 Open Source Software
- 1.4 Technical Requirements
- 1.4.1 Hardware Requirements
- 1.5 Installation
- 1.5.1 Windows
- 1.5.2 Windows NT
- 1.5.3 Linux
- Summary
- Chapter 2: QuickStart
- 2.1 Preparations
- 2.1.1 Creating a User Account
- 2.2 Zope's Interface: The Management Screen macs
- 2.2.1 The Left Frame of the Management Screen
- 2.2.2 The Right Frame of the Management Screen
- 2.3 Zope Objects
- 2.3.1 Zope and Object-Oriented Programming
- 2.3.2 Creating a Folder
- 2.3.3 Creating Files
- 2.3.4 DTML Documents and Methods
- 2.3.5 Creating a DTML Document
- 2.3.6 Creating a DTML Method
- 2.4 Managing Objects
- 2.4.1 Changing an Object ID
- 2.4.2 Changing an Object Title
- 2.4.3 Copying Objects
- 2.4.4 Deleting Objects
- 2.4.5 Moving Objects
- 2.5 Acquisition and Standard Objects
- 2.5.1 Standard Objects
- Summary
- Chapter 3: Navigating Zope
- 3.1 The Zope Tab Bar
- 3.1.1 The Contents Tab
- 3.1.2 The Edit Tab and Edit Screen
- 3.1.3 The View Tab
- 3.1.4 The Ownership Tab
- 3.1.5 The History Tab
- 3.1.6 The Properties Tab
- 3.1.7 The Undo Tab
- 3.1.8 The Find Tab
- 3.1.9 The Import/Export Tab
- 3.2 The Help Button
- 3.2.1 Contents
- 3.2.2 Search
- 3.3 The Control Panel
- 3.3.1 Shutdown
- 3.3.2 Restart
- 3.3.3 The Database Management Screen
- 3.3.4 Managing your Zope Database with Pack
- 3.3.5 Restoring Your Saved Data.fs File
- 3.3.6 Copying Your Database to Another Zope Serve
- 3.3.7 Version Management
- 3.3.8 Product Management
- 3.3.9 Debugging Information
- Summary
- Chapter 4: DTML
- 4.1 Essentials
- 4.1.1 First, Second, and Third Tiers
- 4.1.2 Variables
- 4.1.3 The DTML Namespace
- 4.2 DTML Syntax
- 4.2.1 Empty and Non-Empty Tags
- 4.2.2 Old DTML Syntax
- 4.2.3 Abbreviating Attributes
- 4.3 Using DTML Tags, Variables, and Attributes
- 4.3.1 The var Tag
- 4.3.2 The Namespace Variable
- 4.3.3 Client-Server Communication over the Web
- 4.3.4 The call Tag
- 4.3.5 The if Tag
- 4.3.6 The elif Tag
- 4.3.7 The unless Tag
- 4.3.8 The with Tag
- 4.3.9 The let Tag
- 4.3.10 The in Tag
- 4.3.11 The tree Tag
- 4.3.12 The Sendmail Tag
- 4.3.13 The MIME Tag and the boundary Tag
- 4.3.14 The comment Tag
- 4.3.15 The try and the except Tags
- 4.3.16 The finally Tag
- 4.3.17 The raise Tag
- 4.3.18 The return Tag
- Summary
- Chapter 5: Working with Zope Versions
- 5.1 Creating a Version
- 5.2 Joining and Leaving a Version
- 5.3 Working in a Version
- 5.3.1 Updating Objects
- 5.3.2 Saving and Discarding Changes Using the Control Panel
- 5.4 Deleting a Version
- 5.5 Working with Multiple Versions
- 5.6 An Example
- Summary
- Chapter 6: Users, Roles, and Security
- 6.1 Zope's Security Structure
- 6.1.1 User Roles
- 6.1.2 Zope Roles: Anonymous, Manager, Owner
- 6.1.3 Assigning and Creating Roles
- 6.1.4 Assigning Permissions Using Acquisition
- 6.1.5 Ownership
- 6.2 Managing Users
- 6.2.1 Creating Users
- 6.2.2 Modifying a User
- 6.2.3 Creating New Roles
- 6.3 Managing Users in DTML
- 6.3.1 Creating Users in DTML
- 6.3.2 Problems when Creating Users in DTML
- 6.3.3 Changing Users in DTML
- 6.3.4 Deleting Users in DTML
- 6.3.5 User Folder Methods
- Summary
- Chapter 7: Local Roles and Permissions
- 7.1 Local Roles
- 7.1.1 Example
- 7.2 Proxy Roles
- 7.3 Permissions
- 7.3.1 Permissions for Non-Folderish Objects
- 7.3.2 Permissions for Folderish Objects
- Summary
- Chapter 8: Some Methods for the Role.py and User.py Modules
- 8.1 Calling Methods
- 8.2 Methods for the Module Role.py
- 8.2.1 Methods for the User.py Module
- 8.3 Example: Authentication
- 8.3.1 DTML Method login_html
- 8.3.2 DTML Document index_html
- 8.3.3 The two views of index_html
- 8.3.4 Assigning Permissions for login_html
- Summary
- Chapter 9: ZClasses
- 9.1 Why Use ZClasses?
- 9.1.1 Example ZClass Application: Bookstore
- 9.2 Classes and Objects
- 9.2.1 Creating a ZClass
- 9.2.2 Example: CarClass
- 9.2.3 Identification Numbers
- 9.2.4 Property Sheets
- 9.3 Creating a ZClass
- 9.3.1 Creating a Product
- 9.3.2 Adding a ZClass to the Product
- 9.3.3 The Create Constructor Objects Checkbox
- 9.3.4 Changing the ZClass Information
- 9.3.5 Base Classes and Their Views
- 9.3.6 Creating a Property Sheet and Properties
- 9.3.7 Creating a Selection or Multiple Selection Property
- 9.3.8 Establishing Views
- 9.3.9 Creating Help Topics
- 9.3.10 Editing Properties
- Summary
- Chapter 10: Working with the ZClass
- 10.1 Modifying the Constructor Methods
- 10.1.1 Modifying DTML Methods
- 10.1.2 Creating Objects with ZClasses
- 10.1.3 The Book Class Factory
- 10.2 Running the Store
- 10.3 Two Ways to Edit Your Book Objects
- 10.3.1 Working in the Books Folder with the Management Screen
- 10.3.2 Working with an Administration Interface
- 10.3.3 Admin_html DTML Methods
- 10.4 Selling Your Books
- 10.4.1 Creating index_html
- 10.4.2 Creating the DTML Methods for Ordering Books
- 10.4.3 Sending the Order
- 10.5 Ideas for Expanding Your Zope Product
- Summary
- Chapter 11: The ZCatalog
- 11.1 Creating a ZCatalog
- 11.1.1 Choosing a Vocabulary
- 11.1.2 Globbing
- 11.2 The ZCatalog Screens
- 11.2.1 Contents Screen
- 11.2.2 The Catalog Screen
- 11.2.3 The Find Objects Screen
- 11.2.4 Metadata Screen
- 11.2.5 Indexes Screen
- 11.2.6 Advanced Screen
- 11.3 Z Search Interface
- 11.3.1 The Search Page
- 11.3.2 The Results Page
- 11.4 ZCatalog Queries
- 11.4.1 Querying ZCatalogs from a Form
- 11.4.1 Querying ZCatalogs from a Form
- 11.4.2 Catalog Brains
- 11.4.3 Querying ZCatalogs Directly
- 11.5 The Vocabulary
- 11.5.1 The Vocabulary Screen
- 11.5.2 Searching the Vocabulary
- 11.5.3 Expanding the Vocabulary: The insert() and manage_insert() Methods
- 11.5.4 ZCatalog with Special Characters
- Summary
- Chapter 12: Zope and MySQL
- 12.1 ZODB or External Database?
- 12.2 RDMBS
- 12.3 The MySQL Database
- 12.3.1 Starting MySQL Monitor
- 12.3.2 Creating a Database with MySQL Monitor
- 12.3.3 Creating the User Data Table with MySQL Monitor
- 12.3.4 Installing the Database Adapter ZMySQLDA
- 12.3.5 Establishing a Z MySQL Connection in Zope
- 12.3.6 Testing SQL Queries to Your Database
- 12.4 Filling Tables with User Data Using Zope
- 12.4.1 The userAddForm_html Method
- 12.4.2 The userAdd_html Method
- 12.4.3 The userInsert_sql Method
- 12.4.4 Testing Your SQL Methods
- 12.5 Querying the Database Using Zope
- 12.5.1 Creating SQL Methods for Searching
- 12.5.2 The sqltest Tag
- 12.5.3 The sqlvar Tag
- 12.6 Creating a Search Interface
- 12.6.1 Creating an Input Screen for the Search
- Summary
- Chapter 13: Programming Zope: Python in a Jiffy
- 13.1 Data Types
- 13.1.1 Numeric Types
- 13.1.2 Sequential Types
- 13.1.3 None
- 13.2 Operators
- 13.3 Variables and Assignments
- 13.4 Indention
- 13.5 Classes and Methods
- 13.5.1 Example: Creating a Class
- Summary
- Chapter 14: Scripting Zope with Python
- 14.1 Zope Python Scripts
- 14.1.1 Creating Python Scripts
- 14.1.2 Edit Management Screen
- 14.1.3 Bindings Management Screen
- 14.1.4 Test Management Screen
- 14.1.5 Importing Modules into Python Scripts
- 14.1.6 Calling Python Scripts from DTML
- 14.1.7 Example: Creating a Zope Python Script
- 14.1.8 Using the Script from DTML
- 14.2 External Methods
- 14.2.1 Creating External Methods
- 14.2.2 Accessing Python Methods with DTML
- 14.2.3 Example: Creating an External Method
- 14.2.4 Creating an External Method Object in Zope
- 14.2.5 Summary of Creating External Methods
- 14.3 Using External Methods to Change Roles and Permissions
- 14.3.1 Changing Permissions for Multiple Roles
- 14.3.2 permission_settings()
- 14.3.3 The Permission Method Step-by-Step
- 14.3.4 Using the permissions.py Method
- 14.3.5 The createUser() Method
- Summary
- Chapter 15: Zope Products
- 15.1 A Tool for Creating Objects
- 15.2 Constructing a Product
- 15.2.1 Bootstrapping the Product
- 15.2.2 Necessary Components
- 15.2.2 User Structure
- 15.2.3 Roles/Permissions Structure
- 15.3 Product Construction at a Glance
- 15.3.1 Major Components
- 15.3.2 Support Files
- 15.3.3 Putting It All Together
- 15.4 Creating the Website Product
- 15.4.1 Create the Product Directory
- 15.4.2 The Main Module: Website.py
- 15.4.3 Defining the Constructor Form
- 15.4.4 The Constructor Method of the Main Module
- 15.4.5 Writing The __init__.py File
- Summary
- Chapter 16: Debugging
- 16.1 Errors When Starting the Zope Server
- 16.2 Python and DTML Errors
- 16.2.1 Binary Searching
- 16.2.2 Defensive Coding
- 16.2.3 Intermittent Errors
- 16.2.4 Standard Python Error Messages
- 16.2.5 DTML Error Messages
- 16.2.6 Debug Mode
- 16.3 Errors Specific to Zope
- 16.3.1 Zope Error Messages
- Summary
- Chapter 17: External Data Access
- 17.1 FTP
- 17.1.1 Using Graphical FTP Clients
- 17.2 WebDAV
- 17.2.1 WebDAV for Linux and Unix
- 17.3 XML-RPC
- Summary
- Appendix A: DTML and Built-in Attributes
- A.1 The var Tag
- A.1.1 Special Formats
- A.2 The Namespace Variable
- A.2.1 Modules
- A.2.2 Client-Server Communication
- Appendix B: The REQUEST Object
- REQUEST
- Appendix C: Source Code for the Website Product
- C.1 Source Text for __init__.py for the Website Product
- C.2 Source Text for Website.py for the Website Product
- C.2.1 addWebsiteForm.dtml
- C.3 The DTML Methods for the Website Product
- C.3.1 WebsiteUsers_list.dtml
- C.3.2 edit_WebsiteUser.dtml
- C.3.3 index_html.dtml
- C.3.4 login_html.dtml
- C.3.5 new_WebsiteUser.dtml
- C.3.6 products_html.dtml
- C.3.7 standard_html_footer.dtml
- C.3.8 standard_html_header.dtml
- C.3.9 about_us_html.dtml
- Appendix D: Some ZCatalog Module Methods
- Appendix E: Glossary
Reviews:
The Book of Zope
Rating: ***** (OK)
Ok Intro.
This is another introduction to Zope. Nothing to write home about, a bit dated, badly edited, but mostly correct.
In short, why not?
The Zope Book