[Zope] Re: audio order
nate at jazkarta.com
Mon May 24 17:12:04 EDT 2004
>>DirectoryStorage can handle really massive amounts of data,
>>and it's easier to set up than fiddling around with LocalFS
>>or ExternalFile or whatever.
>>Download speed of blobs is still an issue.
> I doubt I will allow direct downloads and listening will be streaming.
The fact that the files are stored within Zope means that you will still
have to serve them up via Zope (either download or streaming), and as
has been previously mentioned, Zope is not very good at serving up large
> Have you seen the audio products? In what way will they help me?
CMFAudio, written by Marc Bowery is fine for small MP3 files, but still
stores the files in the ZODB, so it wouldn't be suitable for large MP3
> Is it good enough to make a folder and dump the audio in there or will
> the audio products help me in some way?
It depends on if these audio files are going to be read-only, and only
addable by site administrator, or if you want to workflow, edit and
search for them.
If the former, you probably want a solution such as LocalFS (with the
streaming support), although performance may not be good enough for your
From your first post, it sounds like you need a frontend to add the
audio and edit the metadata. You may be interested to hear that I'm
working on ATAudio, an Archetypes-based content type which stores the
metadata about the audio file (song title, artist, album, year, genre,
etc.) in the ZODB, but stores the actual binary file on the file system.
The cool thing is that we've implemented an ID3Storage layer which acts
as an interface for reading/writing the ID3 tags from/to the MP3 files
This was done using pyid3lib (http://pyid3lib.sourceforge.net).
This saves you from doing a lot of data-entry, especially if your audio
files already have metadata embedded in them.
And it allows you to keep the metadata stored both in the MP3 file
itself (so it's used when people stream your audio), but also in your
Zope database (so it is searchable within your website).
You upload an MP3 file to your Plone site (or drag-n-drop via WebDAV)
and it will appear as an object in your site complete with metadata.
>>Note that the commonly deployed versions of LocalFS and many other
>>attempts at keeping Zope data on the filesystem actually perform MUCH
>>worse than the normal ZODB-based File class.
Unless you don't even use Zope to serve the file, but simply provide a
pointer to the URL where another 3rd party tool (such as Apache,
Icecast, Shoutcast, Edna, etc.) actually serves up the file.
This is how we do it with ATAudio. When you click on the 'Play' icon, it
auto-generates an .m3u file which points to the MP3 file being served
from your Apache server.
> Well I think the largest ogg file will be 9 megs. Certainly not 30- 50
Jens Klein (jensens) is working on providing support for OGG files,
using the pyOGG libraries. http://www.andrewchatham.com/pyogg/
> I am not planning to run apache in addition to zope. I haven't looked
> at ZEO and I will do that soon I guess.
Why aren't you planning to run Apache? It's pretty foolish to run Zope
'in the wild' without Apache in front of it. Also, Apache (esp. with
mod_mp3 or Apache::MP3) makes an excellent server for serving up those
large MP3/OGG files.
> If anyone is willing/interested in giving some feedback about how to
> best use zope for my project, My Wiki explains the project details and
> design issues.
What is the URL to your wiki? Mine is
The ATAudio product is still a little rough around the edges, but you
are welcome to join in the development efforts.
The bugs/issues collector for ATAudio describes the known issues and
features which are planned. http://tinyurl.com/37u7k
You can also read the TODO.txt if you grab the product from the
collective CVS. http://sf.net/projects/collective
I'm looking forward to this talk in a few weeks at the EuroPython
conference: "The Railroad Project: Managing Large files Around Zope"
Nate Aune - natea at jazkarta.com
Plone4Artists - http://plone4artists.jazkarta.com
"Build your own artist community website!"
More information about the Zope