pyconbrasil presentation: multimedia and podcasting with plone

63
Multimedia with Plone PyConBrasil 2007 Joinville, Brazil Nate Aune www.jazkarta.com

Upload: jazkarta-inc

Post on 12-May-2015

1.977 views

Category:

Technology


0 download

DESCRIPTION

A presentation by Nate Aune at the PyConBrasil 2007. 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 Plone, a popular open source CMS, and the Plone4Artists suite of products which streamlines the process of publishing of videos and podcasts.

TRANSCRIPT

Page 1: PyConBrasil presentation: Multimedia and Podcasting with Plone

Multimedia with Plone

PyConBrasil 2007Joinville, Brazil

Nate Aunewww.jazkarta.com

Page 2: PyConBrasil presentation: Multimedia and Podcasting with Plone
Page 3: PyConBrasil presentation: Multimedia and Podcasting 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

Page 4: PyConBrasil presentation: Multimedia and Podcasting 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

Page 5: PyConBrasil presentation: Multimedia and Podcasting 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

Page 6: PyConBrasil presentation: Multimedia and Podcasting 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

Page 7: PyConBrasil presentation: Multimedia and Podcasting 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/projects

Page 8: PyConBrasil presentation: Multimedia and Podcasting 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)

Page 9: PyConBrasil presentation: Multimedia and Podcasting 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

Page 10: PyConBrasil presentation: Multimedia and Podcasting 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

Page 11: PyConBrasil presentation: Multimedia and Podcasting 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

Page 12: PyConBrasil presentation: Multimedia and Podcasting 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

Page 13: PyConBrasil presentation: Multimedia and Podcasting 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

Page 14: PyConBrasil presentation: Multimedia and Podcasting with Plone

Pure Zope 3components

with Plone

wrappers

Page 15: PyConBrasil presentation: Multimedia and Podcasting with Plone

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 16: PyConBrasil presentation: Multimedia and Podcasting with Plone

talk.bmc.com

Page 17: PyConBrasil presentation: Multimedia and Podcasting with Plone

engagemedia.org

Page 18: PyConBrasil presentation: Multimedia and Podcasting with Plone

TheDailyReel.com

Page 19: PyConBrasil presentation: Multimedia and Podcasting with Plone

bilive.it

Page 20: PyConBrasil presentation: Multimedia and Podcasting with Plone

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

ID3 Metadata in iTunes

21

Page 21: PyConBrasil presentation: Multimedia and Podcasting with Plone

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

22

Page 22: PyConBrasil presentation: Multimedia and Podcasting with Plone

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

Add a normal File

23

Page 23: PyConBrasil presentation: Multimedia and Podcasting with Plone

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

Add new file form

24

Page 24: PyConBrasil presentation: Multimedia and Podcasting with Plone

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

Audio view page

25

Page 25: PyConBrasil presentation: Multimedia and Podcasting with Plone

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

Demo tool icons

26

Page 26: PyConBrasil presentation: Multimedia and Podcasting 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

Page 27: PyConBrasil presentation: Multimedia and Podcasting with Plone

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

Add blob file

28

Page 28: PyConBrasil presentation: Multimedia and Podcasting with Plone

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

Normal file listing

29

Page 29: PyConBrasil presentation: Multimedia and Podcasting with Plone

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

Activate audio container

30

Page 30: PyConBrasil presentation: Multimedia and Podcasting with Plone

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

View is now track listing

31

Page 31: PyConBrasil presentation: Multimedia and Podcasting with Plone

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

Add via WebDAV

32

Page 32: PyConBrasil presentation: Multimedia and Podcasting with Plone

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

Connect to server

33

Page 33: PyConBrasil presentation: Multimedia and Podcasting with Plone

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

Mounted Plone folder

34

Page 34: PyConBrasil presentation: Multimedia and Podcasting with Plone

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

Drag-n-drop copy to Plone

35

Page 35: PyConBrasil presentation: Multimedia and Podcasting with Plone

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

Track listing after upload

36

Page 36: PyConBrasil presentation: Multimedia and Podcasting with Plone

Uploading video

Page 37: PyConBrasil presentation: Multimedia and Podcasting with Plone

Embedding video

1. 2.

3.

Page 38: PyConBrasil presentation: Multimedia and Podcasting with Plone

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

Podcasting

37

Page 39: PyConBrasil presentation: Multimedia and Podcasting with Plone

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

Podcast feed

38

Page 40: PyConBrasil presentation: Multimedia and Podcasting with Plone

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

39

Page 41: PyConBrasil presentation: Multimedia and Podcasting with Plone

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

Subscribe to podcast

40

Page 42: PyConBrasil presentation: Multimedia and Podcasting with Plone

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

Smart Folders

41

Page 43: PyConBrasil presentation: Multimedia and Podcasting with Plone

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

Activate media container

42

Page 44: PyConBrasil presentation: Multimedia and Podcasting with Plone

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

Smart Folder as podcast

43

Page 45: PyConBrasil presentation: Multimedia and Podcasting 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

Page 46: PyConBrasil presentation: Multimedia and Podcasting with Plone

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

Challenges of large filesUploading and Storing

45

Page 47: PyConBrasil presentation: Multimedia and Podcasting 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

Page 48: PyConBrasil presentation: Multimedia and Podcasting 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

Page 49: PyConBrasil presentation: Multimedia and Podcasting with Plone

PloneJUpload

Page 50: PyConBrasil presentation: Multimedia and Podcasting 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

Page 51: PyConBrasil presentation: Multimedia and Podcasting with Plone

PloneFlashUpload

Page 52: PyConBrasil presentation: Multimedia and Podcasting 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)

Page 53: PyConBrasil presentation: Multimedia and Podcasting 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

Page 54: PyConBrasil presentation: Multimedia and Podcasting 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

Page 55: PyConBrasil presentation: Multimedia and Podcasting with Plone

Demoplone.tv

Page 56: PyConBrasil presentation: Multimedia and Podcasting with Plone

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

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

53

Page 57: PyConBrasil presentation: Multimedia and Podcasting 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

Page 58: PyConBrasil presentation: Multimedia and Podcasting with Plone

Plone4Artists / multimedia sprint

• when:

• October 13-15, 2007

• where:

• Naples, Italy

• what:

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

Page 59: PyConBrasil presentation: Multimedia and Podcasting 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

Page 60: PyConBrasil presentation: Multimedia and Podcasting 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

Page 61: PyConBrasil presentation: Multimedia and Podcasting 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

Page 62: PyConBrasil presentation: Multimedia and Podcasting 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

Page 63: PyConBrasil presentation: Multimedia and Podcasting 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