[Zope] Re: audio order

Nate Aune 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 
files.

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

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

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

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 
http://plone4artists.jazkarta.com/development/Audio

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"
http://www.europython.org/conferences/epc2004/info/talks/zope/kitblake01

Nate

-- 
Nate Aune - natea at jazkarta.com
Plone4Artists - http://plone4artists.jazkarta.com
"Build your own artist community website!"




More information about the Zope mailing list