[Zope] Zope and Lotus Notes

Mike Renfro renfro@tntech.edu
Mon, 6 Aug 2001 09:17:48 -0500


On Thu, Aug 02, 2001 at 07:41:26PM +1000, David Lutz wrote:

> and I also wanted to give an example of a company with a Lotus
> Notes/Domino web application that had been rewritten in Zope, or
> done in Zope instead of Notes.

Our best example isn't public yet, either. It could be classified as a
rewrite of an existing Notes project, but could also be classified as
a from-scratch project, since there wasn't much useful and applicable
Notes content from the first attempt. At the risk of exposing serious
flaws in our decision process, here goes.

Reasons we went with Zope on the project, any or all of which may not
apply to your particular situation:

* I knew Zope already (but I certainly picked up enough since then to
  make me think I really didn't know it well at all), and had no
  experience with Notes at all. The grad student who had the Notes
  experience had left, and the amount of retooling the work would have
  required for the new version would have been comparable to a complete
  rewrite.

* Really odd database layout. It's not relational, it's not
  object-oriented, it's... what? But maybe I just had a poor
  introduction to it.

* No client access licenses, no extra cost for an SQL link, etc. Plus,
  the majority of our users would only have a web browser (partially
  because of the client license cost). It was assumed that we'd lose
  some of the benefits of Notes by working exclusively over the
  Web.

* Good Unix/Linux integration, which to me means more than "here's our
  RPM for RedHat 6.2". There's a Zope package for Debian, and if I
  need 2.3.3, I can recompile it myself from Debian's unstable tree
  sources. Plus, if this project ends up getting enough traffic to
  warrant its own Sun, AIX box, or similar, we just move it. I could
  be wrong, but it seemed that we were going to pay out the nose for
  Notes on any platform other than NT.

* Since the project was going to buy a server and a development
  workstation, we were able to pool funds from another project and got
  a far better server in the deal. Our project bought the server
  itself, and the other one bought the RAID array. We couldn't have done
  this if we'd been limited to running NT on the server.

* One other thing we found afterwards is that's it's really economical
  to run multiple Zope instances on the same machine as development
  and production servers. The whole INSTANCE_HOME thing really helps
  out there: I can keep core Zope functionality for all my sites in
  /usr/lib/zope/lib/python/Products, but put site-specific code in
  /usr/local/zope-dev/(sitename)/Products -- I can restart my
  development processes without disturbing the production sites, too.

-- 
Mike Renfro  / R&D Engineer, Center for Manufacturing Research,
931 372-3601 / Tennessee Technological University -- renfro@tntech.edu