The Zope Book
Attention
This document was written for Zope 2.
Welcome to The Zope Book. This book is designed to introduce you to Zope, an open-source web application server.
- 1. Preface
- 2. Introducing Zope
- 2.1. The Static Web Site Dilemma
- 2.2. What Is A Web Application?
- 2.3. How You Can Benefit From Using An Application Server
- 2.4. Why Use Zope Instead of Another Application Server
- 2.5. Zope Audiences and What Zope Isn’t
- 2.6. Introduction to Zope Maintenance and The Zope Community
- 2.7. Zope’s Terms of Use and License
- 2.8. Zope History
- 3. Zope Concepts and Architecture
- 4. Installing and Starting Zope
- 4.1. Downloading Zope
- 4.2. Installing Zope
- 4.3. Starting Zope
- 4.4. Using Zope With a Web Server
- 4.5. Starting Zope on Windows
- 4.6. Starting Zope on UNIX
- 4.7. Your Zope Installation
- 4.8. Logging In
- 4.9. Controlling the Zope Process with the Control Panel
- 4.10. Controlling the Zope Process from the Command Line
- 4.11. Customizing your Zope instance
- 4.12. Troubleshooting and Caveats
- 5. Object Orientation
- 6. Using the Zope Management Interface
- 7. Using Basic Zope Objects
- 8. Acquisition
- 9. Basic Zope Scripting
- 10. Using Zope Page Templates
- 11. Creating Basic Zope Applications
- 12. Users and Security
- 12.1. Introduction to Zope Security
- 12.2. Review: Logging In and Logging Out of the Zope Management Interface
- 12.3. Zope’s “Stock” Security Setup
- 12.4. Identification and Authentication
- 12.5. Authorization, Roles, and Permissions
- 12.6. Managing Users
- 12.7. Protecting Against Password Snooping
- 12.8. Managing Custom Security Policies
- 12.9. Security Usage Patterns
- 12.10. Different Levels of Access with Roles
- 12.11. Performing Security Checks
- 12.12. Advanced Security Issues: Ownership and Executable Content
- 12.13. Summary
- 13. Advanced Page Templates
- 14. Advanced Zope Scripting
- 15. Zope Services
- 16. Basic DTML
- 16.1. How DTML Relates to Similar Languages and Templating Facilities
- 16.2. When To Use DTML
- 16.3. When Not To Use DTML
- 16.4. The Difference Between DTML Documents and DTML Methods
- 16.5. Details
- 16.6. DTML Tag Syntax
- 16.7. DTML Tag Names, Targets, and Attributes
- 16.8. Creating a “Sandbox” for the Examples in This Chapter
- 16.9. Examples of Using DTML for Common Tasks
- 16.10. Common DTML Tags
- 16.11. Summary
- 17. Advanced DTML
- 17.1. How Variables are Looked up
- 17.2. DTML Namespaces
- 17.3. Rendering Variables
- 17.4. Modifying the DTML Namespace
- 17.5. DTML Namespace Utility Functions
- 17.6. DTML Security
- 17.7. Safe Scripting Limits
- 17.8. Advanced DTML Tags
- 17.9. The Call Tag
- 17.10. The Comment Tag
- 17.11. The Tree Tag
- 17.12. The Return Tag
- 17.13. The Sendmail Tag
- 17.14. The Mime Tag
- 17.15. The Unless Tag
- 17.16. Batch Processing With The In Tag
- 17.17. Other useful examples
- 17.18. Conclusion
- 18. Searching and Categorizing Content
- 19. Relational Database Connectivity
- 19.1. Common Relational Databases
- 19.2. Database Adapters
- 19.3. Setting up a Database Connection
- 19.4. Z SQL Methods
- 19.5. Examples of ZSQL Methods
- 19.6. Displaying Results from Z SQL Methods
- 19.7. Providing Arguments to Z SQL Methods
- 19.8. Dynamic SQL Queries
- 19.9. Advanced Techniques
- 19.10. Further help
- 19.11. Summary
- 20. Virtual Hosting Services
- 21. Session Management
- 21.1. Terminology
- 21.2. Session Managers
- 21.3. Session Manager Components
- 21.4. Using Session Data
- 21.5. Default Configuration
- 21.6. Advanced Development Using Sessioning
- 21.7. Configuration and Operation
- 21.8. Concepts and Caveats
- 21.9. Alternative Server Side Session Backends for Zope 4 and higher
- 22. Scalability and ZEO
- 23. Managing Zope Objects Using External Tools
- 24. Maintaining Zope
- 25. Appendix A: DTML Reference
- 25.1. call: Call a method
- 25.2. comment: Comments DTML
- 25.3. functions: DTML Functions
- 25.4. if: Tests Conditions
- 25.5. in: Loops over sequences
- 25.6. let: Defines DTML variables
- 25.7. mime: Formats data with MIME
- 25.8. raise: Raises an exception
- 25.9. return: Returns data
- 25.10. sendmail: Sends email with SMTP
- 25.11. sqlgroup: Formats complex SQL expressions
- 25.12. sqltest: Formats SQL condition tests
- 25.13. sqlvar: Inserts SQL variables
- 25.14. tree: Inserts a tree widget
- 25.15. try: Handles exceptions
- 25.16. unless: Tests a condition
- 25.17. var: Inserts a variable
- 25.18. with: Controls DTML variable look up
- 26. Appendix B: API Reference
- 27. Appendix C: Zope Page Templates Reference
- 27.1. TAL Overview
- 27.2. attributes: Replace element attributes
- 27.3. condition: Conditionally insert or remove an element
- 27.4. content: Replace the content of an element
- 27.5. define: Define variables
- 27.6. switch and case: Set up a switch statement
- 27.7. omit-tag: Remove an element, leaving its contents
- 27.8. on-error: Handle errors
- 27.9. repeat: Repeat an element
- 27.10. replace: Replace an element
- 27.11. TALES Overview
- 27.12. TALES Exists expressions
- 27.13. TALES Nocall expressions
- 27.14. TALES Not expressions
- 27.15. TALES Path expressions
- 27.16. TALES Python expressions
- 27.17. TALES String expressions
- 27.18. METAL Overview
- 27.19. define-macro: Define a macro
- 27.20. define-slot: Define a macro customization point
- 27.21. fill-slot: Customize a macro
- 27.22. use-macro: Use a macro
- 27.23. ZPT-specific Behaviors
- 28. Appendix D: Zope Resources
- 29. Appendix E: DTML Name Lookup Rules
- 30. Contributions