[Zope] Zope and Vignette

Michael Hirsch hirsch@z2i.com
Thu, 7 Oct 1999 12:10:33 -0400 (EDT)


Dear Zopers,

I went to a presentation by a Vignette technical guy yesterday.  Last
week I visited Digital Creations where I had a great meeting with Paul
and Jim (hi guys).  I thought y'all might like to hear my impressions
of the similarities and contrasts between the two companies.

I'd like to start by thanking the people who gave me some things to
look for in the Vignette meeting.  It was very helpful.

My first impression is that Vignette knows how to sell and DC knows
about software engineering.  As a developer it was a lot of fun
talking to DC about Zope, but it was mostly about underlying
technology.  Vignette talked (too much, for my taste) about what it
does, but not how it does it, but at the end they had managed to show
off lots of neat features that make for good bullet points.  With DC I
ended up with a good idea of what could be done, but not how much of
it had been prepackaged.  More on this later.

Vignette's product is call StoryServer.  It appears to me that Zope
and StoryServer have essentially the same capabilities.  StoryServer
appears to be Tcl based (at least the scripting language is Tcl based)
whereas Zope is Python.  The object oriented nature of Python may make
it more powerful, but also, perhap, more confusing at the beginning.
The StoryServer scripting seemed rather fragile to me--little happens
automatically (see below for a discussion of flushing the cache) or by
default.  The Zope concept of "acquisition" operates very powerfully.
If I had to redo a site I'd rather use Zope.

StoryServer has a very clever caching mechanism.  They cache
componnets in the native filesystem, then let Apache's server-side
include mechanism compose the files.  (It wasn't clear to me how they
manage to track users paths if the user only goes to cached files, so
it is possible that they always have some communication overhead--I'm
not sure.)  The Zope cache is inside the Zserver, so probably a little
slower.  OTOH, when a Zope object changes it automatically notifies
the cache, whereas the StoryServer cache needs to be explicitly
flushed.

When the cache is not in use StoryServer appears quite slow.  Even
with the cache they only claimed 1M hits/day using a dual CPU Ultra 2
sparc, which sounds much less than Zope.  But I haven't tested either.

StoryServer appears to have much more "out-of-the-box" capabilities,
though it is not clear to me whether that is only appearance, or
reality.  For instance, StoryServer has canned tools for workflow,
cookie management, detection of browser versions, and user tracking.
(Of course, cookies and browser detection are not very difficult.)
I'm sure that Zope can handle such tasks, but I don't know if such
tools are already written or need to be done from scratch.  For
instance, I've heard Jim or Paul say that they know how to deal with
cookies, but I'm not sure what the capabilities are.

Where StoryServer really wins is in the interface.  They have a nice,
Java powered user interface that provides a point and click method of
both writing code, and administering the site.  One big example is
workflow.  StoryServer has a nice system for moving content around,
starting with the initial content entry, then through reviews by
e.g. marketing, legal, etc., until it is finally published.  All of
this is configurable and doable though a nice GUI interface.  I have
confidence that Zope has the capability to perform all these tasks,
but expect that is must be programmed from scratch.  In any case,
there is no fancy GUI for doing this under Zope.

Most of the other differences pointed out by Vignette are FUD, but
just because it is FUD doesn't mean it isn't true.  It would be nice
to know of a high volume, high visibility Zope powered site.

I'd like to hear any contribution/criticisms to the above.  We will be
making a decision very soon and more knowledge is always good.

Thanks,

-- 
--Michael