SlideShare une entreprise Scribd logo
1  sur  44
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

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 PanelsDavid Burns
 
Style guides in drupal development workflows
Style guides in drupal development workflowsStyle guides in drupal development workflows
Style guides in drupal development workflowsKalin Chernev
 
Beginner's guide to drupal
Beginner's guide to drupalBeginner's guide to drupal
Beginner's guide to drupalmayank.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 DrupalBalance 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 ConceptsMicky Metts
 
Content First – Planning Drupal Content Types
Content First – Planning Drupal Content TypesContent First – Planning Drupal Content Types
Content First – Planning Drupal Content TypesCarrie Hane
 
Deployer - Deployment tool for PHP
Deployer - Deployment tool for PHPDeployer - Deployment tool for PHP
Deployer - Deployment tool for PHPhernanibf
 
Introduction to Drupal
Introduction to DrupalIntroduction to Drupal
Introduction to Drupalsdmaxey
 
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 2017Michael Miles
 
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 MinutesAcquia
 
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 flexibilityhernanibf
 

Tendances (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
 

Similaire à 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 DevelopersIan 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.2Anil 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 IntroDrupalMumbai
 
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 DrupalEric Sembrat
 
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.0Rachel Wandishin
 
Introduction to Drupal
Introduction to DrupalIntroduction to Drupal
Introduction to DrupalTom 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 2013Robert Dickert
 
Inline elements. DrupalCamp Berlin 2014
Inline elements. DrupalCamp Berlin 2014Inline elements. DrupalCamp Berlin 2014
Inline elements. DrupalCamp Berlin 2014Yuriy 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 learnedNETNODE AG
 
Drupal 8 deeper dive
Drupal 8 deeper diveDrupal 8 deeper dive
Drupal 8 deeper diveAmazee 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 8Phase2
 
Open social: Case Studies - Taras Kruts
Open social: Case Studies - Taras KrutsOpen social: Case Studies - Taras Kruts
Open social: Case Studies - Taras KrutsDrupalCamp 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 PipelinesMatt 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 DistributionsMelissa Piper
 
DotNetNuke Seattle Users Group
DotNetNuke Seattle Users GroupDotNetNuke Seattle Users Group
DotNetNuke Seattle Users GroupScott McCulloch
 

Similaire à 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
 

Dernier

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 

Dernier (20)

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 

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