Upload
wooda
View
3.445
Download
2
Tags:
Embed Size (px)
DESCRIPTION
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 the Plone4Artists suite of products which streamline the process of publishing audio, videos and images on your Plone site. After installing the Plone4Artists add-ons, Plone will be able to extract the metadata from uploaded audio, video and image files, make this metadata editable and searchable and playback the audio/video files in the browser. Using RSS syndication, you can also make collections of this multimedia content available to your users as a podcast/vodcast/photocast feed. We will also discuss some of the challenges of handling large files in Plone, including tools to improve the uploading process and how to store large files outside of the ZODB and instead on the file system.
Citation preview
Multimedia and Podcasting with Plone
Plone Conference 2007Naples, Italy
Nate Aunewww.jazkarta.com
1
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
2
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
3
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
4
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
5
Plone4Artists Core Components
• Plone4ArtistsSite
• Plone4ArtistsAudio (upload mp3 or ogg)
• Plone4ArtistsVideo (upload video or embed)
• Plone4ArtistsCalendar (month & listing view)
SVN at http://plone4artists.org/svn/projects6
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)
7
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
8
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
9
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
10
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
11
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
12
Pure Zope 3components
with Plone
wrappers
13
Example sites
• talk.bmc.com - blogs and podcasts
• engagemedia.org - social justice videos
• thedailyreel.com - online guide to videos
• bilive.it - online community for musicians
• phonogen.com - mp3s for artists
• plone.tv - aggregated audio/video/screencasts
14
talk.bmc.com
15
engagemedia.org
16
TheDailyReel.com
17
bilive.it
18
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
ID3 Metadata in iTunes
21
19
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
22
20
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Add a normal File
23
21
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Add new file form
24
22
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Audio view page
25
23
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Demo tool icons
26
24
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
25
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Add blob file
28
26
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Normal file listing
29
27
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Activate audio container
30
28
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
View is now track listing
31
29
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Add via WebDAV
32
30
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Connect to server
33
31
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Mounted Plone folder
34
32
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Drag-n-drop copy to Plone
35
33
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Track listing after upload
36
34
Uploading video
35
Embedding video
1. 2.
3.
36
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
Podcasting
37
37
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Podcast feed
38
38
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
39
39
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Subscribe to podcast
40
40
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Smart Folders
41
41
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Activate media container
42
42
www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)
Smart Folder as podcast
43
43
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
44
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
Challenges of large filesUploading and Storing
45
45
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
46
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
47
PloneJUpload
48
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
49
PloneFlashUpload
50
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)
51
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
52
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
53
Demoplone.tv
54
Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918
What’s nextplone4artists.org/products/plone4artistssite/roadmap
53
55
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
56
Plone4ArtistsBoF & sprint
• BoF:
• when: TODAY! @ 5:15pm
• Sprint
• when: October 13-15, 2007
• where: Naples, Italy
• http://openplans.org/projects/plone4artists-sprint
57
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
58
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
59
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
60
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
61
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
62