[XML-SIG] Python / XML / XSLT vs. Cocoon for website server side
Thomas B. Passin
tpassin at comcast.net
Fri Aug 15 02:54:02 EDT 2003
[Richard Johannesson]> Tom - thanks for the feedback.
> I've read a bit on Zope and seems like it’s a great product. I haven't
> looked into Plone yet but will be looking into it now. Thanks for the tip.
> The thing about Zope, my impression is that once you develop the app in
> your pretty much stuck with that application server.
Well, yes, but if you developed with, say, Cocoon, it would be the same. At
least, Plone uses xml page templates, Python, and CSS.
Zope is actually very good for integrating with other apps, because it
supports FTP, WEBDAV, and XML-RPC out of the box. We integrated it with a
java system that got data from somewhere using CORBA. We had the java app
run a small server daemon to talk to Zope, and passed XML messages between
them. I wrote a simple adapter (in Python) to let Zope run xslt
transformations, and created the display that way - our equivalent of
"business logic" produced xml, which we transformed to HTML inside of Zope.
It is true that Plone does not work that way, but the point is that when you
want to extend its functionality and go to integrate it with other systems,
all these capabilties are available to you. You really can integrate
anything that has a (C-)python wrapper, or is written in Python, directly
into Zope (via Exteral Methods), and nearly anything else via XML-RPC or
plain message-passing as I described above. Actually, there is now some
ability to use perl scripting too. On Windows, there are Windows and COM
extensions for Python, so you can make use of that whole area if you like.
On the other hand, Zope does not have much in the way of native XML handling
yet. You have to work out how to use the Python XML libraries when you want
to do XML (aside from the page templates). I have not found this to be a
real problem, though.
> Probably the case with
> any system, but the thing that's appealing with XML / XSLT from a business
> point of view at least is that it’s a standard. This might give you
> flexibility to merge with another website to provide additional service
> offerings since most major application servers support XML/XLST. If the
> companies you can easily merge applications with must be running Zope,
> will limit your flexibility and therefore your value.
> Now, if its easy to integrate Zope applications with applications running
> .Net/Jboss/etc then this is not an issue.
> Part of what I'm trying to figure
> out is, from the experts that have been in the trenches with these
> what is their experience. Just my impression about Zope is that it's a
> pretty closed system.
On the contrary, it is quite open, depending of course on what you mean by
that. The code is open source, and there is a large and active community
working on applications, tools, and utilities. Zope is a large and complex
system, though, and there can be a real learning curve. Fortunately you can
do a lot with very simple means with it - you do not have to use but a
fraction of its capabilities - it will bring many more with it but you do
not have to do anything special to use them. And, as I have indicated
above, you can use it in many ways. It also comes with a very good object
database, which in fact can by used separately from Zope if you like.
>If this is incorrect please let me know. I would hate
> to unfairly dismiss a great platform such as Zope.
> Any idea how large the websites are that run Plone or Zope? So, number of
> users that use the website and number of pages that make up the website?
There are some large, active ones. As a point of interest, the CBS-New York
site (not Plone) is run by Zope -
You can find some lists of large sites, as I recall. To handle a lot of
hits, you have to do some things like put it behind a group of Apache
servers. There are some guides on how to do that.
Anyway, the upshot of all this is that if you are inclined to Python, and
you want a content management site that you will later extend, Plone/Zope
would be a really promising starting point.
This is getting a bit OT, so maybe we should take it off line if you want
More information about the XML-SIG