SlideShare a Scribd company logo
http://puresign.be
@PureSign
Media handling in Drupal
Sven Decabooter
Media handling in Drupal
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
Media handling in Drupal
Overview
1. Media in Drupal core
2. Media module
3. Scald module
4. Asset module
5. oEmbed
3
Media handling in Drupal
1. Media in
Drupal core
Media handling in Drupal
Media in
Drupal core • Drupal core modules:
• Field + Field UI
• File
• Image
•
5
Media handling in Drupal
Media in
Drupal core • Basic file upload widget
6
Media handling in Drupal
Media in
Drupal core • Image styles
• Create image variants
• Scale, crop, add effects, ...
• a.k.a. Imagecache module in Drupal 6
•
7
Media handling in Drupal
2. Media module
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
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
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
Media handling in Drupal
Media
module • File entity module defines different kind of
file types
12
Media handling in Drupal
Media
module
Demo: working with Media browser
13
Media handling in Drupal
Media
module
http://youtu.be/59qsOJ731Yc 14
Media handling in Drupal
Media
module
Demo: adding 3rd party media
(with media_youtube module)
15
Media handling in Drupal
Media
module
16http://youtu.be/cSR0FCcIKsA
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
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
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
Media handling in Drupal
3. Scald module
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
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
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
Media handling in Drupal
Scald
module
Demo: Scald - Wysiwyg drag & drop
+ Atom Reference
24
Media handling in Drupal
Scald
module
25http://youtu.be/B8CyLFrvCTI
Media handling in Drupal
Scald
module
Demo: Youtube & Twitter providers
26
Media handling in Drupal
Scald
module
27http://youtu.be/cuNVCoLp5ic
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
Media handling in Drupal
4. Asset module
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
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
Media handling in Drupal
Asset
module
Demo: Asset module
32
Media handling in Drupal
Asset
module
33http://youtu.be/0Ba0xiyKIQA
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
Media handling in Drupal
5. oEmbed
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
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
Media handling in Drupal
oEmbed
http://www.youtube.com/watch?v=PCLx4fRHmCk
38
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
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
Media handling in Drupal
oEmbed
Demo: configuring oEmbed module
41
Media handling in Drupal
oEmbed
42http://youtu.be/kA-lMGmwQKs
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
Media handling in Drupal
Questions?
Contact
Sven Decabooter
sven@puresign.be - @sdecabooter
Pure Sign
http://puresign.be
contact@puresign.be
@PureSign
44

More Related Content

What's hot

Learn Drupal's Most Powerful Site-Building Modules: Display Suite, Context, V...
Learn Drupal's Most Powerful Site-Building Modules: Display Suite, Context, V...Learn Drupal's Most Powerful Site-Building Modules: Display Suite, Context, V...
Learn Drupal's Most Powerful Site-Building Modules: Display Suite, Context, V...
Mediacurrent
 
Drupal - Blocks vs Context vs Panels
Drupal - Blocks vs Context vs PanelsDrupal - Blocks vs Context vs Panels
Drupal - Blocks vs Context vs Panels
David Burns
 
Style guides in drupal development workflows
Style guides in drupal development workflowsStyle guides in drupal development workflows
Style guides in drupal development workflows
Kalin Chernev
 
Beginner's guide to drupal
Beginner's guide to drupalBeginner's guide to drupal
Beginner's guide to drupal
mayank.grd
 
Introduction to Drupal Basics
Introduction to Drupal BasicsIntroduction to Drupal Basics
Introduction to Drupal BasicsJuha Niemi
 
Complex Content Structures and Workflow with Drupal
Complex Content Structures and Workflow with DrupalComplex Content Structures and Workflow with Drupal
Complex Content Structures and Workflow with Drupal
Balance Interactive
 
Drupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal ConceptsDrupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal Concepts
Micky Metts
 
Content First – Planning Drupal Content Types
Content First – Planning Drupal Content TypesContent First – Planning Drupal Content Types
Content First – Planning Drupal Content Types
Carrie Hane
 
Deployer - Deployment tool for PHP
Deployer - Deployment tool for PHPDeployer - Deployment tool for PHP
Deployer - Deployment tool for PHP
hernanibf
 
Introduction to Drupal
Introduction to DrupalIntroduction to Drupal
Introduction to Drupal
sdmaxey
 
An Introduction to Drupal
An Introduction to DrupalAn Introduction to Drupal
An Introduction to Drupal
Tobias Ratschiller
 
The Flexibility of Drupal 8 | DCNLights 2017
The Flexibility of Drupal 8 | DCNLights 2017The Flexibility of Drupal 8 | DCNLights 2017
The Flexibility of Drupal 8 | DCNLights 2017
Michael Miles
 
Drupal
DrupalDrupal
Speedrun: Build a Website with Panels, Media, and More in 45 Minutes
Speedrun: Build a Website with Panels, Media, and More in 45 MinutesSpeedrun: Build a Website with Panels, Media, and More in 45 Minutes
Speedrun: Build a Website with Panels, Media, and More in 45 Minutes
Acquia
 
Using Features
Using FeaturesUsing Features
Using Features
Alexandru Badiu
 
Improving drupals cex and ax
Improving drupals cex and axImproving drupals cex and ax
Improving drupals cex and ax
Richard Saddington
 
Media handling in Drupal (Drupalcamp Leuven 2013)
Media handling in Drupal (Drupalcamp Leuven 2013)Media handling in Drupal (Drupalcamp Leuven 2013)
Media handling in Drupal (Drupalcamp Leuven 2013)
Sven Decabooter
 
Drupal content editor flexibility
Drupal content editor flexibilityDrupal content editor flexibility
Drupal content editor flexibility
hernanibf
 

What's hot (20)

Learn Drupal's Most Powerful Site-Building Modules: Display Suite, Context, V...
Learn Drupal's Most Powerful Site-Building Modules: Display Suite, Context, V...Learn Drupal's Most Powerful Site-Building Modules: Display Suite, Context, V...
Learn Drupal's Most Powerful Site-Building Modules: Display Suite, Context, V...
 
Drupal - Blocks vs Context vs Panels
Drupal - Blocks vs Context vs PanelsDrupal - Blocks vs Context vs Panels
Drupal - Blocks vs Context vs Panels
 
Style guides in drupal development workflows
Style guides in drupal development workflowsStyle guides in drupal development workflows
Style guides in drupal development workflows
 
Beginner's guide to drupal
Beginner's guide to drupalBeginner's guide to drupal
Beginner's guide to drupal
 
Introduction to Drupal Basics
Introduction to Drupal BasicsIntroduction to Drupal Basics
Introduction to Drupal Basics
 
Complex Content Structures and Workflow with Drupal
Complex Content Structures and Workflow with DrupalComplex Content Structures and Workflow with Drupal
Complex Content Structures and Workflow with Drupal
 
Beginners Guide to Drupal
Beginners Guide to DrupalBeginners Guide to Drupal
Beginners Guide to Drupal
 
Drupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal ConceptsDrupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal Concepts
 
Content First – Planning Drupal Content Types
Content First – Planning Drupal Content TypesContent First – Planning Drupal Content Types
Content First – Planning Drupal Content Types
 
Deployer - Deployment tool for PHP
Deployer - Deployment tool for PHPDeployer - Deployment tool for PHP
Deployer - Deployment tool for PHP
 
Bootstrap4 x pages
Bootstrap4 x pagesBootstrap4 x pages
Bootstrap4 x pages
 
Introduction to Drupal
Introduction to DrupalIntroduction to Drupal
Introduction to Drupal
 
An Introduction to Drupal
An Introduction to DrupalAn Introduction to Drupal
An Introduction to Drupal
 
The Flexibility of Drupal 8 | DCNLights 2017
The Flexibility of Drupal 8 | DCNLights 2017The Flexibility of Drupal 8 | DCNLights 2017
The Flexibility of Drupal 8 | DCNLights 2017
 
Drupal
DrupalDrupal
Drupal
 
Speedrun: Build a Website with Panels, Media, and More in 45 Minutes
Speedrun: Build a Website with Panels, Media, and More in 45 MinutesSpeedrun: Build a Website with Panels, Media, and More in 45 Minutes
Speedrun: Build a Website with Panels, Media, and More in 45 Minutes
 
Using Features
Using FeaturesUsing Features
Using Features
 
Improving drupals cex and ax
Improving drupals cex and axImproving drupals cex and ax
Improving drupals cex and ax
 
Media handling in Drupal (Drupalcamp Leuven 2013)
Media handling in Drupal (Drupalcamp Leuven 2013)Media handling in Drupal (Drupalcamp Leuven 2013)
Media handling in Drupal (Drupalcamp Leuven 2013)
 
Drupal content editor flexibility
Drupal content editor flexibilityDrupal content editor flexibility
Drupal content editor flexibility
 

Similar to Media handling in Drupal (Drupalcamp Leuven 2013)

Oleksandr Medvediev - Content delivery tools in Drupal 8.
Oleksandr Medvediev - Content delivery tools in Drupal 8.Oleksandr Medvediev - Content delivery tools in Drupal 8.
Oleksandr Medvediev - Content delivery tools in Drupal 8.
DrupalCamp Kyiv
 
Drupal Site Building for Developers
Drupal Site Building for DevelopersDrupal Site Building for Developers
Drupal Site Building for Developers
Ian Carnaghan
 
Blisstering drupal module development ppt v1.2
Blisstering drupal module development ppt v1.2Blisstering drupal module development ppt v1.2
Blisstering drupal module development ppt v1.2
Anil Sagar
 
Drupal Global Training Day by Drupal Mumbai 6th Sep - Drupal Intro
Drupal Global Training Day by Drupal Mumbai 6th Sep - Drupal IntroDrupal Global Training Day by Drupal Mumbai 6th Sep - Drupal Intro
Drupal Global Training Day by Drupal Mumbai 6th Sep - Drupal Intro
DrupalMumbai
 
October 2014 - DrupalCamp Atlanta - Digital Asset Management in Drupal
October 2014 - DrupalCamp Atlanta - Digital Asset Management in DrupalOctober 2014 - DrupalCamp Atlanta - Digital Asset Management in Drupal
October 2014 - DrupalCamp Atlanta - Digital Asset Management in Drupal
Eric Sembrat
 
Top modules
Top modulesTop modules
Top modules
jhamiltoorion
 
Twig in the Wild
Twig in the WildTwig in the Wild
Twig in the Wild
JeremyKoulish
 
Shockingly Fast Site Development with Acquia Lightning 4.0
Shockingly Fast Site Development with Acquia Lightning 4.0Shockingly Fast Site Development with Acquia Lightning 4.0
Shockingly Fast Site Development with Acquia Lightning 4.0
Rachel Wandishin
 
Introduction to Drupal
Introduction to DrupalIntroduction to Drupal
Introduction to Drupal
Tom Deryckere
 
Drupal content editing ux
Drupal content editing uxDrupal content editing ux
Drupal content editing uxSergei Sorokin
 
Panopoly - Boulder DBUG 13 Nov 2013
Panopoly - Boulder DBUG 13 Nov 2013Panopoly - Boulder DBUG 13 Nov 2013
Panopoly - Boulder DBUG 13 Nov 2013
Robert Dickert
 
Inline elements. DrupalCamp Berlin 2014
Inline elements. DrupalCamp Berlin 2014Inline elements. DrupalCamp Berlin 2014
Inline elements. DrupalCamp Berlin 2014
Yuriy Gerasimov
 
Drupal session 3 - biginlucerne.com - lessons learned
Drupal session 3 - biginlucerne.com - lessons learnedDrupal session 3 - biginlucerne.com - lessons learned
Drupal session 3 - biginlucerne.com - lessons learned
NETNODE AG
 
Drupal 8 deeper dive
Drupal 8 deeper diveDrupal 8 deeper dive
Drupal 8 deeper dive
Amazee Labs
 
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
Phase2
 
Open social: Case Studies - Taras Kruts
Open social: Case Studies - Taras KrutsOpen social: Case Studies - Taras Kruts
Open social: Case Studies - Taras Kruts
DrupalCamp Kyiv
 
Docker Indy Meetup - An Opinionated View of Building Docker Images and Pipelines
Docker Indy Meetup - An Opinionated View of Building Docker Images and PipelinesDocker Indy Meetup - An Opinionated View of Building Docker Images and Pipelines
Docker Indy Meetup - An Opinionated View of Building Docker Images and Pipelines
Matt Bentley
 
Get Up and Running Quickly with Drupal Distributions
Get Up and Running Quickly with Drupal DistributionsGet Up and Running Quickly with Drupal Distributions
Get Up and Running Quickly with Drupal Distributions
Melissa Piper
 
DotNetNuke Seattle Users Group
DotNetNuke Seattle Users GroupDotNetNuke Seattle Users Group
DotNetNuke Seattle Users Group
Scott McCulloch
 
Media in drupal core
Media in drupal coreMedia in drupal core
Media in drupal core
Christian Fritsch
 

Similar to Media handling in Drupal (Drupalcamp Leuven 2013) (20)

Oleksandr Medvediev - Content delivery tools in Drupal 8.
Oleksandr Medvediev - Content delivery tools in Drupal 8.Oleksandr Medvediev - Content delivery tools in Drupal 8.
Oleksandr Medvediev - Content delivery tools in Drupal 8.
 
Drupal Site Building for Developers
Drupal Site Building for DevelopersDrupal Site Building for Developers
Drupal Site Building for Developers
 
Blisstering drupal module development ppt v1.2
Blisstering drupal module development ppt v1.2Blisstering drupal module development ppt v1.2
Blisstering drupal module development ppt v1.2
 
Drupal Global Training Day by Drupal Mumbai 6th Sep - Drupal Intro
Drupal Global Training Day by Drupal Mumbai 6th Sep - Drupal IntroDrupal Global Training Day by Drupal Mumbai 6th Sep - Drupal Intro
Drupal Global Training Day by Drupal Mumbai 6th Sep - Drupal Intro
 
October 2014 - DrupalCamp Atlanta - Digital Asset Management in Drupal
October 2014 - DrupalCamp Atlanta - Digital Asset Management in DrupalOctober 2014 - DrupalCamp Atlanta - Digital Asset Management in Drupal
October 2014 - DrupalCamp Atlanta - Digital Asset Management in Drupal
 
Top modules
Top modulesTop modules
Top modules
 
Twig in the Wild
Twig in the WildTwig in the Wild
Twig in the Wild
 
Shockingly Fast Site Development with Acquia Lightning 4.0
Shockingly Fast Site Development with Acquia Lightning 4.0Shockingly Fast Site Development with Acquia Lightning 4.0
Shockingly Fast Site Development with Acquia Lightning 4.0
 
Introduction to Drupal
Introduction to DrupalIntroduction to Drupal
Introduction to Drupal
 
Drupal content editing ux
Drupal content editing uxDrupal content editing ux
Drupal content editing ux
 
Panopoly - Boulder DBUG 13 Nov 2013
Panopoly - Boulder DBUG 13 Nov 2013Panopoly - Boulder DBUG 13 Nov 2013
Panopoly - Boulder DBUG 13 Nov 2013
 
Inline elements. DrupalCamp Berlin 2014
Inline elements. DrupalCamp Berlin 2014Inline elements. DrupalCamp Berlin 2014
Inline elements. DrupalCamp Berlin 2014
 
Drupal session 3 - biginlucerne.com - lessons learned
Drupal session 3 - biginlucerne.com - lessons learnedDrupal session 3 - biginlucerne.com - lessons learned
Drupal session 3 - biginlucerne.com - lessons learned
 
Drupal 8 deeper dive
Drupal 8 deeper diveDrupal 8 deeper dive
Drupal 8 deeper dive
 
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
 
Open social: Case Studies - Taras Kruts
Open social: Case Studies - Taras KrutsOpen social: Case Studies - Taras Kruts
Open social: Case Studies - Taras Kruts
 
Docker Indy Meetup - An Opinionated View of Building Docker Images and Pipelines
Docker Indy Meetup - An Opinionated View of Building Docker Images and PipelinesDocker Indy Meetup - An Opinionated View of Building Docker Images and Pipelines
Docker Indy Meetup - An Opinionated View of Building Docker Images and Pipelines
 
Get Up and Running Quickly with Drupal Distributions
Get Up and Running Quickly with Drupal DistributionsGet Up and Running Quickly with Drupal Distributions
Get Up and Running Quickly with Drupal Distributions
 
DotNetNuke Seattle Users Group
DotNetNuke Seattle Users GroupDotNetNuke Seattle Users Group
DotNetNuke Seattle Users Group
 
Media in drupal core
Media in drupal coreMedia in drupal core
Media in drupal core
 

Recently uploaded

Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
Jen Stirrup
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
UiPathCommunity
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 

Recently uploaded (20)

Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 

Media handling in Drupal (Drupalcamp Leuven 2013)

  • 1. http://puresign.be @PureSign Media handling in Drupal Sven Decabooter Media handling in Drupal
  • 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
  • 4. Media handling in Drupal 1. Media in Drupal core
  • 5. Media handling in Drupal Media in Drupal core • Drupal core modules: • Field + Field UI • File • Image • 5
  • 6. Media handling in Drupal Media in Drupal core • Basic file upload widget 6
  • 7. Media handling in Drupal Media in Drupal core • Image styles • Create image variants • Scale, crop, add effects, ... • a.k.a. Imagecache module in Drupal 6 • 7
  • 8. Media handling in Drupal 2. Media module
  • 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
  • 16. Media handling in Drupal Media module 16http://youtu.be/cSR0FCcIKsA
  • 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
  • 20. Media handling in Drupal 3. Scald module
  • 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
  • 25. Media handling in Drupal Scald module 25http://youtu.be/B8CyLFrvCTI
  • 26. Media handling in Drupal Scald module Demo: Youtube & Twitter providers 26
  • 27. Media handling in Drupal Scald module 27http://youtu.be/cuNVCoLp5ic
  • 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
  • 29. Media handling in Drupal 4. Asset module
  • 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
  • 32. Media handling in Drupal Asset module Demo: Asset module 32
  • 33. Media handling in Drupal Asset module 33http://youtu.be/0Ba0xiyKIQA
  • 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
  • 35. Media handling in Drupal 5. oEmbed
  • 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
  • 41. Media handling in Drupal oEmbed Demo: configuring oEmbed module 41
  • 42. Media handling in Drupal oEmbed 42http://youtu.be/kA-lMGmwQKs
  • 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