Kudos to Seb Bacon's Jamkit , and to Chris McDonough, who consulted to Jamkit for this
deployment.
Interesting to see this on a Java-focused site:
Online travel company Lastminute .com is using
new open-source technology to rebuild the
front-end architecture of its Web site, as part
of a major site overhaul that will begin in the
spring.
Web services firm Jamkit has been advising
Lastminute on the new open-source Web server
ZOPE, which provides a toolkit for content
management. The system is written in Python,
which Jamkit called an "up and coming"
programming language to rival Java.
|
Zope has always been an odd beast to package. It uses and depends on Python, and includes a large number of Python packages / modules / extensions, but is not properly any one of those three: it is an application.
Worse, Zope-the-application, like PostgreSQL, runs server instances; each instance on a machine has its own configuration / database setup.
Here are a couple of desiderata for any scheme for packaging Zope:
- platform neutrality
the solution should make generating Debian,
RPM, etc. packages simple, without requiring any
one of them; it should also be trivial to
generate Windows installers, as well as source
distributions. distutils makes a partial start
at this goal, which is a big plus for finding a
way to reuse it.
- data with code
Zope makes heavy use of the technique of
packaging application data (icons, templates,
help files, etc.) with the Python code which
uses them; that code then introspects __file__,
etc. to find the files. distutils' support for
bundling data is primitive, at best.
- only explicit sharing
don't assume that every other user on the
system wants / needs the component to be
packaged; rather, make it possible to share,
but not mandatory. distutils assumes sharing
by default (it wants to pollute site-packages),
and requires ill-documented workarounds to
disable that.
|