[ZDP] BackTalk to Document Zope Developer's Guide (2.4 edition)/Components and Interfaces
webmaster@zope.org
webmaster@zope.org
Thu, 09 Jan 2003 22:31:09 -0500
A comment to the paragraph below was recently added via http://www.zope.org/Documentation/Books/ZDG/current/ComponentsAndInterfaces.stx#2-2
---------------
Here is a very simple component that says hello. Like all components,
this one generally consists of two pieces, an interface, and an
implementation::
from Interface import Base
class Hello(Base):
""" The Hello interface provides greetings. """
def hello(self, name):
""" Say hello to the name """
class HelloComponent:
__implements__ = Hello
def hello(self, name):
return "hello %s!" % name
% Chris Gray - Aug. 23, 2002 12:44 pm:
This information and these sorts of examples as presented here by themselves are all but useless to someone
very new to Zope development. Where do these classes go? How do I install them in Zope? How do you
instantiate the classes? How do you access the instantiations? How can I experiment with this code? You seem
to be presenting all the high-level information without any practical information on how you actually put it
to use. The equivalent would be a beginner's book on Python that assumed you would read the source code for
the interpreter to discover how to invoke it. It seems to me there is a large gap between what you would
learn from the Zope Book and what you need to make use of the information presented here.
% Anonymous User - Oct. 3, 2002 5:15 am:
I must say I have to agree with Chris.
A few days ago I picked up a PHP book, and in 20 minutes I was up and running with my first PHP code
snippets.
I'm keen to choose Zope because I've been using Python for while but all this documentation is so nebulous!
I've been reading for days and am still totally vague as to how to get even something elementary happening.
I know there are fabulous people behind Zope and Python. I wish they could hear comments such as those of
Chris'.
% Anonymous User - Oct. 4, 2002 12:29 pm:
I'm sure you were up and running quickly with PHP. But it's likely that you could have been up and running in
Zope as well in the same amount of time by reading the Zope Book. My advice is to not read this guide until
you've thoroughly read the Zope Book and done a little Zope development.
Zope is loosely the equivalent of PHP, Apache, and Oracle wrapped up into a single piece of software, so it
makes sense that it would take more time to grok than straight PHP. That said, there is a gap between the
Zope Book and this guide. It's likely that that gap will need to be filled by 3rd-party published books.
% Anonymous User - Nov. 11, 2002 3:39 am:
New developers can be attracted to hacking code, by allowing them to see the key points of technology are.
With this example as many other ones, -> zope book, web,
there is alot of information missing, as one can learn from inferred data from other places. This just sucks.
I love python, because it is consice, to the point,
with this stuff, its just superfrustrating. very many people i know gave up, because they wanted all the
details, and all they were given is a gobs of vague ideas, and some code that did not relate, as in between
examples, so it was hard to make out what the hell is going on.
% Anonymous User - Dec. 3, 2002 1:06 am:
The COM OFF button rules.
% exdesign - Jan. 9, 2003 10:31 pm:
Just opened __init__.py in /lib/python/Interface for Zope 2.6.0. It says:
<begin quote from /lib/python/Interface/__init__.py>
This package implements the Python "scarecrow" proposal.
The package exports a single name, 'Interface' directly. Interface
is used to create an interface with a class statement, as in:
from Interface import Interface
class IMyInterface(Interface):
'''Interface documentation
'''
def meth(arg1, arg2):
'''Documentation for meth
'''
# Note that there is no self argument
To find out what you can do with interfaces, see the interface
interface, IInterface in the IInterface module.
<snip>
Revision information:
$Id: __init__.py,v 1.9 2002/08/14 21:35:32 mj Exp $
"""
from _Interface import Interface
from Attribute import Attribute
Base = Interface # XXX We need to stamp out Base usage
<end>
From this I infer that this page is not only nebulous, but very much out of date; both the self arguments and
the use of the Base term are deprecated.