SlideShare a Scribd company logo
1 of 80
Download to read offline
Multimedia and Podcasting
              with Plone
                                           Plone Symposium 2006
                                              New Orleans, LA
                                               March 8, 2006

                                                  Nate Aune
                                                  www.jazkarta.com
                                                www.adaptivewave.com

Multimedia and Podcasting with Plone (3/8/06)                          www.jazkarta.com 866.864.4918
                                                                                                       1
Agenda
               • Introductions
               • Background
                 • Plone4Artists
                 • PloneMultimedia
                 • Podcasting
               • Implement
               • Extend
Multimedia and Podcasting with Plone (3/8/06)            www.jazkarta.com 866.864.4918
                                                                                         2
/me
               • 2006 - AdaptiveWave (co-founder)
                 • offers hosted CMS & multimedia solutions
               • 2005 - Plone foundation (member)
                 • active in marketing, documentation, sprints
               • 2004 - Jazkarta (founder)
                 • Plone consulting & training - Boston, MA
               • 2003 - Plone4Artists (founder)
                 • project to build online artist communities
Multimedia and Podcasting with Plone (3/8/06)         www.jazkarta.com 866.864.4918
                                                                                      3
Background
                                  A Brief History of Plone4Artists




Multimedia and Podcasting with Plone (3/8/06)                        www.jazkarta.com 866.864.4918
                                                                                                     4
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
               • Leveraging many existing 3rd party products
                 • Code reuse
                 • Focus is on integration
               • Easy to install and pre-configured
Multimedia and Podcasting with Plone (3/8/06)          www.jazkarta.com 866.864.4918
                                                                                       5
Plone4Artists Features
               • Artist / group portfolios
               • Easy to add content (drag-n-drop)
               • Calendaring (iCal)
               • Audio / video / photos podcasting (RSS 2.0)
               • Creative Commons licensing
               • Community: forums, blogs, chat/IM, polls
               • Easy to install (customization policy)
               • Special look-n-feel (custom skin)
Multimedia and Podcasting with Plone (3/8/06)      www.jazkarta.com 866.864.4918
                                                                                   6
Plone4Artists Status
               • 230 users registered on plone4artists.org
                 • up from 146 in July 2005
               • Demo site: www.plone4artists.com
               • Example site: www.bostonjazz.net
                 • (sorely in need of an update)
               • Roadmap:                  http://www.plone4artists.org/about/roadmap/




Multimedia and Podcasting with Plone (3/8/06)                                    www.jazkarta.com 866.864.4918
                                                                                                                 7
Why Plone?
               • Authoring content is easy
               • Group collaboration (users/groups)
               • RSS syndication
               • WebDAV/FTP
               • Member registration + member folders
               • Custom content types with Archetypes
Multimedia and Podcasting with Plone (3/8/06)       www.jazkarta.com 866.864.4918
                                                                                    8
What’s missing?
               • Audio/video/photo
               • RSS 2.0 syndication
               • Storing large files
               • Uploading large files
               • Extensible members
               • Extensible groups
Multimedia and Podcasting with Plone (3/8/06)   www.jazkarta.com 866.864.4918
                                                                                9
Community steps up
               • Audio/video/photo              PloneMultimedia

               • RSS 2.0 syndication            qRSS2Syndication

               • Storing large files             ExternalStorage

               • Uploading large files           PloneTramline

               • Extensible members             Membrane

               • Extensible groups              Teamspace

Multimedia and Podcasting with Plone (3/8/06)        www.jazkarta.com 866.864.4918
                                                                                     10
PloneMultimedia
                                      An overview of the products




Multimedia and Podcasting with Plone (3/8/06)                       www.jazkarta.com 866.864.4918
                                                                                                    11
PloneMultimedia
               • Developed at Multimedia Sprint,Vienna 2005
               • Suite of add-on components for Plone
                 • ATAudio, ATPhoto, ATVideo,
                         PloneTramline, PloneJUpload, and more...

               • Extends Plone with multimedia capabilities
               • Provides a framework for building your own
                     multimedia web applications

Multimedia and Podcasting with Plone (3/8/06)           www.jazkarta.com 866.864.4918
                                                                                        12
ATAudio
               • Add-on for handling audio files in Plone
               • ID3 metadata is extracted and populates
                     form fields

               • Generates stream or download links
               • Flash player for playback embedded in page
               • File is stored on file system (stream from
                     Zope or external server)

Multimedia and Podcasting with Plone (3/8/06)             www.jazkarta.com 866.864.4918
                                                                                          13
Metadata extracted



          Song Metadata                            Plone/ATAudio
           (from iTunes)                        auto-extracts ID3 tags


Multimedia and Podcasting with Plone (3/8/06)              www.jazkarta.com 866.864.4918
                                                                                           14
Embedded music player
             Music player slim

             Music player extended




                            http://musicplayer.sourceforge.net
Multimedia and Podcasting with Plone (3/8/06)              www.jazkarta.com 866.864.4918
                                                                                           15
Drag-n-drop MP3s




Drag-n-drop MP3s to
                                                MP3s appear in recordings folder
      WebDAV folder
Multimedia and Podcasting with Plone (3/8/06)                   www.jazkarta.com 866.864.4918
                                                                                                16
ATVideo

               • Add-on for handling videos in Plone
               • Quicktime, Real, Windows Media, Flash
               • Video files stored on file system
               • Optionally create Bittorrents

Multimedia and Podcasting with Plone (3/8/06)             www.jazkarta.com 866.864.4918
                                                                                          17
ATVideo screenshot




Multimedia and Podcasting with Plone (3/8/06)   www.jazkarta.com 866.864.4918
                                                                                18
ATPhoto

               • Implements ZPhotoSlides features
               • Photo album to contain photos
               • Slideshow (cross-fade effects)
               • Based on ATImage (incl. ATContentTypes)

Multimedia and Podcasting with Plone (3/8/06)             www.jazkarta.com 866.864.4918
                                                                                          19
ATPhoto vs. ATImage
               • ATImage features
                 • EXIF parsing
                 • Image scaling, rotation, flip
               • ATPhoto features
                 • IPTC parsing
                 • Import/export as Zip
                 • Import/export Flickr.com
Multimedia and Podcasting with Plone (3/8/06)     www.jazkarta.com 866.864.4918
                                                                                  20
ATPhoto screenshot




Multimedia and Podcasting with Plone (3/8/06)   www.jazkarta.com 866.864.4918
                                                                                21
Export tab




Multimedia and Podcasting with Plone (3/8/06)          www.jazkarta.com 866.864.4918
                                                                                       22
Transform the photo




Multimedia and Podcasting with Plone (3/8/06)   www.jazkarta.com 866.864.4918
                                                                                23
Thumbnails




Multimedia and Podcasting with Plone (3/8/06)        www.jazkarta.com 866.864.4918
                                                                                     24
Slideshow feature




Multimedia and Podcasting with Plone (3/8/06)   www.jazkarta.com 866.864.4918
                                                                                25
Import from Zip / bulk upload




Multimedia and Podcasting with Plone (3/8/06)   www.jazkarta.com 866.864.4918
                                                                                26
Drag-n-drop via
                                WebDAV




  WebDAV mounted Plone folder                   Drag-n-drop to Plone
Multimedia and Podcasting with Plone (3/8/06)        www.jazkarta.com 866.864.4918
                                                                                27
Drag-n-drop photos




Drag-n-drop photos
                                                Plone/PIL auto-resizes photos
to WebDAV folder
Multimedia and Podcasting with Plone (3/8/06)                www.jazkarta.com 866.864.4918
                                                                                             28
Creative Commons
               • Started by law professor Lawrence Lessig
                     (highly recommend his book Free Culture)

               • Creative Commons protects the creator
               • Use Google,Yahoo, Flickr, Limewire to find
                     CC licensed content

               • Creativecommons.org is running Plone! :)
Multimedia and Podcasting with Plone (3/8/06)        www.jazkarta.com 866.864.4918
                                                                                     29
PloneCreativeCommons
               • Plone product developed by Song Huang
               • Assign Creative Commons licenses to any
                     item

               • Using the familiar Plone interface
               • Limitation: moving the item loses the license
                     (need to reimplement using Archetypes
                     reference engine)

Multimedia and Podcasting with Plone (3/8/06)        www.jazkarta.com 866.864.4918
                                                                                     30
Podcasting
                               An introduction and Plone’s answer




Multimedia and Podcasting with Plone (3/8/06)                  www.jazkarta.com 866.864.4918
                                                                                               31
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.”


Multimedia and Podcasting with Plone (3/8/06)      www.jazkarta.com 866.864.4918
                                                                                   32
Podcast defined:
               • a web feed of audio, video, photos or files
                 • vodcast - video
                 • photocast - photos
               • anyone can subscribe to the feed
               • different from streaming in that the user can
                     download the entire file to their computer
                     and/or portable media player (iPod)

Multimedia and Podcasting with Plone (3/8/06)         www.jazkarta.com 866.864.4918
                                                                                      33
Subscribe to a podcast
               • Download iTunes (if you don’t have it
                     already)

               • Go to the iTunes Music Store
               • Click on Podcasts
               • Find a podcast you like
               • Click on Subscribe
Multimedia and Podcasting with Plone (3/8/06)      www.jazkarta.com 866.864.4918
                                                                                   34
MP3s get into your iPod
                      automagically
 1.



 2.


 3.
                 Songs appear in iTunes and sync with iPod
Multimedia and Podcasting with Plone (3/8/06)       www.jazkarta.com 866.864.4918
                                                                                    35
What if...?
               • You could:
                 • distribute your own multimedia content
                 • upload audio/video/photo files somewhere
                 • easily create searchable podcast feeds
                 • integrate all of this within your existing
                         CMS, instead of having another system


Multimedia and Podcasting with Plone (3/8/06)            www.jazkarta.com 866.864.4918
                                                                                         36
You can... with Plone!

               • Upload your multimedia content to Plone
               • Create podcast feeds from folders or Smart
                     Folders

               • Integrate with your existing website rather
                     than setup separate system



Multimedia and Podcasting with Plone (3/8/06)      www.jazkarta.com 866.864.4918
                                                                                   37
Implement
                             Setting up the basic components
                         for multimedia and podcasting with Plone




Multimedia and Podcasting with Plone (3/8/06)               www.jazkarta.com 866.864.4918
                                                                                            38
Steps
         1. Download PloneMultimedia bundle
         2. Install core components into Plone

              • ATAudio, ATVideo, ATPhoto
              • qRSS2Syndication for pod/vod/photocasting
         3. Optionally install

              • PloneJUpload, PloneCreativeCommons
Multimedia and Podcasting with Plone (3/8/06)           www.jazkarta.com 866.864.4918
                                                                                        39
Exercise:
    Download PloneMultimedia
      $ cd $INSTANCE/Products

      $ wget http://plone.org/products/plonemultimedia/
      releases/plonemultimedia-1.0-alpha1.tar.gz

      $ tar xvfz plonemultimedia-1.0-alpha1.tar.gz

      $ ln -s PloneMultimedia-1.0-alpha1/* .

      Restart Zope

 Note: if you don’t have a Plone install, follow along at demo.plone4artists.com
Multimedia and Podcasting with Plone (3/8/06)               www.jazkarta.com 866.864.4918
                                                                                            40
Exercise:
    Install products
               • ATAudio
               • ATPhoto
               • ATVideo
               • PloneJUpload
               • qRSS2Syndication

Multimedia and Podcasting with Plone (3/8/06)   www.jazkarta.com 866.864.4918
                                                                                41
Exercises: create content
               1. Create a CD folder

                   • add an audio file to it (.mp3)
               2. Create a Video

                   • upload a video file (.mov .avi .rm .wmv)
               3. Create a photo album

                   • add some photos to it (.jpg)
Multimedia and Podcasting with Plone (3/8/06)        www.jazkarta.com 866.864.4918
                                                                                     42
Exercises: bulk upload
               1. Upload files in bulk using PloneJUpload

                   • Click on the ‘Upload files’ tab
                   • Must not be logged in via ZMI
               2. Upload files in bulk using WebDAV

                   • OSX: mount via ‘Go’ menu
                   • Windows: mount using Windows explorer
Multimedia and Podcasting with Plone (3/8/06)         www.jazkarta.com 866.864.4918
                                                                                      43
Exercises: import photos
               1. Upload photos using Zip importer

                   • OSX: ‘Create archive’ of JPEGs
                   • Windows: Use Winzip to create ZIP file
                   • Click on ‘Import’ tab. Browse for ZIP.
               2. Import photos from Flickr

                   • You need an account at Flickr.com
                   • Click on ‘Import’ tab. Authenticate first.
Multimedia and Podcasting with Plone (3/8/06)         www.jazkarta.com 866.864.4918
                                                                                      44
Exercise: set up
           PloneCreativeCommons
               1. Select PloneCC from Plone Control Panel
               2. Configure PloneCreativeCommons with
                  types that can be assigned a license
               3. Assign a CC license to some content
               4. Confirm that the CC icon appears



Multimedia and Podcasting with Plone (3/8/06)     www.jazkarta.com 866.864.4918
                                                                                  45
2. Configure the types
                                                         Choose which
                                                         content types
                                                Text
                                                          can have an
                                                           associated
                                                       Creative Commons
                                                             license



Multimedia and Podcasting with Plone (3/8/06)               www.jazkarta.com 866.864.4918
                                                                                            46
3. Choose CC license




Multimedia and Podcasting with Plone (3/8/06)   www.jazkarta.com 866.864.4918
                                                                                47
4. Confirm the CC icon

                                                Click on CC icon to
                                                   see the license




Multimedia and Podcasting with Plone (3/8/06)       www.jazkarta.com 866.864.4918
                                                                                    48
Exercise: set up
                           qRSS2Syndication
         1. Enable syndication - ZMI portal_syndication tool
         2. Navigate to the CD folder that you made earlier
         3. Click the ‘Syndication’ tab, enable syndication
         4. Click on the ‘RSS2 Setup’ tab and select which
            types to syndicate
         5. Click on the RSS Podcast icon to see the feed


Multimedia and Podcasting with Plone (3/8/06)     www.jazkarta.com 866.864.4918
                                                                                  49
1. Enable sitewide syndication




Multimedia and Podcasting with Plone (3/8/06)   www.jazkarta.com 866.864.4918
                                                                                50
3. Enable folder syndication




Multimedia and Podcasting with Plone (3/8/06)   www.jazkarta.com 866.864.4918
                                                                                51
4. Select
                                                 types for
                                                syndication


Multimedia and Podcasting with Plone (3/8/06)      www.jazkarta.com 866.864.4918
                                                                                   52
5. Click on RSS icon




After you click on the icon, you will see the raw XML output
Multimedia and Podcasting with Plone (3/8/06)   www.jazkarta.com 866.864.4918
                                                                                53
Exercise: subscribe to feed
               • Click on RSS2 icon and copy URL
               • Using iTunes (or some other podcast client)
                 • Advanced -> Subscribe to podcast...
                 • paste in URL
               • Verify that the MP3s appear in the feed

Multimedia and Podcasting with Plone (3/8/06)     www.jazkarta.com 866.864.4918
                                                                                  54
Exercise: create podcast
            from Smart Folder
               1. Create Smart Folder called ‘All audio files’
               2. Click ‘Criteria’ tab and add criteria
                  ‘Item type’ = Audio file
               3. Click on RSS2 podcast icon to see the feed
               4. Subscribe with iTunes (or podcast client)



Multimedia and Podcasting with Plone (3/8/06)         www.jazkarta.com 866.864.4918
                                                                                      55
2. Set Smart Folder criteria




Multimedia and Podcasting with Plone (3/8/06)   www.jazkarta.com 866.864.4918
                                                                                56
3. Click on podcast icon




Multimedia and Podcasting with Plone (3/8/06)   www.jazkarta.com 866.864.4918
                                                                                57
Extend
                                Extend the base content types
                            with custom fields and personalization




Multimedia and Podcasting with Plone (3/8/06)                 www.jazkarta.com 866.864.4918
                                                                                              58
Case study: MediaCoop
               • Collaborative project with University of
                     Applied Sciences, Austria and other partners

               • Goal was to build a portal for students to
                     showcase their media portfolios

               • Students login and publish audio, video,
                     photos to their personal portfolio

               • Distribution of media content via podcasts
Multimedia and Podcasting with Plone (3/8/06)             www.jazkarta.com 866.864.4918
                                                                                          59
Technical goals
               • Extend content types with long description
               • Customized listing views for folders
               • Auto-create portfolio when user registers
               • Restrict types to 1 content type per folder
               • Auto-set syndication on media folders
               • Create portlet to quick-add new content
Multimedia and Podcasting with Plone (3/8/06)      www.jazkarta.com 866.864.4918
                                                                                   60
MediaCoop UML model




Multimedia and Podcasting with Plone (3/8/06)   www.jazkarta.com 866.864.4918
                                                                                61
UML model - pg. 2




Multimedia and Podcasting with Plone (3/8/06)   www.jazkarta.com 866.864.4918
                                                                                62
Ex: MediaCoopAudio schema
      schema = Schema((

              TextField(name='longDescription',

                       widget=RichWidget(

                                label=quot;Long descriptionquot;,

                       ),

              ),

      ),
Multimedia and Podcasting with Plone (3/8/06)               www.jazkarta.com 866.864.4918
      )                                                                                     63
Ex: MediaCoopAudio.py
      from Products.ATAudio.ATAudio import ATAudio

      MediaCoopAudio_schema = getattr(ATAudio,'schema',Schema
      (())).copy() + schema.copy()

      class MediaCoopAudio(ATAudio):

          __implements__ = (getattr(ATAudio,'__implements__',
      ()),)

              schema = MediaCoopAudio_schema



Multimedia and Podcasting with Plone (3/8/06)   www.jazkarta.com 866.864.4918
                                                                                64
Ex: MediaCoopFolder.py
      from Products.ATContentTypes.content.folder import Folder

      class MediaCoopFolder(ATFolder):

          __implements__ = (getattr(ATFolder,'__implements__',
      ()),)

          immediate_view = 'folder_listing'
          default_view = 'folder_listing'
          suppl_views = ('mediacoop_audio_listing',
      'mediacoop_video_listing', 'mediacoop_image_listing',
      'mediacoop_file_listing', 'mediacoop_user_listing')


Multimedia and Podcasting with Plone (3/8/06)   www.jazkarta.com 866.864.4918
                                                                                65
Supplementary listings




Multimedia and Podcasting with Plone (3/8/06)   www.jazkarta.com 866.864.4918
                                                                                66
Audio listing




Multimedia and Podcasting with Plone (3/8/06)         www.jazkarta.com 866.864.4918
                                                                                      67
Ex: MediaCoopPortfolio.py
      def initializeArchetype(self, **kwargs):
          BaseFolder.initializeArchetype(self,**kwargs)

              # prepopulate portfolio with audio folder

              if 'audio' not in self.objectIds():
                  self.invokeFactory('MediaCoopFolder','audio')
                  audio_folder = self['audio']
                  audio_folder.setTitle('Audio')
                  audio_folder.setDescription('Audio folder')




Multimedia and Podcasting with Plone (3/8/06)      www.jazkarta.com 866.864.4918
                                                                                   68
Restrict types to audio only
      #only allow objects of type MediaCoopAudio to be added to this folder

      audio_folder.setConstrainTypesMode(constraintypes.ENABLED)
      audio_folder.setLocallyAllowedTypes(['MediaCoopAudio'])
      audio_folder.setImmediatelyAddableTypes(['MediaCoopAudio']))

      # auto-set view template to audio listing

      if audio_folder.canSetLayout():
          audio_folder.setLayout('mediacoop_audio_listing')




Multimedia and Podcasting with Plone (3/8/06)           www.jazkarta.com 866.864.4918
                                                                                        69
Restrict types

                                                      Can only add
                                                      audio content
                                                      to this folder




Multimedia and Podcasting with Plone (3/8/06)       www.jazkarta.com 866.864.4918
                                                                                    70
Auto-set syndication
      # preset qRSS2Syndication properties

      syInfo = getattr(audio_folder, 'syndication_information',
      None)

      if syInfo is None:
          setattr(audio_folder, 'syndication_information')

      syInfo.rss2_types = ['MediaCoopAudio']
      syInfo.only_published = False
      syInfo.include_subfolders = True
      syInfo.max_items = 20


Multimedia and Podcasting with Plone (3/8/06)   www.jazkarta.com 866.864.4918
                                                                                71
RSS2
                                                Syndication
                                                  pre-set



Multimedia and Podcasting with Plone (3/8/06)      www.jazkarta.com 866.864.4918
                                                                                   72
Auto-
                                                 create
                                                portfolio




Multimedia and Podcasting with Plone (3/8/06)     www.jazkarta.com 866.864.4918
                                                                                  73
Ex: portlet_mytools.pt
   <dd class=quot;portletItem oddquot; >

      <ul tal:define=quot;homeUrl python:
   here.portal_membership.getHomeUrl()quot;>

         <li><a href=quot;quot; tal:attributes=quot;href python: homeUrl
   + '/videos/createObject?type_name=ATVideo'quot;><img
   src=quot;video_icon.pngquot;> Add video</a></li>

         <li><a href=quot;quot; tal:attributes=quot;href python: homeUrl
   + '/audio/createObject?type_name=MediaCoopAudio'quot;><img
   src=quot;audio_icon.gifquot;> Add audio</a></li>

                  <li><a href=quot;quot; tal:attributes=quot;href python: homeUrl
      + '/images/createObject?type_name=MediaCoopImage'quot;><img
      src=quot;image_icon.gifquot;> Add image</a></li> www.jazkarta.com 866.864.4918
Multimedia and Podcasting with Plone (3/8/06)
                                                                               74

                      <li><a href=quot;quot; tal:attributes=quot;href
My tools portlet
                                                • Quickly add new content
                                                  to your portfolio

                                                • Adds content to the
                                                  correct location

                                                • No matter where you are
                                                  browsing on the site


Multimedia and Podcasting with Plone (3/8/06)                         www.jazkarta.com 866.864.4918
                                                                                                      75
Multimedia and Podcasting with Plone (3/8/06)   www.jazkarta.com 866.864.4918
                                                                                76
Thank you!
      Also thanks to:
      Dorneles Tremea (deo)                     Matt Hamilton (hammertoe)
      Christian Scholz (MrTopf)                 Andy Nicholson (andycat)
      Kamal Gill (kamalgill)                    Russ Ferriday (russf)
      Rocky Burt (rockyburt)                    Jean-Francois Roche (jfroche)
      Volodymyr Chervol (chervol)               Guenter Dressel (gue)
      Justin Ryan (bitmonk)                     Chris Miles (chrismiles)
      Jodok Batlogg (batlogg)                   Christian Haemmerle (reco)
      Michael Breidenbrucker                    Rick Hurst (discipleofsketch)
      Wolfgang Reutz (wreutz)                   Laurence Rowe
      Tom Parish                                Jean Jordaan
      Salim Fadhley                             Andi Zeidler
      Sidnei da Silva (dreamcatcher)            Godefroid Chapelle (__gotcha)
      Michael Piotrowski                        David Convent (davconvent)
Multimedia and Podcasting with Plone (3/8/06)                     www.jazkarta.com 866.864.4918
                                                                                                  77
Plone4Artists links
               • Plone4Artists
                   •     http://plone4artists.org

               • Subversion repository
                   •     svn://svn.plone4artists.org

               • Mailing list - send an email with ‘subscribe’ as
                     the subject to
                   •     plone4artists@plone4artists.org

               •    IRC - irc://irc.freenode.net/plone4artists
Multimedia and Podcasting with Plone (3/8/06)                    www.jazkarta.com 866.864.4918
                                                                                                 78
PloneMultimedia links
               • PloneMultimedia
                   •     plone.org/products/plonemultimedia

               • ATAudio - plone.org/products/ataudio
               • ATVideo - plone.org/products/atvideo
               • ATPhoto - plone.org/products/atphoto
               • PloneJUpload - plone.org/products/plonejupload
               • PloneTramline - plone.org/products/plonetramline
Multimedia and Podcasting with Plone (3/8/06)                 www.jazkarta.com 866.864.4918
                                                                                              79
PloneMultimedia lists
          • Mailing list - send an email with ‘subscribe’ as the
                subject to

          • PloneMultimedia - multimedia@plone4artists.org
          • ATAudio - ataudio@plone4artists.org
          • ATVideo - atvideo@plone4artists.org
          • ATPhoto - atphoto@plone4artists.org
          • Tramline - tramline-dev@codespeak.net
Multimedia and Podcasting with Plone (3/8/06)      www.jazkarta.com 866.864.4918
                                                                                   80

More Related Content

Similar to Multimedia and Podcasting with Plone

Podcasting and Publishing Multimedia Content with a Web Content Management Sy...
Podcasting and Publishing Multimedia Content with a Web Content Management Sy...Podcasting and Publishing Multimedia Content with a Web Content Management Sy...
Podcasting and Publishing Multimedia Content with a Web Content Management Sy...Scott Abel
 
Podcasting and Publishing Multimedia Content with a Web Content Management Sy...
Podcasting and Publishing Multimedia Content with a Web Content Management Sy...Podcasting and Publishing Multimedia Content with a Web Content Management Sy...
Podcasting and Publishing Multimedia Content with a Web Content Management Sy...Scott Abel
 
LinuxTag presentation: Multimedia and Podcasting with Plone
LinuxTag presentation: Multimedia and Podcasting with Plone LinuxTag presentation: Multimedia and Podcasting with Plone
LinuxTag presentation: Multimedia and Podcasting with Plone Jazkarta, Inc.
 
Foss Davao Experience - Nathaniel Jayme
Foss Davao Experience  - Nathaniel JaymeFoss Davao Experience  - Nathaniel Jayme
Foss Davao Experience - Nathaniel Jaymesoss
 
Multistream in Janus @ CommCon 2019
Multistream in Janus @ CommCon 2019Multistream in Janus @ CommCon 2019
Multistream in Janus @ CommCon 2019Lorenzo Miniero
 
Pod Series Audio10
Pod Series Audio10Pod Series Audio10
Pod Series Audio10Dan Cabrera
 
Designing an Enterprise Video Capture System
Designing an Enterprise Video Capture SystemDesigning an Enterprise Video Capture System
Designing an Enterprise Video Capture Systemsetstanford
 
Pod Series Audio14
Pod Series Audio14Pod Series Audio14
Pod Series Audio14Dan Cabrera
 
U-Boot community analysis
U-Boot community analysisU-Boot community analysis
U-Boot community analysisxulioc
 
Darci Hanning Top Ten Ways To Get Involved With The Plone Community
Darci Hanning   Top Ten Ways To Get Involved With The Plone CommunityDarci Hanning   Top Ten Ways To Get Involved With The Plone Community
Darci Hanning Top Ten Ways To Get Involved With The Plone CommunityVincenzo Barone
 
Plone Community Software Freedom Day 2008
Plone Community   Software Freedom Day 2008Plone Community   Software Freedom Day 2008
Plone Community Software Freedom Day 2008Jazkarta, Inc.
 
PLNOG16: Mix 2-in-1: IPv6 troubleshooting for helpdesks - and – DANE/DNSSE...
PLNOG16: Mix 2-in-1: IPv6 troubleshooting for helpdesks - and –DANE/DNSSE...PLNOG16: Mix 2-in-1: IPv6 troubleshooting for helpdesks - and –DANE/DNSSE...
PLNOG16: Mix 2-in-1: IPv6 troubleshooting for helpdesks - and – DANE/DNSSE...PROIDEA
 
Bridges Between Projects
Bridges Between ProjectsBridges Between Projects
Bridges Between ProjectsDave Neary
 
Free Software for Free Sound
Free Software for Free SoundFree Software for Free Sound
Free Software for Free SoundXavier Amatriain
 
Content Management with Plone
Content Management with PloneContent Management with Plone
Content Management with Plonebrighteyes
 
Podcasting Presentation
Podcasting PresentationPodcasting Presentation
Podcasting PresentationJenny McRae
 

Similar to Multimedia and Podcasting with Plone (20)

Podcasting and Publishing Multimedia Content with a Web Content Management Sy...
Podcasting and Publishing Multimedia Content with a Web Content Management Sy...Podcasting and Publishing Multimedia Content with a Web Content Management Sy...
Podcasting and Publishing Multimedia Content with a Web Content Management Sy...
 
Podcasting and Publishing Multimedia Content with a Web Content Management Sy...
Podcasting and Publishing Multimedia Content with a Web Content Management Sy...Podcasting and Publishing Multimedia Content with a Web Content Management Sy...
Podcasting and Publishing Multimedia Content with a Web Content Management Sy...
 
LinuxTag presentation: Multimedia and Podcasting with Plone
LinuxTag presentation: Multimedia and Podcasting with Plone LinuxTag presentation: Multimedia and Podcasting with Plone
LinuxTag presentation: Multimedia and Podcasting with Plone
 
Introduction to Plone
Introduction to PloneIntroduction to Plone
Introduction to Plone
 
Foss Davao Experience - Nathaniel Jayme
Foss Davao Experience  - Nathaniel JaymeFoss Davao Experience  - Nathaniel Jayme
Foss Davao Experience - Nathaniel Jayme
 
Multistream in Janus @ CommCon 2019
Multistream in Janus @ CommCon 2019Multistream in Janus @ CommCon 2019
Multistream in Janus @ CommCon 2019
 
Pod Series Audio10
Pod Series Audio10Pod Series Audio10
Pod Series Audio10
 
Janus @ ClueCon 2019
Janus @ ClueCon 2019Janus @ ClueCon 2019
Janus @ ClueCon 2019
 
Designing an Enterprise Video Capture System
Designing an Enterprise Video Capture SystemDesigning an Enterprise Video Capture System
Designing an Enterprise Video Capture System
 
Pod Series Audio14
Pod Series Audio14Pod Series Audio14
Pod Series Audio14
 
U-Boot community analysis
U-Boot community analysisU-Boot community analysis
U-Boot community analysis
 
Darci Hanning Top Ten Ways To Get Involved With The Plone Community
Darci Hanning   Top Ten Ways To Get Involved With The Plone CommunityDarci Hanning   Top Ten Ways To Get Involved With The Plone Community
Darci Hanning Top Ten Ways To Get Involved With The Plone Community
 
Plone Community Software Freedom Day 2008
Plone Community   Software Freedom Day 2008Plone Community   Software Freedom Day 2008
Plone Community Software Freedom Day 2008
 
PLNOG16: Mix 2-in-1: IPv6 troubleshooting for helpdesks - and – DANE/DNSSE...
PLNOG16: Mix 2-in-1: IPv6 troubleshooting for helpdesks - and –DANE/DNSSE...PLNOG16: Mix 2-in-1: IPv6 troubleshooting for helpdesks - and –DANE/DNSSE...
PLNOG16: Mix 2-in-1: IPv6 troubleshooting for helpdesks - and – DANE/DNSSE...
 
Bridges Between Projects
Bridges Between ProjectsBridges Between Projects
Bridges Between Projects
 
Introduction to python
Introduction to python Introduction to python
Introduction to python
 
7 a plextalk
7 a plextalk7 a plextalk
7 a plextalk
 
Free Software for Free Sound
Free Software for Free SoundFree Software for Free Sound
Free Software for Free Sound
 
Content Management with Plone
Content Management with PloneContent Management with Plone
Content Management with Plone
 
Podcasting Presentation
Podcasting PresentationPodcasting Presentation
Podcasting Presentation
 

More from Jazkarta, Inc.

Traveling through time and place with Plone
Traveling through time and place with PloneTraveling through time and place with Plone
Traveling through time and place with PloneJazkarta, 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.
 

More from Jazkarta, Inc. (20)

Traveling through time and place with Plone
Traveling through time and place with PloneTraveling through time and place with Plone
Traveling through time and place with Plone
 
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
 

Recently uploaded

AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarPrecisely
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 

Recently uploaded (20)

AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 

Multimedia and Podcasting with Plone

  • 1. Multimedia and Podcasting with Plone Plone Symposium 2006 New Orleans, LA March 8, 2006 Nate Aune www.jazkarta.com www.adaptivewave.com Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 1
  • 2. Agenda • Introductions • Background • Plone4Artists • PloneMultimedia • Podcasting • Implement • Extend Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 2
  • 3. /me • 2006 - AdaptiveWave (co-founder) • offers hosted CMS & multimedia solutions • 2005 - Plone foundation (member) • active in marketing, documentation, sprints • 2004 - Jazkarta (founder) • Plone consulting & training - Boston, MA • 2003 - Plone4Artists (founder) • project to build online artist communities Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 3
  • 4. Background A Brief History of Plone4Artists Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 4
  • 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 • Leveraging many existing 3rd party products • Code reuse • Focus is on integration • Easy to install and pre-configured Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 5
  • 6. Plone4Artists Features • Artist / group portfolios • Easy to add content (drag-n-drop) • Calendaring (iCal) • Audio / video / photos podcasting (RSS 2.0) • Creative Commons licensing • Community: forums, blogs, chat/IM, polls • Easy to install (customization policy) • Special look-n-feel (custom skin) Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 6
  • 7. Plone4Artists Status • 230 users registered on plone4artists.org • up from 146 in July 2005 • Demo site: www.plone4artists.com • Example site: www.bostonjazz.net • (sorely in need of an update) • Roadmap: http://www.plone4artists.org/about/roadmap/ Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 7
  • 8. Why Plone? • Authoring content is easy • Group collaboration (users/groups) • RSS syndication • WebDAV/FTP • Member registration + member folders • Custom content types with Archetypes Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 8
  • 9. What’s missing? • Audio/video/photo • RSS 2.0 syndication • Storing large files • Uploading large files • Extensible members • Extensible groups Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 9
  • 10. Community steps up • Audio/video/photo PloneMultimedia • RSS 2.0 syndication qRSS2Syndication • Storing large files ExternalStorage • Uploading large files PloneTramline • Extensible members Membrane • Extensible groups Teamspace Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 10
  • 11. PloneMultimedia An overview of the products Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 11
  • 12. PloneMultimedia • Developed at Multimedia Sprint,Vienna 2005 • Suite of add-on components for Plone • ATAudio, ATPhoto, ATVideo, PloneTramline, PloneJUpload, and more... • Extends Plone with multimedia capabilities • Provides a framework for building your own multimedia web applications Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 12
  • 13. ATAudio • Add-on for handling audio files in Plone • ID3 metadata is extracted and populates form fields • Generates stream or download links • Flash player for playback embedded in page • File is stored on file system (stream from Zope or external server) Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 13
  • 14. Metadata extracted Song Metadata Plone/ATAudio (from iTunes) auto-extracts ID3 tags Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 14
  • 15. Embedded music player Music player slim Music player extended http://musicplayer.sourceforge.net Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 15
  • 16. Drag-n-drop MP3s Drag-n-drop MP3s to MP3s appear in recordings folder WebDAV folder Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 16
  • 17. ATVideo • Add-on for handling videos in Plone • Quicktime, Real, Windows Media, Flash • Video files stored on file system • Optionally create Bittorrents Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 17
  • 18. ATVideo screenshot Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 18
  • 19. ATPhoto • Implements ZPhotoSlides features • Photo album to contain photos • Slideshow (cross-fade effects) • Based on ATImage (incl. ATContentTypes) Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 19
  • 20. ATPhoto vs. ATImage • ATImage features • EXIF parsing • Image scaling, rotation, flip • ATPhoto features • IPTC parsing • Import/export as Zip • Import/export Flickr.com Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 20
  • 21. ATPhoto screenshot Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 21
  • 22. Export tab Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 22
  • 23. Transform the photo Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 23
  • 24. Thumbnails Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 24
  • 25. Slideshow feature Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 25
  • 26. Import from Zip / bulk upload Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 26
  • 27. Drag-n-drop via WebDAV WebDAV mounted Plone folder Drag-n-drop to Plone Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 27
  • 28. Drag-n-drop photos Drag-n-drop photos Plone/PIL auto-resizes photos to WebDAV folder Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 28
  • 29. Creative Commons • Started by law professor Lawrence Lessig (highly recommend his book Free Culture) • Creative Commons protects the creator • Use Google,Yahoo, Flickr, Limewire to find CC licensed content • Creativecommons.org is running Plone! :) Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 29
  • 30. PloneCreativeCommons • Plone product developed by Song Huang • Assign Creative Commons licenses to any item • Using the familiar Plone interface • Limitation: moving the item loses the license (need to reimplement using Archetypes reference engine) Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 30
  • 31. Podcasting An introduction and Plone’s answer Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 31
  • 32. 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.” Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 32
  • 33. Podcast defined: • a web feed of audio, video, photos or files • vodcast - video • photocast - photos • anyone can subscribe to the feed • different from streaming in that the user can download the entire file to their computer and/or portable media player (iPod) Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 33
  • 34. Subscribe to a podcast • Download iTunes (if you don’t have it already) • Go to the iTunes Music Store • Click on Podcasts • Find a podcast you like • Click on Subscribe Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 34
  • 35. MP3s get into your iPod automagically 1. 2. 3. Songs appear in iTunes and sync with iPod Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 35
  • 36. What if...? • You could: • distribute your own multimedia content • upload audio/video/photo files somewhere • easily create searchable podcast feeds • integrate all of this within your existing CMS, instead of having another system Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 36
  • 37. You can... with Plone! • Upload your multimedia content to Plone • Create podcast feeds from folders or Smart Folders • Integrate with your existing website rather than setup separate system Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 37
  • 38. Implement Setting up the basic components for multimedia and podcasting with Plone Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 38
  • 39. Steps 1. Download PloneMultimedia bundle 2. Install core components into Plone • ATAudio, ATVideo, ATPhoto • qRSS2Syndication for pod/vod/photocasting 3. Optionally install • PloneJUpload, PloneCreativeCommons Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 39
  • 40. Exercise: Download PloneMultimedia $ cd $INSTANCE/Products $ wget http://plone.org/products/plonemultimedia/ releases/plonemultimedia-1.0-alpha1.tar.gz $ tar xvfz plonemultimedia-1.0-alpha1.tar.gz $ ln -s PloneMultimedia-1.0-alpha1/* . Restart Zope Note: if you don’t have a Plone install, follow along at demo.plone4artists.com Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 40
  • 41. Exercise: Install products • ATAudio • ATPhoto • ATVideo • PloneJUpload • qRSS2Syndication Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 41
  • 42. Exercises: create content 1. Create a CD folder • add an audio file to it (.mp3) 2. Create a Video • upload a video file (.mov .avi .rm .wmv) 3. Create a photo album • add some photos to it (.jpg) Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 42
  • 43. Exercises: bulk upload 1. Upload files in bulk using PloneJUpload • Click on the ‘Upload files’ tab • Must not be logged in via ZMI 2. Upload files in bulk using WebDAV • OSX: mount via ‘Go’ menu • Windows: mount using Windows explorer Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 43
  • 44. Exercises: import photos 1. Upload photos using Zip importer • OSX: ‘Create archive’ of JPEGs • Windows: Use Winzip to create ZIP file • Click on ‘Import’ tab. Browse for ZIP. 2. Import photos from Flickr • You need an account at Flickr.com • Click on ‘Import’ tab. Authenticate first. Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 44
  • 45. Exercise: set up PloneCreativeCommons 1. Select PloneCC from Plone Control Panel 2. Configure PloneCreativeCommons with types that can be assigned a license 3. Assign a CC license to some content 4. Confirm that the CC icon appears Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 45
  • 46. 2. Configure the types Choose which content types Text can have an associated Creative Commons license Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 46
  • 47. 3. Choose CC license Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 47
  • 48. 4. Confirm the CC icon Click on CC icon to see the license Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 48
  • 49. Exercise: set up qRSS2Syndication 1. Enable syndication - ZMI portal_syndication tool 2. Navigate to the CD folder that you made earlier 3. Click the ‘Syndication’ tab, enable syndication 4. Click on the ‘RSS2 Setup’ tab and select which types to syndicate 5. Click on the RSS Podcast icon to see the feed Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 49
  • 50. 1. Enable sitewide syndication Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 50
  • 51. 3. Enable folder syndication Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 51
  • 52. 4. Select types for syndication Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 52
  • 53. 5. Click on RSS icon After you click on the icon, you will see the raw XML output Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 53
  • 54. Exercise: subscribe to feed • Click on RSS2 icon and copy URL • Using iTunes (or some other podcast client) • Advanced -> Subscribe to podcast... • paste in URL • Verify that the MP3s appear in the feed Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 54
  • 55. Exercise: create podcast from Smart Folder 1. Create Smart Folder called ‘All audio files’ 2. Click ‘Criteria’ tab and add criteria ‘Item type’ = Audio file 3. Click on RSS2 podcast icon to see the feed 4. Subscribe with iTunes (or podcast client) Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 55
  • 56. 2. Set Smart Folder criteria Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 56
  • 57. 3. Click on podcast icon Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 57
  • 58. Extend Extend the base content types with custom fields and personalization Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 58
  • 59. Case study: MediaCoop • Collaborative project with University of Applied Sciences, Austria and other partners • Goal was to build a portal for students to showcase their media portfolios • Students login and publish audio, video, photos to their personal portfolio • Distribution of media content via podcasts Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 59
  • 60. Technical goals • Extend content types with long description • Customized listing views for folders • Auto-create portfolio when user registers • Restrict types to 1 content type per folder • Auto-set syndication on media folders • Create portlet to quick-add new content Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 60
  • 61. MediaCoop UML model Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 61
  • 62. UML model - pg. 2 Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 62
  • 63. Ex: MediaCoopAudio schema schema = Schema(( TextField(name='longDescription', widget=RichWidget( label=quot;Long descriptionquot;, ), ), ), Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 ) 63
  • 64. Ex: MediaCoopAudio.py from Products.ATAudio.ATAudio import ATAudio MediaCoopAudio_schema = getattr(ATAudio,'schema',Schema (())).copy() + schema.copy() class MediaCoopAudio(ATAudio): __implements__ = (getattr(ATAudio,'__implements__', ()),) schema = MediaCoopAudio_schema Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 64
  • 65. Ex: MediaCoopFolder.py from Products.ATContentTypes.content.folder import Folder class MediaCoopFolder(ATFolder): __implements__ = (getattr(ATFolder,'__implements__', ()),) immediate_view = 'folder_listing' default_view = 'folder_listing' suppl_views = ('mediacoop_audio_listing', 'mediacoop_video_listing', 'mediacoop_image_listing', 'mediacoop_file_listing', 'mediacoop_user_listing') Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 65
  • 66. Supplementary listings Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 66
  • 67. Audio listing Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 67
  • 68. Ex: MediaCoopPortfolio.py def initializeArchetype(self, **kwargs): BaseFolder.initializeArchetype(self,**kwargs) # prepopulate portfolio with audio folder if 'audio' not in self.objectIds(): self.invokeFactory('MediaCoopFolder','audio') audio_folder = self['audio'] audio_folder.setTitle('Audio') audio_folder.setDescription('Audio folder') Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 68
  • 69. Restrict types to audio only #only allow objects of type MediaCoopAudio to be added to this folder audio_folder.setConstrainTypesMode(constraintypes.ENABLED) audio_folder.setLocallyAllowedTypes(['MediaCoopAudio']) audio_folder.setImmediatelyAddableTypes(['MediaCoopAudio'])) # auto-set view template to audio listing if audio_folder.canSetLayout(): audio_folder.setLayout('mediacoop_audio_listing') Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 69
  • 70. Restrict types Can only add audio content to this folder Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 70
  • 71. Auto-set syndication # preset qRSS2Syndication properties syInfo = getattr(audio_folder, 'syndication_information', None) if syInfo is None: setattr(audio_folder, 'syndication_information') syInfo.rss2_types = ['MediaCoopAudio'] syInfo.only_published = False syInfo.include_subfolders = True syInfo.max_items = 20 Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 71
  • 72. RSS2 Syndication pre-set Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 72
  • 73. Auto- create portfolio Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 73
  • 74. Ex: portlet_mytools.pt <dd class=quot;portletItem oddquot; > <ul tal:define=quot;homeUrl python: here.portal_membership.getHomeUrl()quot;> <li><a href=quot;quot; tal:attributes=quot;href python: homeUrl + '/videos/createObject?type_name=ATVideo'quot;><img src=quot;video_icon.pngquot;> Add video</a></li> <li><a href=quot;quot; tal:attributes=quot;href python: homeUrl + '/audio/createObject?type_name=MediaCoopAudio'quot;><img src=quot;audio_icon.gifquot;> Add audio</a></li> <li><a href=quot;quot; tal:attributes=quot;href python: homeUrl + '/images/createObject?type_name=MediaCoopImage'quot;><img src=quot;image_icon.gifquot;> Add image</a></li> www.jazkarta.com 866.864.4918 Multimedia and Podcasting with Plone (3/8/06) 74 <li><a href=quot;quot; tal:attributes=quot;href
  • 75. My tools portlet • Quickly add new content to your portfolio • Adds content to the correct location • No matter where you are browsing on the site Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 75
  • 76. Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 76
  • 77. Thank you! Also thanks to: Dorneles Tremea (deo) Matt Hamilton (hammertoe) Christian Scholz (MrTopf) Andy Nicholson (andycat) Kamal Gill (kamalgill) Russ Ferriday (russf) Rocky Burt (rockyburt) Jean-Francois Roche (jfroche) Volodymyr Chervol (chervol) Guenter Dressel (gue) Justin Ryan (bitmonk) Chris Miles (chrismiles) Jodok Batlogg (batlogg) Christian Haemmerle (reco) Michael Breidenbrucker Rick Hurst (discipleofsketch) Wolfgang Reutz (wreutz) Laurence Rowe Tom Parish Jean Jordaan Salim Fadhley Andi Zeidler Sidnei da Silva (dreamcatcher) Godefroid Chapelle (__gotcha) Michael Piotrowski David Convent (davconvent) Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 77
  • 78. Plone4Artists links • Plone4Artists • http://plone4artists.org • Subversion repository • svn://svn.plone4artists.org • Mailing list - send an email with ‘subscribe’ as the subject to • plone4artists@plone4artists.org • IRC - irc://irc.freenode.net/plone4artists Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 78
  • 79. PloneMultimedia links • PloneMultimedia • plone.org/products/plonemultimedia • ATAudio - plone.org/products/ataudio • ATVideo - plone.org/products/atvideo • ATPhoto - plone.org/products/atphoto • PloneJUpload - plone.org/products/plonejupload • PloneTramline - plone.org/products/plonetramline Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 79
  • 80. PloneMultimedia lists • Mailing list - send an email with ‘subscribe’ as the subject to • PloneMultimedia - multimedia@plone4artists.org • ATAudio - ataudio@plone4artists.org • ATVideo - atvideo@plone4artists.org • ATPhoto - atphoto@plone4artists.org • Tramline - tramline-dev@codespeak.net Multimedia and Podcasting with Plone (3/8/06) www.jazkarta.com 866.864.4918 80