[ZDP] ZCL

Tom Deprez tom.deprez@uz.kuleuven.ac.be
Fri, 08 Oct 1999 19:31:44 +0200


Hi, 

I know, this is a rather late revision, but ZCL must be very clear. And I
would like to propose my ideas. Thus ZCL Revision 3

Ok, found some time and now looking over ZCL... If you don't mind I would
change it a little bit... In my opinion, you first have to make the people
used to the product (in this case Zope). You've to profile it which place
it has and for what it can be used. [I think we did fairly with Chapter I,
if not, please raise hands and change the parts you don't like, agree].
Then you've to give them the general idea. Some words of what the product
all has. (NOT going very far into detail!) [I think most parts of Chapter
II can be used for this, if not... raise hands....]

Then if they want to get further, people can get the whole bunch <grin>.
I would place the Python chapter a little bit further into the ZCL.
Because, you don't really need to understand Python to write simple Zope
(ie. simple Zope is using DTML)

Thus I would suggest this ZCL (I'll give you the change to fight against me
till end of next week) <grin> Then this will appear on the net!

Chapter I 

(Discussions of Zope
 - Why ?
 - How ?
 - Design consideration ?)

      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 

+!!!! Zope against others???

Chapter II 
      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 

CHAPTER III : Let's get to business

III.1 Installation (step by step)
      Zope installation directory structure
           Important config files
 
      Platform Specific 
           Win 95/NT/ISS)  (Taken by Kamon)
                - System requirements
                - Specific Server configuration
                - ZServer
                - Virtual servers with Zope
 
           Linux 
                - System requirements
                - Apache
                - ZServer
                - Virtual servers with Zope

III.2 Briefs on the management console (Just simple) 
  - Creating Folders.
  - Inserting Image, File, DTML methods, DTML Documents.
  - Properties.
  - Undo.

III.3 Essential parts:
(Use only Zope2 style tags <dtml->)

III.3.1 DTML 
  (this is the most important, and the largest)
  - <dtml- var>  
        (essential)
        - 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 (ZQR in appendix).
        - Redirection

        (skip if beginner)
        - Call external methods
        - Accessing products.
        
  (for x in DTMLTags)
     What is X?
     How to use X?
     Any design tips for X?
     Examples:
     Exercise Projects (with answers)  

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

  - SQL server
        - ZSQL.
        - ODBC (largest user base)
                - Installing
                - Setting up connection.
                - Testings.
  - XML


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

III.3.4 Python (optional)
  - What is?
  - Where to learn it?
  - The minimum
        - Variables
        - Data structures
        - Module
        - Package
        - Functions
        - Class/Objects

  - Exercise Projects (with answers)
  - Point to External resources.
        
III.3.5 External Methods
  - What is?
  - Creating External Methods
  - Using it
  - Discussions.
  - Exercise Projects (with answers)

III.3.6 Products
  - How
  - Simple
  - Complex

Chapter IV : 10.000 miles beneeth

IV.1 Zen of Zope components (big part!)
  - ZPublisher
  - ZWhatever.

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

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

CHAPTER V : Security, what you need to know

V.1 Zope security
      Authentication with Zope
      SSL with Zope

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

CHAPTER VI : Cutting Edge
   - XML-RPC
   - Web-Dav
   - XMLWidgets

Appendix A

- ZQR (Zope Quick Reference)

Appendix B

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


Tom.