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

Kevin Dangoor kid@ans.net
Wed, 3 Mar 1999 10:25:47 -0500


On Wed, Mar 03, 1999 at 02:41:53PM +0000, Tony McDonald wrote: 
,-----
| 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!

I know the feeling. I was choosing between ColdFusion and Zope for
developing my new application and had some similar questions. Ultimately,
I chose Zope.

[nice application description deleted]

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

Right now, there isn't. This question has come up repeatedly on the list,
to the point where DC is getting sick of hearing it and thinking of actually
implementing something :)

They have said it would be pretty easy, and I believe it. I think 
the basic idea is to write a method that will go through the Folders and
use the DocumentTemplate code to render out the pages.

| 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

If you're using Zope with Apache, you use mod_rewrite to get the
authentication headers passed to Zope. You can also use mod_rewrite to
decide how URLs map to content on your server. For example, you can
have all of the content on your site go through your Zope.cgi, but
/cgi-bin/* can go directly to your CGI or PHP files. You can access
MySQL from Zope, PHP and Perl, so they can all use the same data
source for the databases.

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

I'll leave this one to people more knowledgeable about XML.

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

I think it would be tough for DC to try to take it back at this point :)
Even if DC did decide to not release any more updates to Zope, the community
would probably continue working from the 1.10.2 code. Anyhow, DC had
sound business reasons to release Zope as Open Source. Over time, they
will likely get a lot of benefits by having done so and by encouraging
outsiders (like us) to work with and improve Zope.

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

Yes. This uses a technique called Persistent CGI. It works quite well.
There is also a hope that there will be better integration with Apache
in the future. Also, as ZServer stabilizes, you may find good reason to
migrate from Apache to it.

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

There is an unsupported bit of code called UserDB which is designed for
this.

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

Though I have no first hand experience with a Zope DB this large, the
DC guys have said that they've worked with some very large DBs.

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

You could put them in either place. There would probably be some
advantages to putting them in the database. For example, your standard
Zope security rules will apply to the downloading and updating of the
files.

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

I don't know about ZServer, but if you use Apache as your web server you
will be able to use your standard server logs.

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

Yes, you can do a redirect.

| 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've heard it said that Zope should be able to handle 500k hits or more
on reasonable hardware. Of course, this depends on exactly what the
server has to go through for each of those hits, etc. DC is also working
on concurrency for Zope 2.0. This will probably enable you to handle a
whole bunch of requests.
`-----

Good luck!
Kevin


-- 
Kevin Dangoor
kid@ans.net / 734-214-7349