SlideShare ist ein Scribd-Unternehmen logo
1 von 63
Downloaden Sie, um offline zu lesen
Multimedia
with Plone
 PyConBrasil 2007
   Joinville, Brazil

   Nate Aune
 www.jazkarta.com
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
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
Multimedia and Podcasting with Plone (10/27/06)    www.jazkarta.com 866.864.4918
                                                                                   12
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
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
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
Plone4Artists
Additional 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)
A natural evolution

               • CMFAudio (CMF-based)
                     • ATAudio (Archetypes-based)
                          • Plone4ArtistsAudio (Zope 3)


Multimedia and Podcasting with Plone (10/27/06)   www.jazkarta.com 866.864.4918
                                                                                  19
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


Multimedia and Podcasting with Plone (10/27/06)        www.jazkarta.com 866.864.4918
                                                                                       20
No more new content types
                Old approach                      New approach


                • ATAudio
                • ATVideo
                • ATPhoto


Multimedia and Podcasting with Plone (10/27/06)            www.jazkarta.com 866.864.4918
                                                                                           54
No more new content types
                Old approach                      New approach


                • ATAudio
                • ATVideo
                • ATPhoto


Multimedia and Podcasting with Plone (10/27/06)            www.jazkarta.com 866.864.4918
                                                                                           54
No more new content types
                Old approach                      New approach

                                                  • ATFile
                • ATAudio                          • Plone4ArtistsAudio
                • ATVideo                          • Plone4ArtistsVideo
                • ATPhoto                         • ATImage
                                                   • Plone4ArtistsImage
                                                  • ATLink
Multimedia and Podcasting with Plone (10/27/06)
                                                   • Plone4ArtistsLink
                                                            www.jazkarta.com 866.864.4918
                                                                                            54
Pure Zope 3
components
    with
   Plone
 wrappers
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
talk.bmc.com
engagemedia.org
TheDailyReel.com
bilive.it
ID3 Metadata in iTunes




Multimedia and Podcasting with Plone (10/27/06)   www.jazkarta.com 866.864.4918
                                                                                  21
Multimedia and Podcasting with Plone (10/27/06)   www.jazkarta.com 866.864.4918
                                                                                  22
Add a normal File




Multimedia and Podcasting with Plone (10/27/06)   www.jazkarta.com 866.864.4918
                                                                                  23
Add new file form




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




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




Multimedia and Podcasting with Plone (10/27/06)   www.jazkarta.com 866.864.4918
                                                                                  26
Edit audio
               • ID3 metadata is auto-
                     extracted

               • Modified metadata is
                     written back to the file

               • Cover art image field
               • Genre vocabulary
               • Comment field
Multimedia and Podcasting with Plone (10/27/06)   www.jazkarta.com 866.864.4918
                                                                                  27
Add blob file




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




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




Multimedia and Podcasting with Plone (10/27/06)   www.jazkarta.com 866.864.4918
                                                                                  30
View is now track listing




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




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




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




Multimedia and Podcasting with Plone (10/27/06)   www.jazkarta.com 866.864.4918
                                                                                  34
Drag-n-drop copy to Plone




Multimedia and Podcasting with Plone (10/27/06)   www.jazkarta.com 866.864.4918
                                                                                  35
Track listing after upload




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

   1.                  2.


                  3.
Podcasting



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




Multimedia and Podcasting with Plone (10/27/06)      www.jazkarta.com 866.864.4918
                                                                                     38
Multimedia and Podcasting with Plone (10/27/06)   www.jazkarta.com 866.864.4918
                                                                                  39
Subscribe to podcast




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




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




Multimedia and Podcasting with Plone (10/27/06)   www.jazkarta.com 866.864.4918
                                                                                  42
Smart Folder as podcast




Multimedia and Podcasting with Plone (10/27/06)   www.jazkarta.com 866.864.4918
                                                                                  43
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)
Multimedia and Podcasting with Plone (10/27/06)    www.jazkarta.com 866.864.4918
                                                                                   44
Challenges of large files
                                            Uploading and Storing




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

               • Uploading large files is tedious
               • ZODB is currently not designed to store
                     large files




Multimedia and Podcasting with Plone (10/27/06)        www.jazkarta.com 866.864.4918
                                                                                       46
Making upload less tedious

               • WebDAV/FTP
                 • gives you progress bar but it can be buggy
               • PloneJUpload - java applet
                 • not all browsers have Java support

Multimedia and Podcasting with Plone (10/27/06)    www.jazkarta.com 866.864.4918
                                                                                   47
PloneJUpload
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
PloneFlashUpload
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)
Buildout makes it easy
Check 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
Community feedback
               • Commenting
                 • easycommenting, zc.comment
               • Ratings
                 • lovely.rating, contentratings, RatingsEngine
               • Tagging
                 • lovely.tag, tagger, topicwidget
Multimedia and Podcasting with Plone (10/27/06)      www.jazkarta.com 866.864.4918
                                                                                     57
Demo
plone.tv
What’s next
              plone4artists.org/products/plone4artistssite/roadmap




Multimedia and Podcasting with Plone (10/27/06)        www.jazkarta.com 866.864.4918
                                                                                       53
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
Plone4Artists /
     multimedia sprint
• when:
  • October 13-15, 2007
• where:
  • Naples, Italy
• what:
 •   http://openplans.org/projects/plone4artists-sprint
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)
Multimedia and Podcasting with Plone (10/27/06)   www.jazkarta.com 866.864.4918
                                                                                  55
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

Multimedia and Podcasting with Plone (10/27/06)   www.jazkarta.com 866.864.4918
                                                                                  50
Alternative storage layers
            • FileField(‘mediafile’, storage=...)
              • ExternalStorage
                • used on plone.org’s PloneSoftwareCenter
              • FileSystemStorage
                • used by Andreas Jung for large media project

Multimedia and Podcasting with Plone (10/27/06)   www.jazkarta.com 866.864.4918
                                                                                  51
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
Multimedia and Podcasting with Plone (10/27/06)                         www.jazkarta.com 866.864.4918
                                                                                                        52
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

Weitere ähnliche Inhalte

Mehr von Jazkarta, Inc.

Questions: A Form Library for Python with SurveyJS Frontend
Questions: A Form Library for Python with SurveyJS FrontendQuestions: A Form Library for Python with SurveyJS Frontend
Questions: A Form Library for Python with SurveyJS FrontendJazkarta, Inc.
 
The User Experience: Editing Composite Pages in Plone 6 and Beyond
The User Experience: Editing Composite Pages in Plone 6 and BeyondThe User Experience: Editing Composite Pages in Plone 6 and Beyond
The User Experience: Editing Composite Pages in Plone 6 and BeyondJazkarta, Inc.
 
WTA and Plone After 13 Years
WTA and Plone After 13 YearsWTA and Plone After 13 Years
WTA and Plone After 13 YearsJazkarta, Inc.
 
Collaborating With Orchid Data
Collaborating With Orchid DataCollaborating With Orchid Data
Collaborating With Orchid DataJazkarta, Inc.
 
Spend a Week Hacking in Sorrento!
Spend a Week Hacking in Sorrento!Spend a Week Hacking in Sorrento!
Spend a Week Hacking in Sorrento!Jazkarta, Inc.
 
Plone 5 Upgrades In Real Life
Plone 5 Upgrades In Real LifePlone 5 Upgrades In Real Life
Plone 5 Upgrades In Real LifeJazkarta, Inc.
 
Accessibility in Plone: The Good, the Bad, and the Ugly
Accessibility in Plone: The Good, the Bad, and the UglyAccessibility in Plone: The Good, the Bad, and the Ugly
Accessibility in Plone: The Good, the Bad, and the UglyJazkarta, Inc.
 
Getting Paid Without GetPaid
Getting Paid Without GetPaidGetting Paid Without GetPaid
Getting Paid Without GetPaidJazkarta, Inc.
 
An Open Source Platform for Social Science Research
An Open Source Platform for Social Science ResearchAn Open Source Platform for Social Science Research
An Open Source Platform for Social Science ResearchJazkarta, Inc.
 
For the Love of Volunteers! How Do You Choose the Right Technology to Manage ...
For the Love of Volunteers! How Do You Choose the Right Technology to Manage ...For the Love of Volunteers! How Do You Choose the Right Technology to Manage ...
For the Love of Volunteers! How Do You Choose the Right Technology to Manage ...Jazkarta, Inc.
 
Anatomy of a Large Website Project
Anatomy of a Large Website ProjectAnatomy of a Large Website Project
Anatomy of a Large Website ProjectJazkarta, Inc.
 
Anatomy of a Large Website Project - With Presenter Notes
Anatomy of a Large Website Project - With Presenter NotesAnatomy of a Large Website Project - With Presenter Notes
Anatomy of a Large Website Project - With Presenter NotesJazkarta, Inc.
 
The Mountaineers: Scaling the Heights with Plone
The Mountaineers: Scaling the Heights with PloneThe Mountaineers: Scaling the Heights with Plone
The Mountaineers: Scaling the Heights with PloneJazkarta, Inc.
 
Plone Hosting: A Panel Discussion
Plone Hosting: A Panel DiscussionPlone Hosting: A Panel Discussion
Plone Hosting: A Panel DiscussionJazkarta, Inc.
 
Academic Websites in Plone
Academic Websites in PloneAcademic Websites in Plone
Academic Websites in PloneJazkarta, Inc.
 
Online Exhibits in Plone
Online Exhibits in PloneOnline Exhibits in Plone
Online Exhibits in PloneJazkarta, Inc.
 
Online exhibits in Plone
Online exhibits in PloneOnline exhibits in Plone
Online exhibits in PloneJazkarta, Inc.
 

Mehr von Jazkarta, Inc. (20)

Questions: A Form Library for Python with SurveyJS Frontend
Questions: A Form Library for Python with SurveyJS FrontendQuestions: A Form Library for Python with SurveyJS Frontend
Questions: A Form Library for Python with SurveyJS Frontend
 
The User Experience: Editing Composite Pages in Plone 6 and Beyond
The User Experience: Editing Composite Pages in Plone 6 and BeyondThe User Experience: Editing Composite Pages in Plone 6 and Beyond
The User Experience: Editing Composite Pages in Plone 6 and Beyond
 
WTA and Plone After 13 Years
WTA and Plone After 13 YearsWTA and Plone After 13 Years
WTA and Plone After 13 Years
 
Collaborating With Orchid Data
Collaborating With Orchid DataCollaborating With Orchid Data
Collaborating With Orchid Data
 
Spend a Week Hacking in Sorrento!
Spend a Week Hacking in Sorrento!Spend a Week Hacking in Sorrento!
Spend a Week Hacking in Sorrento!
 
Plone 5 Upgrades In Real Life
Plone 5 Upgrades In Real LifePlone 5 Upgrades In Real Life
Plone 5 Upgrades In Real Life
 
Accessibility in Plone: The Good, the Bad, and the Ugly
Accessibility in Plone: The Good, the Bad, and the UglyAccessibility in Plone: The Good, the Bad, and the Ugly
Accessibility in Plone: The Good, the Bad, and the Ugly
 
Getting Paid Without GetPaid
Getting Paid Without GetPaidGetting Paid Without GetPaid
Getting Paid Without GetPaid
 
An Open Source Platform for Social Science Research
An Open Source Platform for Social Science ResearchAn Open Source Platform for Social Science Research
An Open Source Platform for Social Science Research
 
For the Love of Volunteers! How Do You Choose the Right Technology to Manage ...
For the Love of Volunteers! How Do You Choose the Right Technology to Manage ...For the Love of Volunteers! How Do You Choose the Right Technology to Manage ...
For the Love of Volunteers! How Do You Choose the Right Technology to Manage ...
 
Anatomy of a Large Website Project
Anatomy of a Large Website ProjectAnatomy of a Large Website Project
Anatomy of a Large Website Project
 
Anatomy of a Large Website Project - With Presenter Notes
Anatomy of a Large Website Project - With Presenter NotesAnatomy of a Large Website Project - With Presenter Notes
Anatomy of a Large Website Project - With Presenter Notes
 
The Mountaineers: Scaling the Heights with Plone
The Mountaineers: Scaling the Heights with PloneThe Mountaineers: Scaling the Heights with Plone
The Mountaineers: Scaling the Heights with Plone
 
Plone Hosting: A Panel Discussion
Plone Hosting: A Panel DiscussionPlone Hosting: A Panel Discussion
Plone Hosting: A Panel Discussion
 
Plone+Salesforce
Plone+SalesforcePlone+Salesforce
Plone+Salesforce
 
Academic Websites in Plone
Academic Websites in PloneAcademic Websites in Plone
Academic Websites in Plone
 
Plone
PlonePlone
Plone
 
Online Exhibits in Plone
Online Exhibits in PloneOnline Exhibits in Plone
Online Exhibits in Plone
 
Online exhibits in Plone
Online exhibits in PloneOnline exhibits in Plone
Online exhibits in Plone
 
ZODB Tips and Tricks
ZODB Tips and TricksZODB Tips and Tricks
ZODB Tips and Tricks
 

Kürzlich hochgeladen

Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 

Kürzlich hochgeladen (20)

Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 

PyConBrasil presentation: Multimedia and Podcasting with Plone

  • 1. Multimedia with Plone PyConBrasil 2007 Joinville, Brazil Nate Aune www.jazkarta.com
  • 2.
  • 3. 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
  • 4. 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 Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 12
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. Plone4Artists Additional 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)
  • 9. A natural evolution • CMFAudio (CMF-based) • ATAudio (Archetypes-based) • Plone4ArtistsAudio (Zope 3) Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 19
  • 10. 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 Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 20
  • 11. No more new content types Old approach New approach • ATAudio • ATVideo • ATPhoto Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 54
  • 12. No more new content types Old approach New approach • ATAudio • ATVideo • ATPhoto Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 54
  • 13. No more new content types Old approach New approach • ATFile • ATAudio • Plone4ArtistsAudio • ATVideo • Plone4ArtistsVideo • ATPhoto • ATImage • Plone4ArtistsImage • ATLink Multimedia and Podcasting with Plone (10/27/06) • Plone4ArtistsLink www.jazkarta.com 866.864.4918 54
  • 14. Pure Zope 3 components with Plone wrappers
  • 15. 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
  • 20. ID3 Metadata in iTunes Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 21
  • 21. Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 22
  • 22. Add a normal File Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 23
  • 23. Add new file form Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 24
  • 24. Audio view page Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 25
  • 25. Demo tool icons Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 26
  • 26. Edit audio • ID3 metadata is auto- extracted • Modified metadata is written back to the file • Cover art image field • Genre vocabulary • Comment field Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 27
  • 27. Add blob file Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 28
  • 28. Normal file listing Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 29
  • 29. Activate audio container Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 30
  • 30. View is now track listing Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 31
  • 31. Add via WebDAV Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 32
  • 32. Connect to server Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 33
  • 33. Mounted Plone folder Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 34
  • 34. Drag-n-drop copy to Plone Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 35
  • 35. Track listing after upload Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 36
  • 37. Embedding video 1. 2. 3.
  • 38. Podcasting Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 37
  • 39. Podcast feed Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 38
  • 40. Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 39
  • 41. Subscribe to podcast Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 40
  • 42. Smart Folders Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 41
  • 43. Activate media container Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 42
  • 44. Smart Folder as podcast Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 43
  • 45. 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) Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 44
  • 46. Challenges of large files Uploading and Storing Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 45
  • 47. Pain points • Uploading large files is tedious • ZODB is currently not designed to store large files Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 46
  • 48. Making upload less tedious • WebDAV/FTP • gives you progress bar but it can be buggy • PloneJUpload - java applet • not all browsers have Java support Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 47
  • 50. 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
  • 52. 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)
  • 53. Buildout makes it easy Check 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
  • 54. Community feedback • Commenting • easycommenting, zc.comment • Ratings • lovely.rating, contentratings, RatingsEngine • Tagging • lovely.tag, tagger, topicwidget Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 57
  • 56. What’s next plone4artists.org/products/plone4artistssite/roadmap Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 53
  • 57. 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
  • 58. Plone4Artists / multimedia sprint • when: • October 13-15, 2007 • where: • Naples, Italy • what: • http://openplans.org/projects/plone4artists-sprint
  • 59. 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) Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 55
  • 60. 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 Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 50
  • 61. Alternative storage layers • FileField(‘mediafile’, storage=...) • ExternalStorage • used on plone.org’s PloneSoftwareCenter • FileSystemStorage • used by Andreas Jung for large media project Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 51
  • 62. 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 Multimedia and Podcasting with Plone (10/27/06) www.jazkarta.com 866.864.4918 52
  • 63. 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