SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 

Kürzlich hochgeladen (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business 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