Zope 3.0, and why I won't use it

W

Will Stuyvesant

Hello all,

So Zope still lives, yay. Well, I like that they use Python.

<rant>

What amazed me is they write that they "added types to the variables
and hope that it will be added to the Python project too". Really.
ROFL.

And instead of working on the engine they should have put more work
into examples. Simple tutorials. Downloadable executables for
Windows that you can click and install. But most of all simple and
good examples: webapplications like
- a wiki in zope
- a forum in zope, with agenda and calendar
- a game like http://216.199.69.100/war/ in zope

They have a nice free webhosting thing for zope, but to expect new
users to do everything from scratch...
The "examples" I found were very disappointing.

</rant>
 
?

=?ISO-8859-1?Q?BJ=F6rn_Lindqvist?=

Guido has repeatedly stated that a future version of Python will include static type support. The Zope project has driven numerous past changes to Python. What's funny about this?

It sounds very "unpythonic" :) A link or two to some site that
explains a little more what "static type support" means to Python
would be nice.
 
I

Istvan Albert

Will said:
And instead of working on the engine they should have put more work
into examples. Simple tutorials.

What has been released is not Zope 3
but Zope X3 where the X stands for eXperimental.

The way I understood it they want to showcase the
technology and system architecture. So don't knock
it for what is not meant to be.

Istvan.

ps. that being said I, after a few hours of fooling
around with it I found it to be more complicated
than ever ... and it was not clear what is it
that we gain from paying that price. We'll see how it
evolves.
 
S

Steve Holden

Istvan said:
What has been released is not Zope 3
but Zope X3 where the X stands for eXperimental.

The way I understood it they want to showcase the
technology and system architecture. So don't knock
it for what is not meant to be.

Istvan.

ps. that being said I, after a few hours of fooling
around with it I found it to be more complicated
than ever ... and it was not clear what is it
that we gain from paying that price. We'll see how it
evolves.

You managed to get it to run? I found the whole load opaque beyond
belief, and removed it after an hour's examination.

regards
Steve
 
I

Istvan Albert

Steve said:
You managed to get it to run? I found the whole load opaque beyond
belief, and removed it after an hour's examination.

I had no problems whatsoever ... on the other hand I
been using Zope 2.7 for a more than a year so
that might have helped me.

In Zope X3 they make a big deal out of interfaces,
everything seems to revolve around that.

http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/Zope3Book/interfaces.html

then I looked at this,

http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/FrontPage/Zope3Book

totally overwhelming. But I have confidence in
the Zope developers. I have had good experience with Zope
in general, did not let me down yet ... in the way
a few years back for example Tomcat would crash
if one set a cookie value that had a newline character
in it.


Istvan.
 
S

Steve Holden

Istvan said:
I had no problems whatsoever ... on the other hand I
been using Zope 2.7 for a more than a year so
that might have helped me.

In Zope X3 they make a big deal out of interfaces,
everything seems to revolve around that.

http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/Zope3Book/interfaces.html


then I looked at this,

http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/FrontPage/Zope3Book


totally overwhelming. But I have confidence in
the Zope developers. I have had good experience with Zope
in general, did not let me down yet ... in the way
a few years back for example Tomcat would crash
if one set a cookie value that had a newline character
in it.
Well indeed, the developers are a bunch of smart cookies (no pun
intended). But I still await a comprehensible description of how the
whole system works for 2.7, let alone X3 - how to put sites together,
and the best way to achieve various results, and so on.

Searching for information about Zope is a nightmare of broken links and
outdated content that makes it difficult to find one's way through to
the really useful stuff.

regards
Steve
 
N

Nicholas Wieland

- Will Stuyvesant :
Hello all,

So Zope still lives, yay. Well, I like that they use Python.

<rant>

What amazed me is they write that they "added types to the variables
and hope that it will be added to the Python project too". Really.
ROFL.

Sorry, probably I'm just tired (work to buy coffee <-> drink coffee to
work inifite loop, as usual :p), but I can't find where exactly they
made such a claim. I'm really interested in this because a friend of
mine (Volonghi) asked me exactly the same question... I think that
"someone - somewhere" misunderstood what interfaces are, but I'm not
sure. The only thing I'm sure is that I'm writing components for ZopeX3
in plain old good Python from milestone 3 :)
And instead of working on the engine they should have put more work
into examples. Simple tutorials.

What about the programmers tutorial (http://snipurl.com/amy9) and the
Developer Book (http://snipurl.com/amyb) ?
Downloadable executables for Windows that you can click and install.

Like the .exe here http://snipurl.com/amyd ? I'm not a Windows user,
sorry, can't really help here :)
But most of all simple and good examples: webapplications like
- a wiki in zope
http://snipurl.com/amyh

- a forum in zope, with agenda and calendar

Maybe the example of the developer book can help: Stephan explains the
main concepts of ZX3 by implementing a messageboard.

Can't help here. BTW, I think that the zwiki, the bugtracker and all the
documentation is enought for now - I've seen too much ultrastable
software with a man page and an hello world called "documentation" to
complain the developers for that :)
They have a nice free webhosting thing for zope, but to expect new
users to do everything from scratch...
The "examples" I found were very disappointing.

Why ? ...

HAND,
ngw
 
I

Istvan Albert

Steve said:
how to put sites together, and the best way to achieve
various results, and so on.

The entire Zope Book is available online:

http://www.zope.org/Documentation/Books/ZopeBook/2_6Edition/view

I consider that as good of a startup documentation as it can
get. This covers 2.6 but as far as I could tell the only
major change that 2.7 introduced relates to the way
the zope sites are stored on the file system, they became
better separated (a much needed improvement BTW).
It is not an easy read though.
> Searching for information about Zope is a nightmare of
> broken links and outdated content

I did notice that too. In all fairness most of that content
is already in the Zope book and sometimes I wonder whether
it was the online availability of this latter was the
cause of it all.

Istvan.

PS. just noticed that they have a 2.7 edition of the Zope book
but it is being written:
http://www.plope.com/Books/2_7Edition
 
M

Max M

Will said:
And instead of working on the engine they should have put more work
into examples. Simple tutorials. Downloadable executables for
Windows that you can click and install.

The gripe about Zope has allways been that it was too difficult for
developers.

The Zope developers had a pretty good idea as to why. So they developed
a new version of Zope that changed that. They have done a pretty fin job
too.

But most of all simple and
good examples: webapplications like
- a wiki in zope
- a forum in zope, with agenda and calendar
- a game like http://216.199.69.100/war/ in zope

You mean completely unlike:
http://svn.zope.org/book/trunk/messageboard/

They have a nice free webhosting thing for zope, but to expect new
users to do everything from scratch...
The "examples" I found were very disappointing.

Have you looked at Plone at all?

--

hilsen/regards Max M, Denmark

http://www.mxm.dk/
IT's Mad Science
 
C

Carlos Ribeiro

You managed to get it to run? I found the whole load opaque beyond
belief, and removed it after an hour's examination.
From time to time, I download Zope, try it a little bit, and uninstall
it. Perhaps I am too dumb for it (which may be the case) :-( ... but I
somehow feel that there is a problem, for I am not alone in this
feeling. For me, Zope lacks Python's inherent clarity; it seems that
it requires a 'mental mode' of its own. Many things are not obvious,
in the way they normally are when I am working with Python. This
places a lot of burden on the documentation, which - as said elsewhere
- is confusing. It's a shame.

(The best image that I can cast is of a rough gem. A good gem cutter
can see the finished gem through layers of dirty, and locate the
correct planes to cut. For others, even knowing that the gem is inside
there is not enough, for they can't see it until finished. For me Zope
looks like an still unfinished gem, and even if I know that there is a
beautiful gem inside, I can't just see it there.)

--
Carlos Ribeiro
Consultoria em Projetos
blog: http://rascunhosrotos.blogspot.com
blog: http://pythonnotes.blogspot.com
mail: (e-mail address removed)
mail: (e-mail address removed)
 
I

Istvan Albert

Carlos Ribeiro wrote:

feeling. For me, Zope lacks Python's inherent clarity; it seems that
it requires a 'mental mode' of its own. Many things are not obvious,
in the way they normally are when I am working with Python.

Web development in general is quite messy. Most of it
is spent on formatting the output and collecting
the parameters. There are no obvious choices and
there is no inherent clarity in the process.

Istvan.
 
M

Martijn Faassen

Will said:
So Zope still lives, yay. Well, I like that they use Python.

<rant>

What amazed me is they write that they "added types to the variables
and hope that it will be added to the Python project too". Really.
ROFL.

Admittedly this is not a very good description of what is done, but I
believe you lifted that out of an article on it on zdnet, so they can
hardly go into deep detail there.

What this actually talks about is the explicit interface notation. This
actually has a long long history in the Python world and the Zope
project has been involved in this discussion for as long as this
discussion exists. It goes back to Jim Fulton's straw man interface
proposal from, I think, 2000, and the discussions on the now-defunct
types-sig.

The interface system is also in use by Twisted. PyProtocols is another
large Python project that can make use of Zope 3 interfaces (and adds
ideas of its own).

So, while this may come across as arrogant from the Zope project, please
note the following:

* there's a long background on this of Python community discussion. It's
not something that the Zope project is suddenly dumping on you.

* it's unfair towards the Zope project and Zope corporation in
particular. They've funded a lot of core Python development over the years.
And instead of working on the engine they should have put more work
into examples.

Both need to be done. :)
Simple tutorials.

While I am sure they can be much improved, and the web presentation of
the Zope 3 project is not very ideal, I don't think the situation is as
dire as you suggest here. Witness the Zope 3 book:

http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/FrontPage/Zope3Book
Downloadable executables for
Windows that you can click and install.

Someone still has to sit down and do this, I think. They do exist in the
Zope 2 world, such as for Zope itself, Plone, and Silva.
But most of all simple and
good examples: webapplications like
- a wiki in zope

This exists, actually:

http://svn.zope.org/Zope3/trunk/src/zwiki
- a forum in zope, with agenda and calendar
- a game like http://216.199.69.100/war/ in zope

They have a nice free webhosting thing for zope, but to expect new
users to do everything from scratch...
The "examples" I found were very disappointing.

I'm not sure where you were looking. Concerning examples and tutorials,
Zope 3 is just in its beginning phase.

Regards,

Martijn
 
M

Martijn Faassen

Steve Holden wrote:
[snip]
Well indeed, the developers are a bunch of smart cookies (no pun
intended). But I still await a comprehensible description of how the
whole system works for 2.7, let alone X3 - how to put sites together,
and the best way to achieve various results, and so on.

There's a lot of knowledge floating around in the Zope 2 community on
how to do it with Zope 2.x, but I don't know whether there's a book that
actually has it written all down, and the website is, as you mention, a
mess.

The Zope 3 website could use a lot of work as well; it's now rather
intimidating. I think however that a coherent story about Zope 3 is a
lot easier to write than a coherent story about Zope 2.x, with all its
years of evolution of code and changing insights. Zope 3 in a way *is* a
distillation of what Zope developers have learned from Zope 2.

I think one good community project would be a Zope 3 website project, to
make the Zope 3 web presence a lot more friendly. Zope 3 is actually
quite pythonic, and the new component architecture, while doubtless
intimidating at first, is very powerful while being a lot less likely to
shoot you in the foot than Zope 2's power is.

Zope 2 has the famous 'Z shaped learning curve'. It starts out really
eay, then it suddenly gets horribly complicated, you're confused for a
very long time, until after a long struggle you finally can do stuff
with it, while still swearing at unpythonic behavior.

Zope 3 has (we hope) a saner learning curve. Zope X3 in particular is
harder to start out with than Zope 2, as there's no friendly clicke-ty
click web interface. It takes a bit more programmer investment. It
should however a easier a lot faster than Zope 2, while remaining a lot
more Pythonic along the way.

I have personal experience with the Pythonic nature of Zope 3, as I'm
part of another project (Five) that managed to hack part of its
functionalities into Zope 2. That wouldn't have been possible if Zope 3
isn't a more accessible library of Python packages.

Regards,

Martijn
 
M

Martijn Faassen

Carlos said:
From time to time, I download Zope, try it a little bit, and uninstall
it. Perhaps I am too dumb for it (which may be the case) :-( ... but I
somehow feel that there is a problem, for I am not alone in this
feeling. For me, Zope lacks Python's inherent clarity; it seems that
it requires a 'mental mode' of its own. Many things are not obvious,
in the way they normally are when I am working with Python. This
places a lot of burden on the documentation, which - as said elsewhere
- is confusing. It's a shame.

I agree that this is the case (and I've been working with Zope for many
years). Zope 2 is many ways rather unpythonic. There's a lot of stuff
that could be a lot more clear and Pythonic.

On the other hand, Zope 2 suffers like any large framework does. While
they (hopefully) offer a lot of power, it is inevitable that parts of a
framework are not ideal, and it's also inevitable you have to invest
time on how to use it effectively. So in part I think this lack of
clarity is inherent to what it tries to be.

Zope 3 tries, and in most part succeeds, to be a lot more Pythonic than
Zope 2. That should help in part. Zope 3 is of course a large framework
as well -- it'll be inherently take time to get into it and use it
effectively. Nonetheless, Zope 3 also tries very hard through its
component architecture to be a framework that is a lot *easier* to
integrate with than Zope 2 ever was.

Regards,

Martijn
 
M

Martijn Faassen

Carlos said:
From time to time, I download Zope, try it a little bit, and uninstall
it. Perhaps I am too dumb for it (which may be the case) :-( ... but I
somehow feel that there is a problem, for I am not alone in this
feeling. For me, Zope lacks Python's inherent clarity; it seems that
it requires a 'mental mode' of its own. Many things are not obvious,
in the way they normally are when I am working with Python. This
places a lot of burden on the documentation, which - as said elsewhere
- is confusing. It's a shame.

I agree that this is the case (and I've been working with Zope for many
years). Zope 2 is many ways rather unpythonic. There's a lot of stuff
that could be a lot more clear and Pythonic.

On the other hand, Zope 2 suffers like any large framework does. While
they (hopefully) offer a lot of power, it is inevitable that parts of a
framework are not ideal, and it's also inevitable you have to invest
time on how to use it effectively. So in part I think this lack of
clarity is inherent to what it tries to be.

Zope 3 tries, and in most part succeeds, to be a lot more Pythonic than
Zope 2. That should help in part. Zope 3 is of course a large framework
as well -- it'll be inherently take time to get into it and use it
effectively. Nonetheless, Zope 3 also tries very hard through its
component architecture to be a framework that is a lot *easier* to
integrate with than Zope 2 ever was.

Regards,

Martijn
 
M

Martijn Faassen

Nicholas Wieland wrote:
[snip]
Sorry, probably I'm just tired (work to buy coffee <-> drink coffee to
work inifite loop, as usual :p), but I can't find where exactly they
made such a claim. I'm really interested in this because a friend of
mine (Volonghi) asked me exactly the same question... I think that
"someone - somewhere" misunderstood what interfaces are, but I'm not
sure. The only thing I'm sure is that I'm writing components for ZopeX3
in plain old good Python from milestone 3 :)

This zdnet article made such a claim:

http://news.zdnet.co.uk/software/applications/0,39020384,39173322,00.htm

I think it's just a case of a journalist trying to make comprehensible
with that Zope 3 interfaces do.

"""
Zope developers have also extended the Python programming language so
that variable types are specified, rather than being loosely typed, said
Richter. He hopes that these changes will eventually be given to the
Python project.
"""

That or Stephan Richter didn't explain it very well. :)

Interfaces are just annotations for classes and don't change the dynamic
typed nature of Python at all. Interfaces do allow for powerful
introspection (which the component architecture builds), and they also
function as API specification.

Regards,

Martijn
 
M

Max M

Steve said:


I thought so :)

I'm on Windows too, and Z3 the installer seems to be in a pretty sorrow
state there.

I think it is pretty simple to get it running. But stuff like scripts
being called "mkzopeinstane" instead of "mkzopeinstane.py" and there
being references to folders that don't exists in the Windows install, so
you need to guess which ones to use instead.

Minor things like that. But if you have no idea as to how the things
should be connected they get pretty major.

--

hilsen/regards Max M, Denmark

http://www.mxm.dk/
IT's Mad Science
 
T

Tim Peters

[Max M]
[Steve Holden]
[Max]
I thought so :)

I'm on Windows too, and Z3 the installer seems to be in a pretty sorrow
state there.

The Z3 Windows installer is exactly what you get if you:

1. Unpack the Linux Z3 tarball.
2. Run "install.py bdist_wininst" from its root, on a Windows box
with MSVC 6.0 installed.
3. Rename the installer that step generates to remove the blank
from its name.

IOW, it's a 100% vanilla distutils-based installer, by way of Zope's
zpkg, and should be equivalent to what gets created on Linux. If it's
not, that's a bug in distutils, or in zpkg, or in X3's zpkg config
files.
I think it is pretty simple to get it running. But stuff like scripts
being called "mkzopeinstane" instead of "mkzopeinstane.py"

That's a religious battle in distutils-land. At least half of
Linux-heads seem to think it's offensive to God to leave an extension
on an "executable" script, and since most contributors to open
software are Linux-heads, .py gets stripped on most such files.
There's no solution to this short of changing distutils to grow
platform-specific rules about retaining or stripping extensions.
and there being references to folders that don't exists in the Windows
install, so you need to guess which ones to use instead.

That's news to me. The entire X3 test suite (both unit and functional
tests) passes on Windows, when run from a Zope instance created from
what the installer installs, and that accesses virtually every part of
X3.

If you have more details about that, the zope3-dev list would be a
better place to reveal them.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top