[Zope] Some tough questions about zope... (long)

Tony McDonald tony.mcdonald@ncl.ac.uk
Wed, 3 Mar 1999 14:41:53 +0000


Hi all,
This is quite a long email where I ask a lot of questions about Zope, 
but I hope you'll be lenient with me as I think I have a few hard 
decisions to make!

Some background:
I'm one of the web developers here, with a remit to implement a 
curriculum database that can;
(a) support the Medical Faculty here
(b) get rolled out to three other Medical-related sites, each with 
their own 'look and feel'
(c) possibly implement a University-wide curriculum database.

The curriculum database is essentially delivering online study guides 
(over 100 for each Faculty) whose source is originally from very well 
marked up Word Documents. In addition, we include multiple choice 
questions, file upload of lecture notes etc. and some 'active' web 
pages showing dynamical processes in medicine etc. The curriculum 
database needs to be searchable across its entire breadth (although 
initially restricted to the one site), so that students and faculty 
can find occurences of, say, 'lung cancer' in lecture resources - 
this is to plan for curriculum management, so that we can find out if 
we're pushing subjects too much (or indeed, whether we're pushing a 
subject at all!). We have other applications (nearly all of which are 
written in Perl/PHP3) and want to seemlessly integrate them into the 
curriculum database.

Currently we do all our development work on Unix, using Apache 
virtual web servers, MySQL as our database engine and Perl running as 
a CGI for most of our applications. My input has been to introduce 
PHP-3 (an Apache module with a bulit-in XML parser) and some XML 
knowledge to the group. I've been looking at a scenario where our 
study guides are converted in XML using Omnimark and held as static 
XML documents in a database. They are then rendered into HTML/RTF and 
put into static web directories. The student can run a program that 
extracts elements from selected XML documents and creates a 
customised set of HTML pages or RTF document that is built for them 
'on the fly'. My manager was a bit worried about all these static 
pages lying about and to be honest so am I, but extracting the 
relevant XML from a database to render into individual HTML pages 
seems a massive drain on the system.

I found out about Zope Monday morning, dl'ed it, installed it, got 
one or two things working... and have been worried sick ever since.

My problem? is that I can see how Zope can do so much for us, but it 
seems to need a hell of a gut-wrench to do so.
There also doesn't seem to be an easy 'half-way' house to move to Zope.
I've read a lot of the documentation, and am doing so constantly, but 
the wisdom of the list would be very helpful indeed.

The questions:
a) Is there a way for us to 'dump' the non-dynamic parts of a Zope 
database into static HTML pages. This would act as a way to say to 
the team "look, we have a parachute!".
b) Can I integrate with the Perl/PHP3 programs that we have (the Perl 
programs are mainly .cgi, but the PHP3 programs are server-side 
scripted, and as such are embedded into the HTML itself). This is so 
that I can
c) Is there any way of using the XML documents that I'm creating into 
the database and parsing them to produce either HTML or RTF output?
d) I know that this a terrible question to ask... but is Zope likely 
to 'remain' open-source (we're worried about getting stuck with a 
proprietary system)?.
e) Can I 'point' an Apache virtual server to run a Zope cgi (ie 
dropping the :port requirment).
f) I'd like to have the option to have user authentication 
information coming from a database - is this possible?
g) We have something like 200 main level directories holding the 
study guides, each with up to 200 files in them - is that pushing the 
Zope database too far?
h) We also need resources such as QuickTime movies, images PowerPoint 
slides etc. to be uploaded - would they sit in the database or can 
they be held somewhere else (and what happens about file name 
conflicts)?
i) Does Zope have the equivalent of 'server logs', which we use for research.
j) Is it possible to have a 'pointer' at a location in the Zope 
database that will point to a 'real, honest to goodness' HTML file on 
the server (ie something like a redirect..oops I think I may have 
answered my own question)
and lastly
k) What kind of loads have people put Zope under (10,000 +hits a day, 
100k?). We have one application which has 170 Medical Students 
sitting in front of screens and clicking a button at the same time 
(they're selecting their final year options) which then starts 170 
CGI-based Perl processes off interrogating and updating the database. 
This really grinds the system down...

I hope that I haven't bored everyone to tears here - it's just that 
Zope seems to do an awful lot of what I need, and I'd really like to 
know what I'm letting myself in for if I start using it for 
everything I do....

many many thanks,
tone.
------
Dr Tony McDonald,  FMCC, Networked Learning Environments Project
The Medical School, Newcastle University Tel: +44 191 222 5888
Fingerprint: 3450 876D FA41 B926 D3DD  F8C3 F2D0 C3B9 8B38 18A2