Drupal provides various ways to enrich your dull textual content by adding pictures, video's and other media. All of the available solutions come with their advantages and disadvantages or pitfalls to take into account.
This presentation will give you an overview of the media landscape in Drupal and walk through the options that are available to you.
Topics include:
* Media handling in Drupal core
* Module comparison: Media, Scald, Asset
* WYSIWYG integration
* oEmbed
2. Media handling in Drupal
About me
• Sven Decabooter
• https://drupal.org/user/35369
• @sdecabooter
• Manager & Drupal developer @ Pure Sign
• President DUG BE vzw
• Organiser of (almost) monthly Drupal
meetings
2
3. Media handling in Drupal
Overview
1. Media in Drupal core
2. Media module
3. Scald module
4. Asset module
5. oEmbed
3
9. Media handling in Drupal
Media
module • Manage and reuse media assets
• From local and 3rd party sources
• Depends on file_entity module
• Files become fieldable entities
• D7 usage: +/- 120.000 installs
9
10. Media handling in Drupal
Media
module • 2 different branches: 1.x & 2.x
• 1.x - more stable, but no new developments
• 2.x - still under heavy development - more features
• Advantages of 2.x branch:
• file_entity module abstracted out on its own
• Library is Views-based and more flexible
• Support HTML attributes, such as alt & title text
(accessibility)
10
11. Media handling in Drupal
Media
module
• Media module
• core API
• Media browser
• Media file selector File field widget
• Media Internet Sources module
• API for accessing media on 3rd party services
• Media field module
• deprecated in favor of core File field
11
12. Media handling in Drupal
Media
module • File entity module defines different kind of
file types
12
13. Media handling in Drupal
Media
module
Demo: working with Media browser
13
14. Media handling in Drupal
Media
module
http://youtu.be/59qsOJ731Yc 14
15. Media handling in Drupal
Media
module
Demo: adding 3rd party media
(with media_youtube module)
15
17. Media handling in Drupal
Media
module
• Advantages of Media:
• Widespread adoption and lots of plugins / providers
• Files are entities: good integration with Views, can
contain additional metadata through Field API, etc...
• Allows to reuse media
• Disadvantages
• Tricky to set up exactly right, with file type & display
settings
• Still no stable 2.x release
17
18. Media handling in Drupal
Media
module • Additional modules:
• Integration modules for 3rd party services (YouTube,
Flickr, Vimeo, Dailymotion, ...)
• https://drupal.org/project/file_lock
• Avoids deletion of ‘unused’ files
• https://drupal.org/project/remote_stream_wrapper
• Use external files without saving them locally
18
19. Media handling in Drupal
Media
module • Additional modules:
• https://drupal.org/project/media_translation
• Specify a language for files and bundle them in
translation sets
• And lots more integration modules
• See https://groups.drupal.org/node/168009
19
21. Media handling in Drupal
Scald
module
• Started on Drupal 6
• Rewritten for Drupal 7 using its new APIs
(Entities)
• Used by some big (French) media
companies
• Manages a broad set of media types
• images, video, audio, files, tweets, facebook
statuses, ...
• D7 usage: +/- 700 installs
21
22. Media handling in Drupal
Scald
module
• Custom entity: Scald atom
• defines a single digital asset
• Scald Galaxy: installation profile for easy
testing/setup of Scald + related modules
• Scald core
• Multimedia Editorial Element
• DnD library
• Atom Reference
• ...
22
23. Media handling in Drupal
Scald
module
• Atom Reference field type
• much like an Entity Reference
• added drag & drop functionality
• Views integration
• Scald library is a View and can be changed
• Integrates with Plupload module for
uploading multiple files at once
• Retrieve tags automatically
23
24. Media handling in Drupal
Scald
module
Demo: Scald - Wysiwyg drag & drop
+ Atom Reference
24
28. Media handling in Drupal
Scald
module • Advantages
• Easily add & search media from within current page
• Drag & drop interface
• Lots of common providers supported + extensible
• Disadvantages
• Sidebar widget: no typical Drupal UI pattern
• Custom entity type - might be limiting when
interacting with File related contrib modules
28
30. Media handling in Drupal
Asset
module
• Started in Drupal 5
• Rewritten by Adyax for Drupal 7
• Provides a Media asset entity type
• Tightly integrated with CKEditor module
• Comes with CKEditor buttons
• Depends on emvideo module for 3rd
party video integrations
• D7 usage: +/- 360 installs
30
31. Media handling in Drupal
Asset
module
• Asset Widget module for sidebar widget
• comparable to Scald module
• Provides following media types:
• images (upload)
• video (3rd party)
• documents (upload)
• audio (upload)
• gallery
• free HTML
31
34. Media handling in Drupal
Asset
module • Advantages
• Simple interface
• Drag & drop functionality
• Disadvantages
• Sidebar widget: no typical Drupal UI pattern
• Limited interaction with 3rd party services (no Flickr,
Soundcloud, ...)
• Installation instructions need some more work
34
36. Media handling in Drupal
oEmbed
What is oEmbed?
oEmbed is a format for allowing an
embedded representation of a URL on
third party sites. The simple API allows a
website to display embedded content
(such as photos or videos) when a user
posts a link to that resource, without
having to parse the resource directly.
http://oembed.com
36
37. Media handling in Drupal
oEmbed
What is oEmbed?
oEmbed is a format for allowing an
embedded representation of a URL on
third party sites. The simple API allows a
website to display embedded content
(such as photos or videos) when a user
posts a link to that resource, without
having to parse the resource directly.
http://oembed.com
37
38. Media handling in Drupal
oEmbed
http://www.youtube.com/watch?v=PCLx4fRHmCk
38
39. Media handling in Drupal
oEmbed • It takes a URL, and renders the content
in an embeddable way
• Supported by major online services
• YouTube
• Flickr
• Vimeo
• Slideshare
• Embed.ly (provides embedding services for 250+
online services)
39
40. Media handling in Drupal
oEmbed • Integration in Drupal:
• http://drupal.org/project/oembed
• Contains modules:
• oEmbed Core
• oEmbed Field - Link field formatter
• oEmbed Filter - Input filter: converts links in body
• oEmbed Embed.ly - Definitions for embed.ly providers
• oEmbed Provider - Turn your Drupal into oEmbed provider
• Media: oEmbed - Integration with Media module
40
43. Media handling in Drupal
oEmbed • Advantages:
• Quick way to embed media onto your Drupal site
• No huge suite of modules needed
• Provides hooks to extend functionality
• Allows your Drupal site to quickly provide embeddable
content to other parties
• Disadvantages:
• No reusable entities - not suited for a media library
• Not all providers support oEmbed
43
44. Media handling in Drupal
Questions?
Contact
Sven Decabooter
sven@puresign.be - @sdecabooter
Pure Sign
http://puresign.be
contact@puresign.be
@PureSign
44