[ZDP] Proposal for ZBook project organisation

Rik Hoekstra hoekstra@fsw.leidenuniv.nl
Tue, 04 Jan 2000 23:08:57 +0100


> 
> Splitting up was the whole idea with the new ZDP. In the projects
> directory, we make a directory per project. At this moment we've : ZBook,
> ZIT, ZQR, ZTutorials. What I thought of was that some maintainers keep
> their directory in to shape (ie. the contents, the general layout is from
> the parent-folders). If they've a new person who wants to help, they give
> them access from their folder.
> 
> The following have to be included when we've some tools (and when we've
> somebody who wants to suport it : ZFAQ (waiting for a handy tool), ZHow-To
> (waiting for maintainer), ZSnippets (waiting for maintainer).

I'm willing to maintain either ZSnippets or ZHow-To. Are there any 
snippets as yet. Frankly I wasn't aware there was a need for a 
maintainer, though I do follow the list - btw I have also track as to 
what the whole new site is going to be about, I suppose Maik is going 
too fast for me...

> 
> The ZCL is -at the moment- just a proposal on what spontanious writers can
> help (ie. they can pick up a topic and start writing). As soon as Maik his
> zdp-tool for "drafts&comments" is ready, we can change the whole ZBook look
> and really start with some handy layout that will attract readers to the
> drafts and which will easely help us to maintain all the drafts and
> documents. (So, at the moment Maik, this is top-priority :-) )
> 
> Tom.
> 
> At 16:24 04/01/2000 +0100, kamon.ayeva@bureauveritas.com wrote:
> >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.
> >

OK

> >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)

And also in reaction to ZCL. They should be more integrated with the 
more split-out sections of ZBook as a reference.  I think the ZCL is 
keeping things too much apart. Why (apart from reference) study a 
whole chapter on DTML if you do not understand acquisition or Zope 
security concepts. In my opinion this leads to too little. Zope 
programming is application design from the bottom up. Tutorials and 
ZCL should be integrated in one way or another. Moreover the first 
chapters of the ZCL as they have been elaborated into chapters 
already _are_ much higher level than the later chapters (see my 
comments below). 

This leaves the Zbook in a severe unbalance. I think the group has to 
take some decisions as to what is to be what in the ZBook.

> >
> >Why this split:
> >- More natural.
> >- More clarity.

To repeat myself: I disagree. ZTutorials (as you call them) should be 
integrated into ZCL. This will do Zope more right and enable us to  
give Zope a fuller treatment. How, I do not know. This requires 
discussion.

> >- More motivating if some people prefer to be involved in ZTutorials
> >instead of the core ZCL.

Not for me

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


This is a high level treatment of integrated features of Zope

> >         I.4 Looking at Zope
> >         I.5 First impression
> >

I forgot about these

> >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 ??
> >

This is a treatment of the components in the Zope context. It 
explains the architecture. This is high level


> >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)
> >

These are tutorial chapters, more than the ZTutorials listed below. I 
believe they should go into an appendix (for reference)


> >            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)
> >

Same with this.

> >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)
> >

Useful, but reference.  You can't do much with this unless you 
already know how Zope works. Move to a reference section, later in 
the book

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

This should be in the components part of the book (near chapter II). 
It is crucial to Zope's architecture

> >  - 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.

This is tutorial/reference stuff. Has too little to do with Zope 
application building.

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

Hm. There is nothing about ZClasses in the components section above. 
From this ZCL it is unclear how ZClasses fit into the framework.

> >Chapter IV : Advanced Development
> >
> >IV.1 Python (Dody/Draft3) (Why not move this to a ZTutorial ?)

Quite so. Or an appendix.

> >  - 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)
> >


Python Methods now are part of the distribution (or they will be). 
There should be something higher level about how to program ZOpe 
(DTML vs Python Methods vs External Methods vs ZClasses vs Python 
Products)

> >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.)

And there it should be. This Zen stuff has to be at the beginning of 
the book.

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

Hm. Tutorial stuff I think

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

Should be an appendix.

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

To my understanding this is too much howto and too little how does 
Zope work. Moreover, the roles/permissions/acquisition thing is 
completely missing from here. What is the ratio behind this?


> >     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.


Yes. This is a tutorial. They are also a bit reference like topics.

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

Never thought of my draft as a tutorial. It is an attempt at an 
integrated treatment. 

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

Haven't got around to studying it.

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

Now. This is a tutorial. Why is this advanced? It's seems to me it's 
more of a collection of recipes, unless my picture of the chapter is 
too narrow.

Sorry if I have been a bit harsh in my comments. They spring from  
sincere worries about the coherence of the documentation, especially 
if it is going to lead to a ZBook. I usually am not very much in 
favor of reshuffling contents too much, but I really do feel the 
ordering of the ZCL as is leaves too much to be desired.

Rik