[Pipet Users] Comments to Zope

Jarl van Katwijk wrote:
> I still have a hard time understanding the scope of Zope.
Hi there; long time Zope developer jumping in randomly.
Zope's scope is rather broad, so it depends on what you want to do. I'd
seem to me you'd be most interested in things like the ZODB and ZEO;
which are the object database and a way to transparently cluster one.
> I've been
> playing a bit with the web interface, and looked at some code. So far I
> understand Zope has a singel network consisting of Zope Objects. Or is
> there more going on, are there any other 'node type' in Zope, or
> hiarchic structures of some kind? Also I cant find how the functionality
> of the 'nodes' in Zope is arranged. Is it all done by the
> ExtensionClass? And what limit's are there in the functionality that can
> be plugged into the Zope objects?
Zope objects are basically just random Python object. They all must
derive from ExtensionClass (until some future version of Python, possibly
2.2 makes this go away), and Persistent. Frequently they use Acquisition
as well.
Persistent makes your object persistent. It's almost transparent, except
that you shouldn't modify mutable object attributes without modifying the
persistence machinery (you can do this simply by assigning it to itself
after changing it: self.mylist.append('foo'); self.mylist = self.mylist)
This is good stuff on the ZODB and how to program for it:
http://www.amk.ca/zodb/guide/
You can use the ZODB and ZEO separately from the rest of Zope.
> About the security model so far I got the impression Zope is handling
> access control by a very long and specific rules list, like in
> Zope-2.4.0-src/lib/python/AccessControl. The access system compared to
> that of Piper is way more detailed and differnent because it's 'node'
> oriented, and that of Piper being 'area' oriented. Has Zope an
> equivalent like groups? Also Piper does not manage the acccess between
> nodes in a singel execution zone. Can access control be disabled on
> induvidual node level?
You can disable access control for objects, yes. I'm not sure what you mean
by groups. There is a 'role' mechanism.
Regards,
Martijn