pyconbrasil presentation: multimedia and podcasting with plone
DESCRIPTION
A presentation by Nate Aune at the PyConBrasil 2007. With the rise of podcasting and sharing multimedia content online, there is a growing need for tools that help content producers publish multimedia to their website. We will discuss Plone, a popular open source CMS, and the Plone4Artists suite of products which streamlines the process of publishing of videos and podcasts.TRANSCRIPT
![Page 1: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/1.jpg)
Multimedia with Plone
PyConBrasil 2007Joinville, Brazil
Nate Aunewww.jazkarta.com
![Page 2: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/2.jpg)
![Page 3: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/3.jpg)
What is podcasting?
• Simplified distribution
• audio/video files as enclosures in an RSS/Atom feed
• Subscribe once and forget about it
• On-demand
• Users can listen/watch your multimedia content on their device of choice
• Don’t need to visit your website
![Page 4: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/4.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
What is Plone’s answer?
• Plone out-of-the-box
• File content type (no metadata, no play)
• Syndication is only RSS 1.0 (need RSS 2.0)
• PloneMultimedia suite of add-on products
• ATAudio, ATVideo, ATPhoto
• qRSS2Syndication for podcasting
12
![Page 5: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/5.jpg)
What is Plone4Artists?
• Grassroots project to build an out-of-the-box portal solution for artist communities
• Built on top of the core Plone product
• Leverages Zope 3 component architecture
• Doesn’t introduce new content types
• Easy to extend to support new media types
• Easy to install and pre-configured
![Page 6: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/6.jpg)
Features• Drag-n-drop addition of content (WebDAV)
• Extraction of audio/video metadata (ID3)
• Playback of audio and video in browser (Flash player)
• Podcasting and vodcasting (RSS 2.0)
• Calendaring (import/export of iCal)
• Assigning Creative Commons licenses
• Improved uploading using Flash, Java applet, Tramline
• Community features: tagging, rating, commenting
![Page 7: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/7.jpg)
Plone4Artists Core Components
• Plone4ArtistsSite
• Plone4ArtistsAudio (upload mp3 or ogg)
• Plone4ArtistsVideo (upload video or embed)
• Plone4ArtistsCalendar (month & listing view)
SVN at http://plone4artists.org/svn/projects
![Page 8: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/8.jpg)
Plone4ArtistsAdditional components• Plone4ArtistsNewsletter (by Malthe Borch)
• PloneFlashUpload (bulk uploads in browser)
• ContentLicensing (assign licenses to content)
Not released
• ContentRating (rate any piece of content)
• ContentTagging (tag any piece of content)
• Plone4ArtistsPodcast (embed audio in blog)
• Plone4ArtistsRevverVideo (by Alec Mitchell)
• Plone4ArtistsSubtyper (subtype any content)
![Page 9: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/9.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
A natural evolution
• CMFAudio (CMF-based)
• ATAudio (Archetypes-based)
• Plone4ArtistsAudio (Zope 3)
19
![Page 10: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/10.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Why Zope 3?
• Usability - user uploads File and system figures out how to handle it. Easier with Z3
• Pluggability - easily extend to support other formats besides MP3 and Ogg
• Reusability - abstracting the code into Zope 3 components means it is easier to reuse
20
![Page 11: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/11.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
No more new content types
• ATAudio
• ATVideo
• ATPhoto
Old approach New approach
54
![Page 12: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/12.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
No more new content types
• ATAudio
• ATVideo
• ATPhoto
Old approach New approach
54
![Page 13: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/13.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
No more new content types
• ATAudio
• ATVideo
• ATPhoto
• ATFile
• Plone4ArtistsAudio
• Plone4ArtistsVideo
• ATImage
• Plone4ArtistsImage
• ATLink
• Plone4ArtistsLink
Old approach New approach
54
![Page 14: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/14.jpg)
Pure Zope 3components
with Plone
wrappers
![Page 15: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/15.jpg)
Success stories
• talk.bmc.com - blogs and podcasts
• engagemedia.org - social justice videos
• thedailyreel.com - online guide to videos
• bilive.it - online community for musicians
![Page 16: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/16.jpg)
talk.bmc.com
![Page 17: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/17.jpg)
engagemedia.org
![Page 18: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/18.jpg)
TheDailyReel.com
![Page 19: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/19.jpg)
bilive.it
![Page 20: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/20.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
ID3 Metadata in iTunes
21
![Page 21: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/21.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
22
![Page 22: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/22.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Add a normal File
23
![Page 23: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/23.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Add new file form
24
![Page 24: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/24.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Audio view page
25
![Page 25: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/25.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Demo tool icons
26
![Page 26: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/26.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Edit audio
• ID3 metadata is auto-extracted
• Modified metadata is written back to the file
• Cover art image field
• Genre vocabulary
• Comment field
27
![Page 27: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/27.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Add blob file
28
![Page 28: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/28.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Normal file listing
29
![Page 29: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/29.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Activate audio container
30
![Page 30: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/30.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
View is now track listing
31
![Page 31: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/31.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Add via WebDAV
32
![Page 32: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/32.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Connect to server
33
![Page 33: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/33.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Mounted Plone folder
34
![Page 34: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/34.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Drag-n-drop copy to Plone
35
![Page 35: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/35.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Track listing after upload
36
![Page 36: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/36.jpg)
Uploading video
![Page 37: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/37.jpg)
Embedding video
1. 2.
3.
![Page 38: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/38.jpg)
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
Podcasting
37
![Page 39: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/39.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Podcast feed
38
![Page 40: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/40.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
39
![Page 41: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/41.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Subscribe to podcast
40
![Page 42: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/42.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Smart Folders
41
![Page 43: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/43.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Activate media container
42
![Page 44: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/44.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Smart Folder as podcast
43
![Page 45: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/45.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
RSS 2.0 Syndication
• Using basesyndication (Zope 3 adaptors)
• also used to provide RSS feeds for Quills
• Support iTunes metadata
• targeted for Plone4ArtistsAudio 1.0 final
• Syndication of other media files
• Vodcasting (videos), Photocasting (photos)
44
![Page 46: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/46.jpg)
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
Challenges of large filesUploading and Storing
45
![Page 47: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/47.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Pain points
• Uploading large files is tedious
• ZODB is currently not designed to store large files
46
![Page 48: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/48.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Making upload less tedious
• WebDAV/FTP
• gives you progress bar but it can be buggy
• PloneJUpload - java applet
• not all browsers have Java support
47
![Page 49: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/49.jpg)
PloneJUpload
![Page 50: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/50.jpg)
Preferred upload solutions
• ZipFileTransport
• upload a Zip file and it’s extracted on the server
• PloneFlashUpload
• upload multiple files using Flash widget in browser
• Tramline
• bypass Zope and use Apache
![Page 51: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/51.jpg)
PloneFlashUpload
![Page 52: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/52.jpg)
Easy install
• Automated install using buildout:
• Downloads and installs:
• Zope, Plone, PIL, add-on products
• Creates Plone instance
• Quickinstalls Plone4Artists products
• Applies GenericSetup profile (TODO)
• Imports sample content using gsxml (TODO)
![Page 53: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/53.jpg)
Buildout makes it easyCheck out the buildout, bootstrap and run buildout
$ svn co http://plone4artists.org/svn/projects/p4a.buildout
$ cd p4a.buildout
$ python bootstrap.py
$ bin/buildout -v (go get a coffee)
Start the instance
$ bin/instance fg
![Page 54: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/54.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Community feedback
• Commenting
• easycommenting, zc.comment
• Ratings
• lovely.rating, contentratings, RatingsEngine
• Tagging
• lovely.tag, tagger, topicwidget
57
![Page 55: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/55.jpg)
Demoplone.tv
![Page 56: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/56.jpg)
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
What’s nextplone4artists.org/products/plone4artistssite/roadmap
53
![Page 57: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/57.jpg)
More info• Product pages:
• plone4artists.org/products
• SVN repository:
• plone4artists.org/svn/projects
• Mailing list:
• groups.google.com/group/p4a-user
• IRC:
• #plone4artists on irc.freenode.net
![Page 58: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/58.jpg)
Plone4Artists / multimedia sprint
• when:
• October 13-15, 2007
• where:
• Naples, Italy
• what:
• http://openplans.org/projects/plone4artists-sprint
![Page 59: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/59.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Idea: Plone4ArtistsLink
• Existing new content types
• ATGoogleVideo
• ATOdeoAudio
• ATYouTubeVideo?
• Activate remote media on an ATLink
• Identifies remote service (Google, Odeo, YouTube)
• Applies an appropriate view (Flash player)
55
![Page 60: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/60.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Why store media on FS?
• Avoid ZODB bloat
• Expose to 3rd party streaming software
• Easier to backup or move to another system
• Transcode video files
50
![Page 61: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/61.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Alternative storage layers
• FileField(‘mediafile’, storage=...)
• ExternalStorage
• used on plone.org’s PloneSoftwareCenter
• FileSystemStorage
• used by Andreas Jung for large media project
51
![Page 62: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/62.jpg)
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Alternative file field• BlobFile
• dependent on blob
• ATTramline
• dependent on Tramline
• AttachmentField
• new version has FlexStorage
• PLIP #154 - Large File Handling
• http://plone.org/products/plone/roadmap/154
52
![Page 63: PyConBrasil presentation: Multimedia and Podcasting with Plone](https://reader033.vdocuments.us/reader033/viewer/2022052823/55512fbab4c905b3598b4e12/html5/thumbnails/63.jpg)
Preferred solutions
• ZODB with blob support
• Now working on Zope 2.9 / 2.10 / 2.11
• Use with ATBlobField from Enfold Systems
• Amazon S3
• scalable storage solution
• pay for what you use