[ZDP] Proposal for ZBook project organisation

kamon.ayeva@bureauveritas.com kamon.ayeva@bureauveritas.com
Tue, 4 Jan 2000 16:24:02 +0100


Hello guys,

First, I want to restart writing and I would like to take SQL database
related chapter as my next contribution.

I spent some time to review the ZBook content, and I propose to split it in
 three main parts: ZQR, ZCL and ZTutorials.

1/ ZQR with his subproject ZIT: I think there is nothing to add. Already an
 autonomous project, thanks to David and Stephan.

2/ ZCL: Though necessary as a writing framework, it is too huge at the
moment. I just updated it to ZCL 5. (See below)

3/ ZTutorials: Tutorials are more transversal/thematical documentation. It
is better to have some existing examples and how-tos consolidated
in tutorials. Some ZTutorials have spontaneously emerged in parallel to
ZCL. (See the end of the mail)

Why this split:
- More natural.
- More clarity.
- More motivating if some people prefer to be involved in ZTutorials
instead of the core ZCL.
- Better for marketing our projects.

Now look at it and send me your comments.

Cheers,
Kamon


***Zbook Content Library*** (ZCL version 5 discussed)

INTRODUCTORY PARTS

Chapter I (zdp/done)

      Introducing Zope
      What is Zope? Is it a glance worthy?
         I.1 Introduction
         I.2. A Web Application Platform
         I.3 Zope as a web application platform
            I.3.1 Scripting Languages
            I.3.2 Object Oriented Scripting Languages
            I.3.3 Growing to a Web Application Platform
         I.4 Looking at Zope
         I.5 First impression

Chapter II (zdp/done)

      The Power of Zope
      It's Zen, it's architecture, it's components
         II.1 Release the Power of Zope
         II.2 Zen of Object Publishing
            II.2.1 Object Publishing
            II.2.2 Zen of Acquisition
            II.2.3 Zen of Objects
         II.3 Architecture
         II.4 The Different Layers
            II.4.1 Zope Server
            II.4.2 Zope Publisher
            II.4.3 Zope Object Request Broker
            II.4.4 Zope Object Database
             II.4.5
         II.5. Zope's main components (briefly discussed)
            II.5.1 Z Framework
            II.5.2 Zope Templates
            II.5.3 Zope Adaptors
            II.5.4 Zope SQL Methods
            Add ZCatalog ??

Chapter III : Let's get to business

III.1 Platform specific installation
            III.1.1 Zope Win32 Installation (Draft done)
              - System requirements
              - Installing Zope
              - Running ZServer
              - Zope with IIS Integration
                    - Background on CGI, Persistent CGI and the likes
                         - Setting up Zope with IIS using PCGI
                         - Setting up Zope with IIS using FastCGI (not yet
completed)
               - Zope Virtual Hosting (not yet completed)

            III.1.2  Zope Unix/Linux Installation (Draft done)
                - System requirements
                - Installing Zope
                - Running ZServer
              - Zope with Apache Integration
                    - Background on CGI, Persistent CGI and the likes
                         - Setting up Zope with Apache using PCGI
                         - Setting up Zope with Apache using FastCGI
                - Zope Virual Hosting (not yet completed)

III.2 Zope Programming Essentials Parts
    III.2.1 All about DTML
   - The DTML-VAR tag
        - Introduction, Explaination (Limited), Pointer to ZQR.
        - Pass and use value over URL
                - Examples
        - Pass and use value by forms.
                - Examples
        - Pass and use cookies.
        - Inserting other files.
                - Get files information
        - Inserting image.
                - Get image information
        - Using special _ object.
        - Using structured text.
                - What is structured text.
                - Give example.
                - Refer to Structured text reference.
        - Redirection
        - Call external methods (skip if beginner)
        - Accessing products (skip if beginner).

 - Other DTML tags

- (for x in DTMLTags)
     What is X?
     How to use X?
     Any design tips for X?
     Examples:
     Exercise Projects (with answers)

   III.2.2 Storing data
  - ZODB3
        - From Python.
        - From Zope.

  - SQL database (To be done/Kamon)
        - Background on databases (for web access and integration)
        - Z Database Adapters
        - ZSQL
        - ODBC (largest user base)
                - Installing
                - Setting up connection.
                - Testings.
  - XML

   III.2.3 ZClasses
  - The concept
  - The way
  - How to do it
  - Classes to extend
        - Description
  - Files to watch

Chapter IV : Advanced Development

IV.1 Python (Dody/Draft3) (Why not move this to a ZTutorial ?)
  - Intro
  - Using the interpreter
  - Comment
  - Variables
  - If
  - While loop
  - List
  - For loop
  - Tuple
  - Functions
  - Module
  - Package
  - Dictionary
  - Classes
  - Inheritance
  - Exceptions
  - Multiple Inheritance
  - Pickle
  - Shelve

IV.2 External Methods
  - What is?
  - Creating External Methods
  - Using it
  - Discussions.
  - Exercise Projects (with answers)

IV.3 Products
  - How
  - Simple
  - Complex

Chapter V : 10.000 miles beneeth...

V.1 Zen of Zope components (big part!) (It seems top me that this is
already in Chapter II / II.4.)
  - ZPublisher
  - ZWhatever.

V.2 Extending Zope
 - Add a new DTML tags into Zope.
 - Changing object storage

V.3 Performance, tweak, advice.
 - Scalability tests
 - Benchmark configuration

CHAPTER VI : Infrastructure related parts

VI.1 Security
     Authentication and user authorization with Zope (Kamon/Draft2)

     Authentication with Zope and IIS (Kamon/Draft2)
              - Background on IIS security
              - Setting up Zope security with IIS

     Authentication with Zope and Apache (Kamon/Draft1)
              - Background on Apache security
              - Setting up Authentication inside Zope
              - Setting up Authentication inside Apache

     Also, advanced technologies: SSL, LDAP (Waiting for a writer)

VI.2 Zope system administration
      Activity logging
      Backup and restoration
      Versioning
      Performance tuning

CHAPTER VII : Cutting Edge
   - WebDav (May become a ZTutorial)
   - XMLWidgets  (May become a ZTutorial)
   - XML-RPC, SOAP  (May become a ZTutorial)


Appendix A

- ZQR (Zope Quick Reference)

Appendix B

- Internet Resources
  - Python
  - XML
  - XML-RPC
  - WebDav.



***ZTutorial Series***

ZT1: Building a dynamic web site with Zope (Proposed by Eron
(woodsage@op.net)) (Intermediary, Beginner)

  - Creating Folders
  - Inserting Image, File
  - Frame usage
  - DTML method/document usage
  - Object Properties
  - Undo
- FTP usage
- Member login (cookie based)
- Recipe index (ZCatalog-based)
- News section
- Events section
- Email notifications
- Navigation bar
- Site search
- Print-format documents
- Creation of template products (for recipe, news, & events submissions)
- Versions
- Stylesheets

This tutorial may be split in 2 or 3 parts.

ZT2: Changing contexts in Zope (Draft by Rik) (Intermediary, Beginner)

ZT3: Zope Security (Draft by Kamon) (Intermediary, Beginner)

ZT4: zdp.zope.org, building a community projects site with Zope (Advanced)