Presentation given at the DZUG Conference 2007 in Potsdam, Germany. Discuss podcasting, large file handling, tour of Plone4Artists component features, advantages of using Zope 3, success stories, uploading tools, etc.
2. /me
• Founder Jazkarta Consulting (Boston, MA)
• Founder Plone4Artists community project
• Founder PloneMultimedia suite of products
• Organizer of sprints and Plone training
• Musician: saxophonist and composer
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
2
3. Agenda
• Why is podcasting important?
• What is Plone’s answer to podcasting?
• How does Zope 3 make this easier?
• Challenges of large media files
• What’s next?
• How to get involved
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
3
4. What is podcasting?
• From Wikipedia:
• “Podcasting is the distribution of audio
or video files, such as radio programs or
music videos, over the internet using
either RSS or Atom syndication for
listening on mobile devices and personal
computers.”
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
5
5. Podcasting is growing
• FeedBurner now distributes 47,000 different
podcasts, which means there are more
podcasters than radio stations.
• The rate at which new podcasters emerge
on the scene has doubled in the last six
months.
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
10
6. Projections
• The Diffusion Group forecasts that the use
of podcasting among U.S. consumers is
growing at a compound annual rate of 101 %
• By 2010, 56.8 million Americans will be using
“time-shifted digital audio files” or podcasts
Source: Podcasting in the Enterprise, eWeek
Oct. 2, 2006
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
11
7. 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
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
12
8. 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
9. 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)
• Creative Commons licensing
• Artist/band portfolios
• Community: tagging, rating, commenting, blogs
10. 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
11. Plone4Artists
Additional components
• Plone4Artists Revver Video (by Alec Mitchell)
• PloneFlashUpload (bulk uploads in browser)
• ContentLicensing (assign licenses to content)
Not released
• Plone4ArtistsNewsletter (by Malthe Borch)
• Plone4ArtistsPodcast (embed audio in blog)
• Plone4ArtistsSubtyper (subtype any content)
12. A natural evolution
• CMFAudio (CMF-based)
• ATAudio (Archetypes-based)
• Plone4ArtistsAudio (Zope 3)
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
19
13. 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
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
20
14. No more new content types
Old approach New approach
• ATAudio
• ATVideo
• ATPhoto
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
54
15. No more new content types
Old approach New approach
• ATAudio
• ATVideo
• ATPhoto
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
54
16. No more new content types
Old approach New approach
• ATFile
• ATAudio • Plone4ArtistsAudio
• ATVideo • Plone4ArtistsVideo
• ATPhoto • ATImage
• Plone4ArtistsImage
• ATLink
• Plone4ArtistsLink
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
54
29. Edit audio
• ID3 metadata is auto-
extracted
• Modified metadata is
written back to the file
• Cover art image field
• Genre vocabulary
• Comment field
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
27
30. Add blob file
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
28
47. Smart Folder as podcast
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
43
48. 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)
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
44
49. Challenges of large files
Uploading and Storing
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
45
50. Pain points
• Uploading large files is tedious
• ZODB is currently not designed to store
large files
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
46
51. Making upload less tedious
• WebDAV/FTP
• gives you progress bar but it can be buggy
• PloneJUpload - java applet
• not all browsers have Java support
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
47
53. 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
55. 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
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
50
56. Alternative storage layers
• FileField(‘mediafile’, storage=...)
• ExternalStorage
• used on plone.org’s PloneSoftwareCenter
• FileSystemStorage
• used by Andreas Jung for large media project
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
51
57. 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
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
52
58. 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
59. What’s next
plone4artists.org/products/plone4artistssite/roadmap
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
53
61. Buildout makes it easy
Check out the buildout, bootstrap and run buildout
$ svn co http://plone4artists.org/svn/projects/
Plone4ArtistsSite/buildout p4a-buildout
$ cd p4a-buildout
$ python bootstrap.py
$ bin/buildout -v (go get a coffee)
Start the instance
$ bin/instance fg
62. Community feedback
• Commenting
• easycommenting, zc.comment
• Ratings
• lovely.rating, contentratings, RatingsEngine
• Tagging
• lovely.tag, tagger, topicwidget
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
57
63. More info
• Product pages:
• plone4artists.org/products
• SVN repository:
• plone4artists.org/svn/projects
• Mailing lists:
• lists.plone4artists.org
• IRC:
• #plone4artists on irc.freenode.net