Transcript
Page 1: Nate Aune   Managing Multimedia Content And Podcasts With Plone

Multimedia and Podcasting with Plone

Plone Conference 2007Naples, Italy

Nate Aunewww.jazkarta.com

1

Page 2: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Page 3: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Page 4: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Page 5: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Page 6: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Page 7: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Page 8: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Page 9: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Page 10: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Page 11: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Page 12: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Page 13: Nate Aune   Managing Multimedia Content And Podcasts With Plone

Pure Zope 3components

with Plone

wrappers

13

Page 14: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Page 15: Nate Aune   Managing Multimedia Content And Podcasts With Plone

talk.bmc.com

15

Page 16: Nate Aune   Managing Multimedia Content And Podcasts With Plone

engagemedia.org

16

Page 17: Nate Aune   Managing Multimedia Content And Podcasts With Plone

TheDailyReel.com

17

Page 18: Nate Aune   Managing Multimedia Content And Podcasts With Plone

bilive.it

18

Page 19: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

ID3 Metadata in iTunes

21

19

Page 20: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

22

20

Page 21: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Add a normal File

23

21

Page 22: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Add new file form

24

22

Page 23: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Audio view page

25

23

Page 24: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Demo tool icons

26

24

Page 25: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Page 26: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Add blob file

28

26

Page 27: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Normal file listing

29

27

Page 28: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Activate audio container

30

28

Page 29: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

View is now track listing

31

29

Page 30: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Add via WebDAV

32

30

Page 31: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Connect to server

33

31

Page 32: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Mounted Plone folder

34

32

Page 33: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Drag-n-drop copy to Plone

35

33

Page 34: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Track listing after upload

36

34

Page 35: Nate Aune   Managing Multimedia Content And Podcasts With Plone

Uploading video

35

Page 36: Nate Aune   Managing Multimedia Content And Podcasts With Plone

Embedding video

1. 2.

3.

36

Page 37: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Podcasting

37

37

Page 38: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Podcast feed

38

38

Page 39: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

39

39

Page 40: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Subscribe to podcast

40

40

Page 41: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Smart Folders

41

41

Page 42: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Activate media container

42

42

Page 43: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Smart Folder as podcast

43

43

Page 44: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Page 45: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Challenges of large filesUploading and Storing

45

45

Page 46: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Page 47: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Page 48: Nate Aune   Managing Multimedia Content And Podcasts With Plone

PloneJUpload

48

Page 49: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Page 50: Nate Aune   Managing Multimedia Content And Podcasts With Plone

PloneFlashUpload

50

Page 51: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Page 52: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Page 53: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Page 54: Nate Aune   Managing Multimedia Content And Podcasts With Plone

Demoplone.tv

54

Page 55: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

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

53

55

Page 56: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Page 57: Nate Aune   Managing Multimedia Content And Podcasts With Plone

Plone4ArtistsBoF & sprint

• BoF:

• when: TODAY! @ 5:15pm

• Sprint

• when: October 13-15, 2007

• where: Naples, Italy

• http://openplans.org/projects/plone4artists-sprint

57

Page 58: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Page 59: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Page 60: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Page 61: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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

Page 62: Nate Aune   Managing Multimedia Content And Podcasts With Plone

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