[Zope3-Users] Re: Newbie Question

Martin Aspeli optilude at gmx.net
Fri Feb 23 17:43:00 EST 2007


Edward Muller wrote:
> I've done Zope2 stuff in the past, including writing Zope2 Products.
> 
> We are working on new hosting software and have decided to use Zope 3.
> 
> So we're defining our interfaces and have started to define classes  
> based on those interfaces and I have a question...
> 
> The simple todo app (http://worldcookery.com/files/jeffshell-todo/ 
> step1.html) shows the Todo class having three attributes  
> (description, details, done). These are all defined in the interface  
> using various zope.schema definitions.
> 
> But ...
> 
> The Boring product (http://products.nidelven-it.no/zope3_boring/)  
> does the same thing in the interface with a title attribute. But when  
> it gets to the class definition it uses:
> 
> def __init__(self, title='Default boring title'):
>    self.title = title
> 
> The later is more familiar to me coming from Zope 2. Which is right?  
> If they are both right, which is *more* right wrt Zope 3 ... and why?

They are both right, and it doesn't matter.

The interface says "when you have an instance of this object, you can 
expect there to be a 'title' attribute". How it got there is not that 
important.

By the way, if you're starting with Zope 3, get Philipp von 
Weitershausen's book Web Component Development with Zope 3 
(www.worldcookery.com). It'll make a lot of this stuff much more clear.

Martin



More information about the Zope3-users mailing list