[Zope] One-To-One, Story Server, Teamsite, ... Zope?

sean.upton@uniontrib.com sean.upton@uniontrib.com
Mon, 18 Dec 2000 10:32:10 -0800


I, perhaps, can answer a portion of your questions with some thoughts on
news content management from someone who has worked for several medium to
large daily newspaper's online presences.

News portal - I am currently developing code to create an intranet editorial
system, with archive and asset management capabilities that revolves around
the collection of millions of objects using the News Industry Text Format
XML (NITF) and IIM Guideline 3 (a subject hierarchy specification that works
well for portals); both of these are international standards from the
International Press Telecommunications Council (IPTC).  I am currently
working on a content-management front-end, as well as a
search/browse/display front end using Zope/ZCatalog as a navigation means
using IPTC subject codes as a means to browse by fine-grained subject.  A
news portal is nothing more than a query (perhaps using RSS results) to such
a subject system.  Zope is a perfect fit, given it caches parsed XML (using
the internal DOM).  XML support in Zope is constantly improving, so this
looks optimistic.  Plus, there are tricks in Zope that can increase your
performance (like using ZCatalog for navs, and perhaps using ZCatalog's
metadata tables as a cache for renderings of XML DOM traversals).  I'm
planning on an initial code release before years end as a product on
zope.org, and I would be happy to share what I have with you now, if you are
interested.

>>>>>
More specific answers to your questions in the line-by-line below...
The three first are the most recognized brands for content management
software, at least among industry journalists. For anyone previously
involved with content management of a large scale site, Interwoven's,
Broadvision's and Vignette's high-end suites, respectively, are
probably the default chooses for web and e-business management, no
questions asked.

I'm reflecting this because I would like to have the big picture of what
each product is able to do, without exagerations. I've never seen
running any of those products, and since I must advice the company I
work for about the software it will need for its news portal, in adition
to what nice pdfs and catalogs can show off, I am truly interested about
what Zope can do and what it can't, COMPARED to those first.
>>>>>

Perhaps the biggest problem with those packages is that for the most part,
those companies are marketing companies, which means that they are going to
spend a lot of time having sales people convincing you that they have a
turnkey solutions, when there is really no such thing.  I see no reason to
spend a quarter-million on software after consulting and customization and
not have a completely open platform (i.e. not be held hostage to one of
these vendors).  

I don't have experience with most of these products; I have a copy of
Vignette StoryServer in my desk that I haven't even opened or installed,
partially because I don't have time to evaluate a piece of software that has
finite limits in terms of being extended, when I am having no problems
coding in Zope.  Building content management systems using tools provided by
Zope is powerful enough to create EXACTLY what I want, without a lot of
fuss.

>>>>>
Is Zope stable enough working connected to large databases? How does it
behave with high traffic sites? Does it support clustering? What is the
largest site running it? Have anyone put their hands on any of the
mentioned tools and make comparisons?
>>>>>

The site for my company (a top-20 daily newspaper) probably draws 12-13
million hits a day, mostly served from static pages, automated on the
production side (rather than delivery).  As part of a datacenter move, we
are redesigning online classifieds, running on Zope; at first this will be
running on a single server that is used for a variety of tasks (a Sun E450
that will be running our MySQL and Sybase database services as well as some
dynamic content served from ColdFusion and Zope).  If traffic increases,
Zope will move onto our load-balanced web cluster/farm nodes using ZEO.  

I haven't deployed these things, but I can safely say that I am confident
that scalability is less of a domain of your platform, and more of an issue
with app design and hardware you have.  Bottom line, invest in cool hardware
and good people, and you are set.  If you can save $100k by going with Zope
over a proprietary CMS solution, you can devote that money toward staff
training and retention, as well as load-balanced HA hardware configs.

A thought on scalability: these days, it is really cheap to add extra 1U
servers (look at the Linux hardware companies like VA, Penguin, etc, not at
wasted money on Sun Netras and the like), and load-balancers are either
cheap or free, if you have the time (if you don't put down 10-25k in a pair
of hardware-based load-balancing appliances).  

Note: Zope uses transactions and these are transparently extended (hooked)
into the transaction machinery of your RDBMS.  This is good for a lot of
reasons; a lot of folks have had good luck using Oracle with Zope.

A thought on choosing solutions: choose a platform that will fit your use
cases well, and one that gives you control over your destiny.  I worked for
a software vendor previously that depended on content systems from
Folio/Nextpage for a core component of their software suite.  The folio
LivePublish system is a search engine and repository with an SDK that allows
some levels of customization, but that is only finite.  Being dependant upon
that company hurt the OEM/partner software vendor in a business sense (they
were sold to Lexis-Nexis, then to Open Market, then back to investors in
Utah, who renamed the company, which means agendas of the vendor were
constantly changing); they changed their business model to collecting
royalties depending upon site traffic and sales, which screwed their OEMs
that previously were exempt from that status - renting software sucks!
Every proprietary solution will go down a similar sort of road, it is a
question of when;  with Zope, at least everything is open, there are
multiple vendors to choose from, and nobody has a hidden agenda to sell you
software products like SDKs that you may or may not need.  

Also, in open-source solutions, you tailor the platform to meet your use
cases; you can then worry about scalability as a secondary concern, because
there is much room to make things faster if you are clever in systems
design.  In truth, the biggest bottlenecks to scalability are not going to
be web applications or hardware that they run on, rather proxy servers
(especially non-caching) and load-balancers without out-of-path return
(Cisco and Intel load-balancers have this), as well as your database and
RAID/storage backend (primarily due to latency).  This does necessitate
spending more, perhaps, on system administration staff (more machines = more
people to admin), but that is probably an inevitability regardless of the
platform you choose.

>>>>>
Although it sounds silly, I need reasons to convince someone else that
saving money is for good. That none of those
super-coded-worth-a-third-million solutions is much better that a
genuine GNU initiative, meaning Zope in this particular case. 
>>>>>

While Zope isn't GNU software (open source != GNU, necessarily), it does
have the advantage of being open, not holding you hostage, and exhibiting
the best-of-breed in terms of development processes.  Countless companies
throw millions of dollars at product vendors only to find out what they
needed was so much customization that they should have rolled their own
solution; or they throw those millions into capital expenditures budgets
without concern for their human resources budget; either way, there is
problems.  An open source solution will save you money, and allow you to
concentrate spending that money what it is really needed: guaranteeing the
success of the project by keeping people.

>>>>>
And, by the way, when are we going to see the first large ASP (meaning
NASDAQ registered) with support for Zope?  
>>>>>

I don't think ASPs should be a factor in deciding platforms.  The upside is
this: anything you design in Zope can be extended to other folks using
XML-RPC, and Zope can be an XML-RPC client, enabling you to use and create
services for partner sites, customers, and vendors.

With that said, I think Zope is the most appropriate for the problem domain
of news content from my standpoint in the news industry (I've developed
software working for 2 newspapers and was director of development at a
News/Photo archive/repurposing vendor).  And with all news content (AP,
Reuters, AFP, newspapers) moving to using NITF XML and the IPTC subject
guidelines, it's time to start thinking about how easy it is to create
portal and asset/content management solutions using (Zope && ZCatalog && the
IPTC subject system).  I have a hunch that XML and Object Databases are a
natural fit (especially in light of creating customized indexes using
methods to render text, field, and keyword indexes), which relegates
relational databases to the back-burner in XML solutions.  Zope is
especially a good fit if you want to publish to multiple media (print,
wireless, html, palm, PDF, etc).  Zope is the best solution I have seen for
such a solution - and I've been looking for years.

There is more of a picture of what I am thinking at:
http://www.zope.org/Members/seanupton/newsportal.pdf

Good luck,
Sean

=========================
Sean Upton
Senior Programmer/Analyst
SignOnSanDiego.com
The San Diego Union-Tribune
619.718.5241
sean.upton@uniontrib.com
=========================