[Zope3-dev] Learning Zope3

Steve Alexander steve@cat-box.net
Sun, 03 Mar 2002 12:21:25 +0000


Roch'e Compaan wrote:
>>1. Look at dev.zope.org and read about the component architecture, the
>>proposals and so on...
>>2. Work through Jim's tutorial (you can get it from CVS).
>>
> 
> I have, but the tutorial focuses on _using_ the component architecture not
> learning the innards.

The thing with the CA is that it is very simple.

Much of the "innards" of Zope3 are actually built using the component 
architecture.

As far as getting into it goes, perhaps try an XP approach:

   first read the interfaces
   next read the unit tests
   only then, read the code

You might also take a look at the interface in ContextWrapper: this is a 
lightweight version of something like acquisition in Zope2 (except that 
it doesn't do that acquisition bit). ContextWrappers around objects 
enable the new security mechanisms.
Some of what you'll see in the "innards" won't make sense until you 
understand ContextWrapper. There's not much to it, though, and the 
interface is quite well documented.

Another area of complexity is in the Publisher. I haven't looked into 
that right now. Then again, so far I've found I don't have to ;-)


Also, take a look at the zcml subsystems. These start with 
whatever-meta.zcml files, each of which describe the grammar for a 
particular set of zcml directives.
Then, look at the various metaConfigure.py modules to see how the 
directives in zcml files get expressed at runtime.

--
Steve Alexander