[Zope] Using Zope to manage and serve large files
huima at iki.fi
Fri Oct 31 16:47:36 EST 2003
Often when my customers have got used to Zope and especially Plone as
the UI to manage their website, questions go to using Zope and Plone for
document management in intranet. It is old story that we all know how
Zope sucks while serving large files compared to Apache. Serving large
files from filesystem with Apache however takes out the whole point of
using Zope - security mechanism etc.
Has anyone achieved to combine Zope and Apache/php to serve and manage
large files in a way that allows metadata and security of the files to
be managed in Zope, but actual serving happens from Apache so that
ZServer does not hog memory and processor.
I thought about the possibility to integrate Apache/php and Zope via a
database and tokens that are passed from Zope to Apache. The scenario
could be following.
1) Apache and Zope are serving data from the same domain. Zope could be
www.myfoobar.com and Apache could serve download.myfoobar.com
2) within the portal I would have a portal_external_storage_tool that
defines the configuration and methods for storing and serving data
outside Zope, including the database that is shared
3) Content types are own content types based on Archetypes and include
logic for handing over the download to Apache
4) When user within the portal wants to download a file, the view /
download function of the content type ( that is protected with Zope
security machinery ) writes into the databse a token based on user,
time, file or so.
5) User is transparently directed to the application in the download
host to download the file. Token would be passed within the url
6) Download application checks that the token is valid for that file and
that time - and starts serving data to the client.
Has anyone done anything similar - or do you have other ideas on how to
More information about the Zope