Multimedia in Plone (DZUG Conference 2007)

65
Multimedia with Plone DZUG Conference 2007 June 5, 2007, Potsdam Nate Aune www.jazkarta.com

description

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.

Transcript of Multimedia in Plone (DZUG Conference 2007)

Page 1: Multimedia in Plone (DZUG Conference 2007)

Multimedia with PloneDZUG Conference 2007

June 5, 2007, Potsdam

Nate Aunewww.jazkarta.com

Page 2: Multimedia in Plone (DZUG Conference 2007)

www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)

/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

2

Page 3: Multimedia in Plone (DZUG Conference 2007)

www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)

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

3

Page 4: Multimedia in Plone (DZUG Conference 2007)

www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)

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

5

Page 5: Multimedia in Plone (DZUG Conference 2007)

www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)

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.

10

Page 6: Multimedia in Plone (DZUG Conference 2007)

www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)

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

11

Page 7: Multimedia in Plone (DZUG Conference 2007)

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 8: Multimedia in Plone (DZUG Conference 2007)

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 9: Multimedia in Plone (DZUG Conference 2007)

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

Page 10: Multimedia in Plone (DZUG Conference 2007)

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 11: Multimedia in Plone (DZUG Conference 2007)

Plone4ArtistsAdditional 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)

Page 12: Multimedia in Plone (DZUG Conference 2007)

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 13: Multimedia in Plone (DZUG Conference 2007)

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 14: Multimedia in Plone (DZUG Conference 2007)

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 15: Multimedia in Plone (DZUG Conference 2007)

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 16: Multimedia in Plone (DZUG Conference 2007)

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 17: Multimedia in Plone (DZUG Conference 2007)

Pure Zope 3components

with Plone

wrappers

Page 18: Multimedia in Plone (DZUG Conference 2007)

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 19: Multimedia in Plone (DZUG Conference 2007)

talk.bmc.com

Page 20: Multimedia in Plone (DZUG Conference 2007)

engagemedia.org

Page 21: Multimedia in Plone (DZUG Conference 2007)

TheDailyReel.com

Page 22: Multimedia in Plone (DZUG Conference 2007)

bilive.it

Page 23: Multimedia in Plone (DZUG Conference 2007)

www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)

ID3 Metadata in iTunes

21

Page 24: Multimedia in Plone (DZUG Conference 2007)

www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)

22

Page 25: Multimedia in Plone (DZUG Conference 2007)

www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)

Add a normal File

23

Page 26: Multimedia in Plone (DZUG Conference 2007)

www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)

Add new file form

24

Page 27: Multimedia in Plone (DZUG Conference 2007)

www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)

Audio view page

25

Page 28: Multimedia in Plone (DZUG Conference 2007)

www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)

Demo tool icons

26

Page 29: Multimedia in Plone (DZUG Conference 2007)

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 30: Multimedia in Plone (DZUG Conference 2007)

www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)

Add blob file

28

Page 31: Multimedia in Plone (DZUG Conference 2007)

www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)

Normal file listing

29

Page 32: Multimedia in Plone (DZUG Conference 2007)

www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)

Activate audio container

30

Page 33: Multimedia in Plone (DZUG Conference 2007)

www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)

View is now track listing

31

Page 34: Multimedia in Plone (DZUG Conference 2007)

www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)

Add via WebDAV

32

Page 35: Multimedia in Plone (DZUG Conference 2007)

www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)

Connect to server

33

Page 36: Multimedia in Plone (DZUG Conference 2007)

www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)

Mounted Plone folder

34

Page 37: Multimedia in Plone (DZUG Conference 2007)

www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)

Drag-n-drop copy to Plone

35

Page 38: Multimedia in Plone (DZUG Conference 2007)

www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)

Track listing after upload

36

Page 39: Multimedia in Plone (DZUG Conference 2007)

Uploading video

Page 40: Multimedia in Plone (DZUG Conference 2007)

Embedding video

1. 2.

3.

Page 41: Multimedia in Plone (DZUG Conference 2007)

Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918

Podcasting

37

Page 42: Multimedia in Plone (DZUG Conference 2007)

www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)

Podcast feed

38

Page 43: Multimedia in Plone (DZUG Conference 2007)

www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)

39

Page 44: Multimedia in Plone (DZUG Conference 2007)

www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)

Subscribe to podcast

40

Page 45: Multimedia in Plone (DZUG Conference 2007)

www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)

Smart Folders

41

Page 46: Multimedia in Plone (DZUG Conference 2007)

www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)

Activate media container

42

Page 47: Multimedia in Plone (DZUG Conference 2007)

www.jazkarta.com 866.864.4918Multimedia and Podcasting with Plone (10/27/06)

Smart Folder as podcast

43

Page 48: Multimedia in Plone (DZUG Conference 2007)

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 49: Multimedia in Plone (DZUG Conference 2007)

Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918

Challenges of large filesUploading and Storing

45

Page 50: Multimedia in Plone (DZUG Conference 2007)

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 51: Multimedia in Plone (DZUG Conference 2007)

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 52: Multimedia in Plone (DZUG Conference 2007)

PloneJUpload

Page 53: Multimedia in Plone (DZUG Conference 2007)

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 54: Multimedia in Plone (DZUG Conference 2007)

PloneFlashUpload

Page 55: Multimedia in Plone (DZUG Conference 2007)

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 56: Multimedia in Plone (DZUG Conference 2007)

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 57: Multimedia in Plone (DZUG Conference 2007)

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 58: Multimedia in Plone (DZUG Conference 2007)

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

Page 59: Multimedia in Plone (DZUG Conference 2007)

Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918

What’s nextplone4artists.org/products/plone4artistssite/roadmap

53

Page 60: Multimedia in Plone (DZUG Conference 2007)

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 61: Multimedia in Plone (DZUG Conference 2007)

Buildout makes it easyCheck 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

Page 62: Multimedia in Plone (DZUG Conference 2007)

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 63: Multimedia in Plone (DZUG Conference 2007)

More info• Product pages:

• plone4artists.org/products

• SVN repository:

• plone4artists.org/svn/projects

• Mailing lists:

• lists.plone4artists.org

• IRC:

• #plone4artists on irc.freenode.net

Page 64: Multimedia in Plone (DZUG Conference 2007)

Plone4Artists / multimedia sprint

• when:

• July 18-22, 2007

• where:

• Boston, MA

• what:

• http://plone.org/events/sprints/plone4artists/topics

• who:

• http://plone.org/events/sprints/plone4artists/participants

Page 65: Multimedia in Plone (DZUG Conference 2007)

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