book main | contents |
reviews | updates
|
Preface Who Is This Book For? What Version of Zope Does It Cover? How to Use This Book Zope Beginners with HTML Knowledge Zope Beginners with Both HTML and Python Knowledge Advanced Zope Users with No Prior Knowledge of Python Advanced Zope Users With Prior Knowledge of Python Where Did Zope Come From? About the Authors 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 9.3.9 Creating Help Topics 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.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 Index |
book main | contents | reviews | updates
Copyright 2010 by No Starch Press