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

Michel Pelletier michel@digicool.com
Wed, 3 Mar 1999 10:17:04 -0500


> -----Original Message-----
> From: Tony McDonald [mailto:tony.mcdonald@ncl.ac.uk]
> Sent: Wednesday, March 03, 1999 9:42 AM
> To: zope@zope.org
> Subject: [Zope] Some tough questions about zope... (long)
> 
> 
> 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.
> 
> I've read a lot of the documentation, and am doing so constantly, but 
> the wisdom of the list would be very helpful indeed.
> 
If you continue to use it you will get the Zope Zen. :)

> 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!".

This begs the question we've asked around here so many times, 'What is
data?'  Everything in Zope is Dynamic, in my thoughs, 'non-dynamic' is a
Document with not DTML in it.  But there is no way for Zope to sniff a
document and see if it contains dynamic structures or not.  Perhaps what
could be done is to write a simple MyDocument that you stipulate in
policy never to have dynamic stuff in it, and then write a crawler
scripts that sucks out all such documents into a local file structure.
There maybe easier solutions.

> 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

...do what? ;)  Zope can call your cgi scripts just like they are, as
URLs.  They would, of course, have to be external to Zope and if you
have a bunch of little ones you may find it better (and a damn sight
easier) to rewrite them as Python in Zope as external methods. (DTML is
also a rather powerful language for being so simple).  Just leave your
PHP stuff in your documents; Zope will parse out the DTML and return it
to the server, which will parse out the PHP stuff and return it to the
browser.  In fact, you can probably make DTML and PHP work together
nicely and simplify much of your PHP code.  In the quickie case you
don't need to change your PHP.

> 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?

Zope doesn't contain an XML parser.  You would need to do this with an
external package.

> 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)?.

Yes.

> e) Can I 'point' an Apache virtual server to run a Zope cgi (ie 
> dropping the :port requirment).

Yes.

> f) I'd like to have the option to have user authentication 
> information coming from a database - is this possible?

Yes.  There is an unsupported open source User Folder Product called
UserDB, where you tell it how to query your DB and it uses that for
authentication.

> 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?

Not at all.

> 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)?

ooo.  Someone has yet to write an ExternalFile product (though I suspect
it would be fairly simple) to add objects to the db that refer to files
outside the db.  For now you can upload them as File objects to be
contained entirely in the db.  The same rules that apply to file name
conflicts in, say, a UNIX filesystem, apply to the Zope db.  You can't
have the same object id in the same folder. (With a minor non-exception
of aquisition, all lower folders can see the contents of higher folders,
but if you place an object in a lower folder with the same id as an
object in a higher folder the lower object will override the higher
object.  Get that?)

> i) Does Zope have the equivalent of 'server logs', which we 
> use for research.

Since Zope is served through a web server you can continue to use the
server logs.  In other words, No. ;)  Object by Object logging is
something we've discussed, but would require *a lot* of thought and
work.

> 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)

If that file is being served up by Apache then you can just use it's URL
as a 'pointer'.

> 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...

Ah yes, the inevitable benchmarking question.  There are lots of issues
here, memory footprint vs processor speed vs concurrent access...etc.
The quick word is, Zope is fast and it will get much faster.  Zope is
currently not concurrent but will be in 2.0.  Zope+Apache is a bit slow
due to the pcgi bottleneck and is much improved by using ZServer.  As it
stands now, ZServer is something like twice to 10 times faster than
Zope+Apache.  Medusa (the web core of ZServer) serializes the requests
into Zope at the moment, but when 2.0 comes out it will be the fastest
web application platform on earth.  Don't quote me.

> 
> 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....

No problemo.
> 
> many many thanks,
> tone.

-Michel

> ------
> 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
> 
> _______________________________________________
> Zope maillist  -  Zope@zope.org
> http://www.zope.org/mailman/listinfo/zope
>