62
Multimedia and Podcasting with Plone Plone Conference 2007 Naples, Italy Nate Aune www.jazkarta.com 1

Nate Aune Managing Multimedia Content And Podcasts With Plone

  • Upload
    wooda

  • View
    3.447

  • Download
    2

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

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