[Zope] Zope startup questions

Michel Pelletier michel@digicool.com
Thu, 04 Nov 1999 17:27:08 -0500


Alexander Limi wrote:
> 
> Hello.
> 
> Currently, we have over 300 artists that each need their own management
> console for uploading mp3's, pitures, html etc.

Zope's delegation of content managment is perfect for this, and comes
stock with Zope.
 
> 1. What is the status of the mod_zope development? Our ISP runs apache, and
> the solution with apache and PCGI is not exactly the ideal one.

PCGI is also not exactly horrible, we use it on our site.  If you really
don't want PCGI, you have two other options for interfacing Apache,
mod_fcgi, and mod_pcgi.  mod_pcgi is alpha, and not currently activly
being developed, but you might be able to bring it up to par for your
application.  mod_fcgi uses the FCGI Apache model to communicate with
Zope.  It works similarly to PCGI, except that FCGI has many more
features and is understandably more complex.  FCGI is rumored to be
faster, I have no conclusive proof of this, however.
 
> 2. Localization - we would like to implement the whole site in two
> languages - English and Norwegian. Any useful tips? Any finished Products
> supporting this?

There are a couple of ways, first, you can keep all of your 'common'
functionality in the top level folder of Zope, and then have two folders
below that acquire all of that common stuff, for example:

/
stuff
  EN/
  NO/ 

Using Zope's acquisition (which is implicit, ie, you don't have to try) 
You can call either /EN/stuff or /NO/stuff and have similar layout,
funcitonality, database method, etc, that *acquire* their language
context.

ALso, you could simply hardwire logic into your site's layout:

<dtml-if "LANG=='NO'">   <= note that your server, or something, must
set LANG
  Hello in Norwegian!
<dtml-else>
  Hello in English!
</dtml-if>

> 3. Performance - how does zope compare to PHP/mySQL in terms of
> performance? Our box is a dual Pentium 180 with 224M RAM and SCSI disk
> subsystem running linux. 10Mbit connection to the internet.

It should work just dandy, don't expect it to take gobs of hits but the
RAM and SCSI should keep you chugging right along, swapping is the real
killer, Zope can consume a good amount of memory depending on how many
objects are active all at once in the object cache (which you can tune).
 
> 4. Security - how secure is Zope? Our sysadmin is pretty paranoid (as he
> should be :), and I'm just wondering how secure it is. Field experience
> comments welcome :)

I've only ever heard one exploit reported, and we fixed it in 4 hours
and made a new release the next day (eat your heart out M$).  Also, if
Apache is your HTTP server, you can use all of Apache gizmos and
security thingies to protect your actual machine and HTTP port.  PCGI
and FCGI add a 'layer' between the port and Zope.
 
> 5. OO-database system - the default behaviour of Zope is to store
> everything in the database - including pictures and MP3s. We plan on
> distributing the MP3 files to several servers, and construct an object that
> analyses the load on every servers every time a user requests a download.
> Obviously we should separate these files from the main database, as it
> would become extremely big after a while. Does anybody have any experience
> with solutions for doing this?

Zope works just fine with other web servers on other machines, it can
also, for example, quiery a relational database for external URLs (and
allow you to manage the DB through the web).

> And would linux' 2GB limit on files pose
> problems for the main db-file after a while?

Yes, if it got that big.
 
> 6. This is a bit specific, but anyway: users should be able to write
> "http://mp3.no/artistname" and be sent directly to the artist with that
> name. Does Zope have any specific mechanisms for doing this?

Uhm.... yes, but it would require some trickery if you want that
information to come from, say, a database, but nothing to complicated.

Otherwise, you can just create a top level folder for each artist.  This
could get pretty hard to manage however, you might want to consider
http://site/Artists/artisname


-Michel